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]

Reply via email to