1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/libavdevice
Devin Heitmueller 8fd345f018 avdevice/decklink_enc: don't take for granted that first frame to decklink output will be PTS 0
The existing code assumed that the first frame received by the decklink
output would always be PTS zero.  However if running in other timing
modes than the default of CBR, items such as frame dropping at the
beginning may result in starting at a non-zero PTS.

For example, in our setup because we discard probing data and run
with "-vsync 2" the first video frame scheduled to the decklink
output will have a PTS around 170.  Scheduling frames too far into
the future will either fail or cause a backlog of frames scheduled
far enough into the future that the entire pipeline will stall.

Issue can be reproduced with the following command-line:

./ffmpeg -copyts -i foo.ts -f decklink -vcodec v210 -ac 2  'DeckLink Duo (4)'

Keep track of the PTS of the first frame received, so that when
we enable start playback we can provide that value to the decklink
driver.

Thanks to Marton Balint for review and suggestion to use
AV_NOPTS_VALUE rather than zero for the initial value.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-03-08 23:53:15 +01:00
..
tests
.gitignore
alldevices.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
alsa_dec.c
alsa_enc.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
alsa.c
alsa.h
android_camera.c
audiotoolbox.m avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
avdevice.c avdevice: remove FF_API_DEVICE_CAPABILITIES 2023-02-09 15:35:14 +01:00
avdevice.h avdevice: remove FF_API_DEVICE_CAPABILITIES 2023-02-09 15:35:14 +01:00
avdeviceres.rc
avfoundation.m avdevice/avfoundation: convert to new channel layout-API 2022-11-08 14:08:05 -03:00
bktr.c
caca.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
decklink_common_c.h
decklink_common.cpp
decklink_common.h avdevice/decklink_enc: don't take for granted that first frame to decklink output will be PTS 0 2023-03-08 23:53:15 +01:00
decklink_dec_c.c
decklink_dec.cpp
decklink_dec.h
decklink_enc_c.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
decklink_enc.cpp avdevice/decklink_enc: don't take for granted that first frame to decklink output will be PTS 0 2023-03-08 23:53:15 +01:00
decklink_enc.h
dshow_capture.h
dshow_common.c
dshow_crossbar.c
dshow_enummediatypes.c
dshow_enumpins.c
dshow_filter.c
dshow_pin.c
dshow.c
fbdev_common.c
fbdev_common.h
fbdev_dec.c
fbdev_enc.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
file_open.c
gdigrab.c
iec61883.c
internal.h
jack.c
kmsgrab.c
lavfi.c
libavdevice.v
libcdio.c
libdc1394.c
Makefile
openal-dec.c
opengl_enc_shaders.h
opengl_enc.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
oss_dec.c
oss_enc.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
oss.c
oss.h
pulse_audio_common.c
pulse_audio_common.h
pulse_audio_dec.c
pulse_audio_enc.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
reverse.c
sdl2.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
sndio_dec.c
sndio_enc.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
sndio.c
sndio.h
timefilter.c
timefilter.h
utils.c
v4l2-common.c
v4l2-common.h
v4l2.c
v4l2enc.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00
version_major.h Bump major versions of all libraries 2023-02-09 15:35:14 +01:00
version.c
version.h version.h: Bump minor post 6.0 branch 2023-02-19 18:37:36 +01:00
vfwcap.c
xcbgrab.c
xv.c avformat/avformat: Move AVOutputFormat internals out of public header 2023-02-09 15:24:15 +01:00