From ff2059afd90c46d7e1b0f92542b204accb408ffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Tue, 29 Sep 2026 23:00:58 +0200 Subject: [PATCH] tests/fate/dashenc: add a test for a large init segment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The MPD points the DASH demuxer at an fMP4 init segment of about 50 KB with 100 audio tracks, which the HLS muxer writes. Signed-off-by: Kacper Michajłow --- tests/fate/dashenc.mak | 19 +++++++++++++++++++ tests/ref/fate/dash-big-init | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 tests/ref/fate/dash-big-init diff --git a/tests/fate/dashenc.mak b/tests/fate/dashenc.mak index df9571f0b4..a1c00e7402 100644 --- a/tests/fate/dashenc.mak +++ b/tests/fate/dashenc.mak @@ -24,5 +24,24 @@ fate-dash-mpd-timing: tests/data/dash_mpd_timing.mpd fate-dash-mpd-timing: CMD = sed -n -e /suggestedPresentationDelay=/p -e /availabilityStartTime=/p $(TARGET_PATH)/tests/data/dash_mpd_timing.mpd fate-dash-mpd-timing: CMP = diff +tests/data/dash_big_init.mpd: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ + -filter_complex "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=2:s=16000,asplit=100" \ + -codec:a mp2fixed -b:a 8k -bitexact -f hls -hls_time 1 -hls_list_size 0 \ + -hls_segment_type fmp4 -hls_fmp4_init_filename dash_big_init.mp4 \ + -hls_segment_filename $(TARGET_PATH)/tests/data/dash_big_init_%d.m4s \ + $(TARGET_PATH)/tests/data/dash_big_init.m3u8 2>/dev/null + $(Q)printf '%s\n' \ + '' \ + '' \ + '' \ + '' \ + '' > $@ + +FATE_DASHENC_LAVFI-$(call ALLYES, AEVALSRC_FILTER ASPLIT_FILTER ARESAMPLE_FILTER MP2FIXED_ENCODER HLS_MUXER MP4_MUXER DASH_DEMUXER MOV_DEMUXER MP3_DECODER FILE_PROTOCOL FRAMECRC_MUXER PIPE_PROTOCOL) += fate-dash-big-init +fate-dash-big-init: tests/data/dash_big_init.mpd +fate-dash-big-init: CLEANFILES = tests/data/dash_big_init.mpd tests/data/dash_big_init.m3u8 tests/data/dash_big_init.mp4 tests/data/dash_big_init_*.m4s +fate-dash-big-init: CMD = framecrc -i $(TARGET_PATH)/tests/data/dash_big_init.mpd -map 0:a:99 -c copy + FATE_FFMPEG += $(FATE_DASHENC_LAVFI-yes) fate-dashenc: $(FATE_DASHENC_LAVFI-yes) diff --git a/tests/ref/fate/dash-big-init b/tests/ref/fate/dash-big-init new file mode 100644 index 0000000000..07a81414c6 --- /dev/null +++ b/tests/ref/fate/dash-big-init @@ -0,0 +1,33 @@ +#tb 0: 1/16000 +#media_type 0: audio +#codec_id 0: mp3 +#sample_rate 0: 16000 +#channel_layout_name 0: mono +0, 0, 0, 1152, 72, 0x40951fab +0, 1152, 1152, 1152, 72, 0xea491bfe +0, 2304, 2304, 1152, 72, 0xdfe01d11 +0, 3456, 3456, 1152, 72, 0xd1e91c49 +0, 4608, 4608, 1152, 72, 0xd55e1db0 +0, 5760, 5760, 1152, 72, 0x21901f6a +0, 6912, 6912, 1152, 72, 0xd6491d39 +0, 8064, 8064, 1152, 72, 0xaf081c07 +0, 9216, 9216, 1152, 72, 0x7aa61ab3 +0, 10368, 10368, 1152, 72, 0xc5ad1c08 +0, 11520, 11520, 1152, 72, 0x643f2013 +0, 12672, 12672, 1152, 72, 0xb12a1bd3 +0, 13824, 13824, 1152, 72, 0xa7de1caa +0, 14976, 14976, 1152, 72, 0x00111dcc +0, 16128, 16128, 1152, 72, 0xf7941ca0 +0, 17280, 17280, 1152, 72, 0xe8391df8 +0, 18432, 18432, 1152, 72, 0x541c191d +0, 19584, 19584, 1152, 72, 0xeba51d36 +0, 20736, 20736, 1152, 72, 0x02cb1bc1 +0, 21888, 21888, 1152, 72, 0xa6fb1b52 +0, 23040, 23040, 1152, 72, 0xaae718e1 +0, 24192, 24192, 1152, 72, 0x09c11c28 +0, 25344, 25344, 1152, 72, 0xdbea1ae2 +0, 26496, 26496, 1152, 72, 0xbd111bb2 +0, 27648, 27648, 1152, 72, 0x9f301d31 +0, 28800, 28800, 1152, 72, 0xbe3c1ac6 +0, 29952, 29952, 1152, 72, 0x3cdd1fb6 +0, 31104, 31104, 1152, 72, 0x278e1725