qtdemux: Under-seeking to a key unit in certain (encoded by Adobe products) ProRes movies (macOS x86_64 & arm64, Windows x86_64, …)
Reproduce: (for macOS)
- Build the attached
do.cpp
source file (essentially, the same code as in #1730 (closed)) byclang++
with GStreamer v1.22.4 as noted in the file's top comment (nothing special, just substitute the real path to theGStreamer.framework
— the output binary will be./a.out
). - Put the bridge_timecode_framenumbers_5frames.mov video file to the current directory.
- Launch the built program as follows:
./a.out bridge_timecode_framenumbers_5frames.mov ; echo $?
— it will output how many frames a seek to the nearest key unit spanned.
Expected: the output is 1
as ProRes is an I-frame-only format.
Actual: the output is 0
which means that GStreamer did not seek over the next frame.
Note: the issue reproduces both in Windows (tested on x86_64 in Windows 10.0.19045.2604) and on macOS: on x86_64 (tested in macOS 11.7.7) and on arm64 (tested on M1 Mini 2020 in macOS 12.6.7).