summaryrefslogtreecommitdiff
path: root/libavdevice
diff options
context:
space:
mode:
authorThilo Borgmann <thilo.borgmann@mail.de>2020-01-19 17:36:21 +0100
committerThilo Borgmann <thilo.borgmann@mail.de>2020-02-07 11:09:20 +0100
commit2ca14d84eefd3178822d59347f8978d93230f54c (patch)
tree37d434af49dcc1968c72e20e19e186a77e690d4f /libavdevice
parent343ccfcc4deb2257e1525f05284e6343816a91cc (diff)
lavd/avfoundation.m: Add an option to drop late frames.
Retains current behaviour by the default value.
Diffstat (limited to 'libavdevice')
-rw-r--r--libavdevice/avfoundation.m4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
index af8fe31367..0d854a18a3 100644
--- a/libavdevice/avfoundation.m
+++ b/libavdevice/avfoundation.m
@@ -98,6 +98,7 @@ typedef struct
int capture_cursor;
int capture_mouse_clicks;
int capture_raw_data;
+ int drop_late_frames;
int video_is_muxed;
int list_devices;
@@ -496,7 +497,7 @@ static int add_video_device(AVFormatContext *s, AVCaptureDevice *video_device)
[ctx->video_output setVideoSettings:capture_dict];
}
- [ctx->video_output setAlwaysDiscardsLateVideoFrames:YES];
+ [ctx->video_output setAlwaysDiscardsLateVideoFrames:ctx->drop_late_frames];
ctx->avf_delegate = [[AVFFrameReceiver alloc] initWithContext:ctx];
@@ -1135,6 +1136,7 @@ static const AVOption options[] = {
{ "capture_cursor", "capture the screen cursor", offsetof(AVFContext, capture_cursor), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM },
{ "capture_mouse_clicks", "capture the screen mouse clicks", offsetof(AVFContext, capture_mouse_clicks), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM },
{ "capture_raw_data", "capture the raw data from device connection", offsetof(AVFContext, capture_raw_data), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM },
+ { "drop_late_frames", "drop frames that are available later than expected", offsetof(AVFContext, drop_late_frames), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
};