Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThilo Borgmann <thilo.borgmann@mail.de>2014-10-27 17:20:27 +0300
committerMichael Niedermayer <michaelni@gmx.at>2014-10-27 18:38:19 +0300
commited2e97ce6a7a3dbd55174cf390ea8f010094b366 (patch)
tree54892cdf0f9210f295eb8e9dbf56865d73312d8d /libavdevice/avfoundation.m
parent852aaead1fc294bcb63a1f9e384e781f6e51ded6 (diff)
lavd/avfoundation: Fix compilation for non MAC OS devices by conditional compilation of screen capture capabilities.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavdevice/avfoundation.m')
-rw-r--r--libavdevice/avfoundation.m8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
index 75c62ed263..5e5f70b5a8 100644
--- a/libavdevice/avfoundation.m
+++ b/libavdevice/avfoundation.m
@@ -535,7 +535,9 @@ static int avf_read_header(AVFormatContext *s)
pthread_mutex_init(&ctx->frame_lock, NULL);
pthread_cond_init(&ctx->frame_wait_cond, NULL);
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
CGGetActiveDisplayList(0, NULL, &num_screens);
+#endif
// List devices if requested
if (ctx->list_devices) {
@@ -548,6 +550,7 @@ static int avf_read_header(AVFormatContext *s)
av_log(ctx, AV_LOG_INFO, "[%d] %s\n", index, name);
index++;
}
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
if (num_screens > 0) {
CGDirectDisplayID screens[num_screens];
CGGetActiveDisplayList(num_screens, screens, &num_screens);
@@ -555,6 +558,7 @@ static int avf_read_header(AVFormatContext *s)
av_log(ctx, AV_LOG_INFO, "[%d] Capture screen %d\n", index + i, i);
}
}
+#endif
av_log(ctx, AV_LOG_INFO, "AVFoundation audio devices:\n");
devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio];
@@ -588,10 +592,12 @@ static int avf_read_header(AVFormatContext *s)
if (ctx->video_device_index < ctx->num_video_devices) {
video_device = [video_devices objectAtIndex:ctx->video_device_index];
} else if (ctx->video_device_index < ctx->num_video_devices + num_screens) {
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
CGDirectDisplayID screens[num_screens];
CGGetActiveDisplayList(num_screens, screens, &num_screens);
AVCaptureScreenInput* capture_screen_input = [[[AVCaptureScreenInput alloc] initWithDisplayID:screens[ctx->video_device_index - ctx->num_video_devices]] autorelease];
video_device = (AVCaptureDevice*) capture_screen_input;
+#endif
} else {
av_log(ctx, AV_LOG_ERROR, "Invalid device index\n");
goto fail;
@@ -606,6 +612,7 @@ static int avf_read_header(AVFormatContext *s)
}
}
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
// looking for screen inputs
if (!video_device) {
int idx;
@@ -617,6 +624,7 @@ static int avf_read_header(AVFormatContext *s)
ctx->video_device_index = ctx->num_video_devices + idx;
}
}
+#endif
if (!video_device) {
av_log(ctx, AV_LOG_ERROR, "Video device not found\n");