FFmpeg/libavdevice
Diederick Niehorster 7dc33aad45 avdevice/dshow: implement option to use device video timestamps
The dshow avdevice ignores timestamps for video frames provided by the
DirectShow device, instead using wallclock time, apparently because the
implementer of this code had a device that provided unreliable
timestamps. Me (and others) would like to use the device's timestamps.
The new use_video_device_timestamps option for dshow device enables them
to do so. Since the majority of video devices out there probably provide
fine timestamps, this patch sets the default to using the device
timestamps, which means best fidelity timestamps are used by default.
Using the new option, the user can switch this off and revert to the old
behavior, so a fall back remains available in case the device provides
broken timestamps.

add use_video_device_timestamps to docs.

Closes: #8620

Signed-off-by: Diederick Niehorster <dcnieho@gmail.com>
Reviewed-by: Roger Pack <rogerdpack2@gmail.com>
2021-12-24 14:06:06 +05:30
..
tests Merge commit '93fed46a92' 2017-03-19 16:08:27 +01:00
.gitignore lavfi,lavd: add gitignore for generated static component lists 2018-04-05 22:08:53 +01:00
alldevices.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
alsa.c avdevice/alsa_dec: make sure we have enough data in non-blocking mode 2021-03-12 23:55:30 +01:00
alsa.h avdevice/alsa_dec: make sure we have enough data in non-blocking mode 2021-03-12 23:55:30 +01:00
alsa_dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
alsa_enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
android_camera.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
audiotoolbox.m avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
avdevice.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
avdevice.h avdevice/avdevice: Constify av_*_device_next API 2021-04-27 10:43:14 -03:00
avdeviceres.rc
avfoundation.m libavdevice/avfoundation.m: fix potential unreleased lock issue 2021-09-17 15:31:40 +02:00
bktr.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
caca.c avdevice/caca: Don't free AVOpt-enabled string manually 2021-10-09 14:18:12 +02:00
decklink_common.cpp avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
decklink_common.h avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
decklink_common_c.h avdevice/decklink: add level_a configuration option 2021-08-16 10:00:39 +08:00
decklink_dec.cpp avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
decklink_dec.h libavdevice/decklink: add support for -sources and -sinks arguments 2017-10-10 20:07:25 +02:00
decklink_dec_c.c avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
decklink_enc.cpp avdevice/decklink: add link configuration option 2021-08-16 10:00:39 +08:00
decklink_enc.h libavdevice/decklink: add support for -sources and -sinks arguments 2017-10-10 20:07:25 +02:00
decklink_enc_c.c avdevice/decklink: support for more duplex mode for Decklink 8K Pro 2021-08-16 10:00:39 +08:00
dshow.c avdevice/dshow: implement option to use device video timestamps 2021-12-24 14:06:06 +05:30
dshow_capture.h avdevice/dshow: implement option to use device video timestamps 2021-12-24 14:06:06 +05:30
dshow_common.c
dshow_crossbar.c lavd/dshow: Add namespace prefix to global functions 2021-01-21 20:02:23 -03:00
dshow_enummediatypes.c avdevice/dshow: Add namespace prefix to the remaining global symbols 2021-01-25 19:31:11 -03:00
dshow_enumpins.c avdevice/dshow: Add namespace prefix to the remaining global symbols 2021-01-25 19:31:11 -03:00
dshow_filter.c avdevice/dshow: Add namespace prefix to the remaining global symbols 2021-01-25 19:31:11 -03:00
dshow_pin.c avdevice/dshow: implement option to use device video timestamps 2021-12-24 14:06:06 +05:30
fbdev_common.c Merge commit '87f98a2b9d' 2015-07-11 12:25:03 +02:00
fbdev_common.h
fbdev_dec.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
fbdev_enc.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
file_open.c
gdigrab.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
iec61883.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
internal.h avformat: Constify the API wrt AV(In|Out)putFormat 2021-04-27 10:43:08 -03:00
jack.c lavd/jack: increase buffer size for snprintf() 2021-12-07 11:16:14 +01:00
kmsgrab.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
lavfi.c avdevice/lavfi: Don't require AV_PIX_FMT_NONE == -1 2021-12-03 17:01:24 +01:00
libavdevice.v Merge commit '535a742c26' 2016-06-27 17:56:47 +02:00
libcdio.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
libdc1394.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
Makefile lavdevice: Add AudioToolbox output device. 2020-06-15 15:09:33 +02:00
openal-dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
opengl_enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
opengl_enc_shaders.h all: Make header guard names consistent 2016-01-31 15:44:11 -08:00
oss.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
oss.h Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
oss_dec.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
oss_enc.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
pulse_audio_common.c avdevice/pulse_audio_common: Use av_freep(), avoid leaving stale pointers 2014-11-21 18:02:01 +01:00
pulse_audio_common.h avdevice/pulse_audio_common: add av_warn_unused_result 2015-10-22 19:03:50 -04:00
pulse_audio_dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
pulse_audio_enc.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
reverse.c avdevice: make ff_reverse available on shared builds 2017-07-20 00:33:29 -03:00
sdl2.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
sndio.c Merge commit '8d26c193fb' 2015-04-09 21:36:42 +02:00
sndio.h Merge commit '8d26c193fb' 2015-04-09 21:36:42 +02:00
sndio_dec.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
sndio_enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
timefilter.c Merge commit 'd12b5b2f13' 2016-05-11 19:13:03 +01:00
timefilter.h avdevice/timefilter: remove obsolete comments from the docs 2021-02-27 21:30:41 +01:00
utils.c avformat: Constify the API wrt AV(In|Out)putFormat 2021-04-27 10:43:08 -03:00
v4l2-common.c lavd/v4l2-common: Add an entry for Z16. 2019-03-22 12:30:47 +01:00
v4l2-common.h Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
v4l2.c lavd/v4l2: detect device name truncation 2021-12-07 11:16:14 +01:00
v4l2enc.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
version.h */version.h: define FF_API macros unconditionally 2021-11-15 16:24:58 +01:00
vfwcap.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
xcbgrab.c av(codec|device): Don't cast pointers to int 2021-11-21 00:35:30 +01:00
xv.c avdevice/xv: Increase array size 2021-10-09 13:24:38 +02:00