This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit a4dbdc7333e86ce7747bc2d85708cc50e0437568 Author: Romain Beauxis <[email protected]> AuthorDate: Sat Oct 17 06:31:39 2026 +0200 Commit: Romain Beauxis <[email protected]> CommitDate: Thu Oct 22 02:51:14 2026 +0000 fate/libavformat: add hls-parse tests A Master Playlist carrying EXT-X-START before its variants is rejected with "Master Playlist tag found in a Media Playlist", as recorded in the master-start references. The media-start-endlist and master-media-start cases record behaviour that must be kept: an EXT-X-ENDLIST following EXT-X-START, and a start offset carried only by a Media Playlist. --- tests/fate/libavformat.mak | 43 ++++++++++++++++++++++++++ tests/ref/fate/hls-parse-master-media-start | 3 ++ tests/ref/fate/hls-parse-master-start | 1 + tests/ref/fate/hls-parse-master-start-media | 1 + tests/ref/fate/hls-parse-master-start-override | 1 + tests/ref/fate/hls-parse-media-start | 2 ++ tests/ref/fate/hls-parse-media-start-endlist | 2 ++ 7 files changed, 53 insertions(+) diff --git a/tests/fate/libavformat.mak b/tests/fate/libavformat.mak index 45878891fd..6459057a31 100644 --- a/tests/fate/libavformat.mak +++ b/tests/fate/libavformat.mak @@ -64,6 +64,49 @@ FATE_LIBAVFORMAT-yes += fate-url fate-url: libavformat/tests/url$(EXESUF) fate-url: CMD = run libavformat/tests/url$(EXESUF) +tests/data/hls-parse-master.m3u8: TAG = GEN +tests/data/hls-parse-master.m3u8: | tests/data + $(Q)printf '#EXTM3U\n#EXT-X-STREAM-INF:BANDWIDTH=64000\na.m3u8\n#EXT-X-STREAM-INF:BANDWIDTH=32000\nb.m3u8\n' > $@ + +tests/data/hls-parse-master-start.m3u8: TAG = GEN +tests/data/hls-parse-master-start.m3u8: | tests/data + $(Q)printf '#EXTM3U\n#EXT-X-START:TIME-OFFSET=1.5\n#EXT-X-STREAM-INF:BANDWIDTH=64000\na.m3u8\n#EXT-X-STREAM-INF:BANDWIDTH=32000\nb.m3u8\n' > $@ + +tests/data/hls-parse-media.m3u8: TAG = GEN +tests/data/hls-parse-media.m3u8: | tests/data + $(Q)printf '#EXTM3U\n#EXT-X-TARGETDURATION:2\n#EXTINF:2,\nseg0.ts\n#EXTINF:2,\nseg1.ts\n#EXTINF:2,\nseg2.ts\n' > $@ + +tests/data/hls-parse-media-start.m3u8: TAG = GEN +tests/data/hls-parse-media-start.m3u8: | tests/data + $(Q)printf '#EXTM3U\n#EXT-X-START:TIME-OFFSET=4\n#EXT-X-TARGETDURATION:2\n#EXTINF:2,\nseg0.ts\n#EXTINF:2,\nseg1.ts\n#EXTINF:2,\nseg2.ts\n' > $@ + +tests/data/hls-parse-media-start-endlist.m3u8: TAG = GEN +tests/data/hls-parse-media-start-endlist.m3u8: | tests/data + $(Q)printf '#EXTM3U\n#EXT-X-START:TIME-OFFSET=4\n#EXT-X-ENDLIST\n#EXT-X-TARGETDURATION:2\n#EXTINF:2,\nseg0.ts\n#EXTINF:2,\nseg1.ts\n#EXTINF:2,\nseg2.ts\n' > $@ + +FATE_HLS_PARSE = fate-hls-parse-media-start \ + fate-hls-parse-media-start-endlist \ + fate-hls-parse-master-start \ + fate-hls-parse-master-start-media \ + fate-hls-parse-master-start-override \ + fate-hls-parse-master-media-start + +$(FATE_HLS_PARSE): libavformat/tests/hls$(EXESUF) +fate-hls-parse-media-start: tests/data/hls-parse-media-start.m3u8 +fate-hls-parse-media-start: CMD = run libavformat/tests/hls$(EXESUF) $(TARGET_PATH)/tests/data/hls-parse-media-start.m3u8 +fate-hls-parse-media-start-endlist: tests/data/hls-parse-media-start-endlist.m3u8 +fate-hls-parse-media-start-endlist: CMD = run libavformat/tests/hls$(EXESUF) $(TARGET_PATH)/tests/data/hls-parse-media-start-endlist.m3u8 +fate-hls-parse-master-start: tests/data/hls-parse-master-start.m3u8 +fate-hls-parse-master-start: CMD = run libavformat/tests/hls$(EXESUF) $(TARGET_PATH)/tests/data/hls-parse-master-start.m3u8 +fate-hls-parse-master-start-media: tests/data/hls-parse-master-start.m3u8 tests/data/hls-parse-media.m3u8 +fate-hls-parse-master-start-media: CMD = run libavformat/tests/hls$(EXESUF) $(TARGET_PATH)/tests/data/hls-parse-master-start.m3u8 $(TARGET_PATH)/tests/data/hls-parse-media.m3u8 +fate-hls-parse-master-start-override: tests/data/hls-parse-master-start.m3u8 tests/data/hls-parse-media-start.m3u8 +fate-hls-parse-master-start-override: CMD = run libavformat/tests/hls$(EXESUF) $(TARGET_PATH)/tests/data/hls-parse-master-start.m3u8 $(TARGET_PATH)/tests/data/hls-parse-media-start.m3u8 +fate-hls-parse-master-media-start: tests/data/hls-parse-master.m3u8 tests/data/hls-parse-media-start.m3u8 +fate-hls-parse-master-media-start: CMD = run libavformat/tests/hls$(EXESUF) $(TARGET_PATH)/tests/data/hls-parse-master.m3u8 $(TARGET_PATH)/tests/data/hls-parse-media-start.m3u8 + +FATE_LIBAVFORMAT-$(call ALLYES, HLS_DEMUXER FILE_PROTOCOL) += $(FATE_HLS_PARSE) + FATE_LIBAVFORMAT-$(CONFIG_IMF_DEMUXER) += fate-imf fate-imf: libavformat/tests/imf$(EXESUF) fate-imf: CMD = run libavformat/tests/imf$(EXESUF) diff --git a/tests/ref/fate/hls-parse-master-media-start b/tests/ref/fate/hls-parse-master-media-start new file mode 100644 index 0000000000..5bce43afa9 --- /dev/null +++ b/tests/ref/fate/hls-parse-master-media-start @@ -0,0 +1,3 @@ +2 variant(s), 2 playlist(s) +a.m3u8: live, start offset 4000000 +b.m3u8: live, no start offset diff --git a/tests/ref/fate/hls-parse-master-start b/tests/ref/fate/hls-parse-master-start new file mode 100644 index 0000000000..401c7af49d --- /dev/null +++ b/tests/ref/fate/hls-parse-master-start @@ -0,0 +1 @@ +error: Invalid data found when processing input diff --git a/tests/ref/fate/hls-parse-master-start-media b/tests/ref/fate/hls-parse-master-start-media new file mode 100644 index 0000000000..401c7af49d --- /dev/null +++ b/tests/ref/fate/hls-parse-master-start-media @@ -0,0 +1 @@ +error: Invalid data found when processing input diff --git a/tests/ref/fate/hls-parse-master-start-override b/tests/ref/fate/hls-parse-master-start-override new file mode 100644 index 0000000000..401c7af49d --- /dev/null +++ b/tests/ref/fate/hls-parse-master-start-override @@ -0,0 +1 @@ +error: Invalid data found when processing input diff --git a/tests/ref/fate/hls-parse-media-start b/tests/ref/fate/hls-parse-media-start new file mode 100644 index 0000000000..d007477fa2 --- /dev/null +++ b/tests/ref/fate/hls-parse-media-start @@ -0,0 +1,2 @@ +1 variant(s), 1 playlist(s) +hls-parse-media-start.m3u8: live, start offset 4000000 diff --git a/tests/ref/fate/hls-parse-media-start-endlist b/tests/ref/fate/hls-parse-media-start-endlist new file mode 100644 index 0000000000..ba15ebb74f --- /dev/null +++ b/tests/ref/fate/hls-parse-media-start-endlist @@ -0,0 +1,2 @@ +1 variant(s), 1 playlist(s) +hls-parse-media-start-endlist.m3u8: finished, start offset 4000000 -- 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]
