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
.gitignore
Makefile
alldevices.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
alsa.c
alsa.h
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
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
decklink_dec.h
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
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
dshow_enummediatypes.c
dshow_enumpins.c
dshow_filter.c
dshow_pin.c avdevice/dshow: implement option to use device video timestamps 2021-12-24 14:06:06 +05:30
fbdev_common.c
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
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
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
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
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
pulse_audio_common.h
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
sdl2.c avdevice: Constify all devices 2021-04-27 11:48:05 -03:00
sndio.c
sndio.h
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
timefilter.h
utils.c
v4l2-common.c
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