This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 0aceb38155ec576050f307625bb981f295298742 Author: Romain Beauxis <[email protected]> AuthorDate: Mon Nov 2 23:42:14 2026 -0600 Commit: Romain Beauxis <[email protected]> CommitDate: Wed Nov 4 13:19:26 2026 +0000 tests/fate/mov: seek in a fragmented file with a chapter track Mux the chapters of vorbis_chapter_extension_demo.ogg with generated audio and B-frame video into a fragmented MP4, then seek to 8 s with use_mfra_for=pts and read 40 packets across one fragment boundary. The reference records the current behaviour, where the read starts at 2 s without audio because the chapter track's seek leaves the fragment index on the first fragment. --- tests/fate/mov.mak | 10 +++++ tests/ref/fate/mov-mp4-frag-chapters-seek | 61 +++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak index e467acdafb..8a2249dd50 100644 --- a/tests/fate/mov.mak +++ b/tests/fate/mov.mak @@ -203,6 +203,16 @@ FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call REMUX, MP4 MOV, OGG_DEMUXER VORBIS_DECODE += fate-mov-mp4-chapters fate-mov-mp4-chapters: CMD = transcode ogg $(TARGET_SAMPLES)/vorbis/vorbis_chapter_extension_demo.ogg mp4 "-c copy" "-c copy -t 0.1" "-show_chapters" +# Seek in a fragmented file with a chapter track: the chapter track's samples +# all sit in the first fragment, and its own seek must not send the read +# position of the seeked video stream back there. +FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call TRANSCODE, MPEG4, MP4 MOV, OGG_DEMUXER VORBIS_DECODER TESTSRC2_FILTER FORMAT_FILTER SINE_FILTER) \ + += fate-mov-mp4-frag-chapters-seek +fate-mov-mp4-frag-chapters-seek: CMD = transcode ogg $(TARGET_SAMPLES)/vorbis/vorbis_chapter_extension_demo.ogg mp4 \ + "-filter_complex testsrc2=size=64x64:rate=25:duration=12,format=yuv420p[v] -filter_complex sine=d=12[a] -map [v] -map [a] -map_chapters 0 -c:v mpeg4 -c:a pcm_s16le -g 60 -bf 2 -movflags frag_keyframe -frag_duration 1000000" \ + "-c copy -t 0.1" \ + "-use_mfra_for pts -read_intervals 8%+\#40 -show_entries packet=stream_index,pts,dts,pos -print_format compact" + FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call TRANSCODE, PNG, MP4 MOV, MJPEG_DECODER SCALE_FILTER) \ += fate-mov-cover-image fate-mov-cover-image: CMD = transcode mov $(TARGET_SAMPLES)/cover_art/Owner-iTunes_9.0.3.15.m4a mp4 "-map 0 -map 0:v -c:a copy -c:v:0 copy -filter:v:1 scale -c:v:1 png" "-map 0 -t 0.1 -c copy" "-show_entries stream_disposition=attached_pic:stream=index,codec_name" diff --git a/tests/ref/fate/mov-mp4-frag-chapters-seek b/tests/ref/fate/mov-mp4-frag-chapters-seek new file mode 100644 index 0000000000..efe720ef6a --- /dev/null +++ b/tests/ref/fate/mov-mp4-frag-chapters-seek @@ -0,0 +1,61 @@ +76aed9319dda2a96839a9d1fe1ae52cb *tests/data/fate/mov-mp4-frag-chapters-seek.mp4 +1363303 tests/data/fate/mov-mp4-frag-chapters-seek.mp4 +#extradata 0: 31, 0x64c405ed +#tb 0: 1/12800 +#media_type 0: video +#codec_id 0: mpeg4 +#dimensions 0: 64x64 +#sar 0: 1/1 +#tb 1: 1/44100 +#media_type 1: audio +#codec_id 1: pcm_s16le +#sample_rate 1: 44100 +#channel_layout_name 1: mono +0, 0, 512, 512, 2863, 0x2d06080c +1, 0, 0, 1024, 2048, 0x2096f45b +1, 1024, 1024, 1024, 2048, 0x2262f6ec +0, 512, 2048, 512, 1808, 0x88473439, F=0x0 +1, 2048, 2048, 1024, 2048, 0xaa83fe05 +1, 3072, 3072, 1024, 2048, 0x487e06b5 +0, 1024, 1024, 512, 829, 0x46b18019, F=0x0 +1, 4096, 4096, 1024, 2048, 0xb0abfcca +packet|stream_index=0|pts=25600|dts=25600|pos=236536 +packet|stream_index=0|pts=26112|dts=26112|pos=237272 +packet|stream_index=0|pts=28160|dts=26624|pos=238079 +packet|stream_index=0|pts=27136|dts=27136|pos=239352 +packet|stream_index=0|pts=27648|dts=27648|pos=240188 +packet|stream_index=0|pts=29696|dts=28160|pos=241118 +packet|stream_index=0|pts=28672|dts=28672|pos=242466 +packet|stream_index=0|pts=29184|dts=29184|pos=243607 +packet|stream_index=0|pts=31232|dts=29696|pos=273736 +packet|stream_index=0|pts=30208|dts=30208|pos=276635 +packet|stream_index=0|pts=30720|dts=30720|pos=277656 +packet|stream_index=0|pts=32768|dts=31232|pos=278485 +packet|stream_index=0|pts=31744|dts=31744|pos=279502 +packet|stream_index=0|pts=32256|dts=32256|pos=280107 +packet|stream_index=0|pts=34304|dts=32768|pos=280520 +packet|stream_index=0|pts=33280|dts=33280|pos=281788 +packet|stream_index=0|pts=33792|dts=33792|pos=282441 +packet|stream_index=0|pts=35840|dts=34304|pos=282996 +packet|stream_index=0|pts=34816|dts=34816|pos=284827 +packet|stream_index=0|pts=35328|dts=35328|pos=285896 +packet|stream_index=0|pts=37376|dts=35840|pos=286902 +packet|stream_index=0|pts=36352|dts=36352|pos=288215 +packet|stream_index=0|pts=36864|dts=36864|pos=288973 +packet|stream_index=0|pts=38912|dts=37376|pos=289697 +packet|stream_index=0|pts=37888|dts=37888|pos=290988 +packet|stream_index=0|pts=38400|dts=38400|pos=291953 +packet|stream_index=0|pts=40448|dts=38912|pos=292850 +packet|stream_index=0|pts=39424|dts=39424|pos=294160 +packet|stream_index=0|pts=39936|dts=39936|pos=295139 +packet|stream_index=0|pts=41984|dts=40448|pos=296050 +packet|stream_index=0|pts=40960|dts=40960|pos=297337 +packet|stream_index=0|pts=41472|dts=41472|pos=298167 +packet|stream_index=0|pts=43520|dts=41984|pos=298944 +packet|stream_index=0|pts=42496|dts=42496|pos=388626 +packet|stream_index=0|pts=43008|dts=43008|pos=389534 +packet|stream_index=0|pts=45056|dts=43520|pos=390336 +packet|stream_index=0|pts=44032|dts=44032|pos=391448 +packet|stream_index=0|pts=44544|dts=44544|pos=392241 +packet|stream_index=0|pts=46592|dts=45056|pos=392933 +packet|stream_index=0|pts=45568|dts=45568|pos=394492 -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
