1
0
mirror of https://git.ffmpeg.org/ffmpeg.git synced 2026-10-24 02:09:03 +03:00

tests/fate/mov: add a test for IAMF stream group id collisions

Mux two IAMF audio elements with ids 1 and 2 and a mix presentation with
id 1 into mp4, then demux and probe the result. Without the previous
commit the mov demuxer aborts on an assertion when reading this file.

Signed-off-by: Martin Mirchev <mmirchev@comp.nus.edu.sg>
This commit is contained in:
Martin Mirchev
2026-10-21 19:01:48 +08:00
committed by James Almer
parent 6dba2558c0
commit 4bef4614fe
4 changed files with 99 additions and 0 deletions

View File

@@ -483,6 +483,17 @@ fate-mov-mp4-iamf-stereo: CMD = transcode wav $(SRC) mp4 " \
-streamid 0:0 -c:a flac -t 1" "-c:a copy -map 0" \
"-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
# Two audio elements and a mix presentation whose id equals the id of the first audio element.
FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MP4 MOV, WAV_DEMUXER PCM_S16LE_DECODER IAMFENC IAMFDEC) += fate-mov-mp4-iamf-stereo-id-collision
fate-mov-mp4-iamf-stereo-id-collision: tests/data/asynth-44100-2.wav tests/data/streamgroups/audio_element-stereo tests/data/streamgroups/audio_element-stereo-2 tests/data/streamgroups/mix_presentation-stereo-id-1
fate-mov-mp4-iamf-stereo-id-collision: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
fate-mov-mp4-iamf-stereo-id-collision: CMD = transcode wav $(SRC) mp4 " \
-/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-stereo \
-/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-stereo-2 \
-/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-stereo-id-1 \
-map 0:a -map 0:a -streamid 0:0 -streamid 1:1 -c:a flac -t 1" "-c:a copy -map 0" \
"-show_entries stream_group=index,id,nb_streams,type:stream_group_stream=index,id:stream=index,id,duration_ts"
FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, FLAC, MP4 MOV, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER) += fate-mov-mp4-iamf-5_1_4
fate-mov-mp4-iamf-5_1_4: tests/data/asynth-44100-10.wav tests/data/filtergraphs/iamf_5_1_4 tests/data/streamgroups/audio_element-5_1_4 tests/data/streamgroups/mix_presentation-5_1_4
fate-mov-mp4-iamf-5_1_4: SRC = $(TARGET_PATH)/tests/data/asynth-44100-10.wav

View File

@@ -0,0 +1,84 @@
70db394605b10ad0ae367fd93eca5d77 *tests/data/fate/mov-mp4-iamf-stereo-id-collision.mp4
29290 tests/data/fate/mov-mp4-iamf-stereo-id-collision.mp4
#extradata 0: 34, 0xa77c0cd6
#extradata 1: 34, 0xa77c0cd6
#tb 0: 1/44100
#media_type 0: audio
#codec_id 0: flac
#sample_rate 0: 44100
#channel_layout_name 0: stereo
#tb 1: 1/44100
#media_type 1: audio
#codec_id 1: flac
#sample_rate 1: 44100
#channel_layout_name 1: stereo
0, 0, 0, 4096, 1323, 0xb9bc0f9a
1, 0, 0, 4096, 1323, 0xb9bc0f9a
0, 4096, 4096, 4096, 1254, 0xf7e910bc
1, 4096, 4096, 4096, 1254, 0xf7e910bc
0, 8192, 8192, 4096, 1320, 0xe4fe09c9
1, 8192, 8192, 4096, 1320, 0xe4fe09c9
0, 12288, 12288, 4096, 1280, 0x22e9127e
1, 12288, 12288, 4096, 1280, 0x22e9127e
0, 16384, 16384, 4096, 1331, 0x8bc61bbf
1, 16384, 16384, 4096, 1331, 0x8bc61bbf
0, 20480, 20480, 4096, 1267, 0x2c4708fa
1, 20480, 20480, 4096, 1267, 0x2c4708fa
0, 24576, 24576, 4096, 1282, 0x0438152d
1, 24576, 24576, 4096, 1282, 0x0438152d
0, 28672, 28672, 4096, 1313, 0x2e79ffa2
1, 28672, 28672, 4096, 1313, 0x2e79ffa2
0, 32768, 32768, 4096, 1323, 0xb9f70fce
1, 32768, 32768, 4096, 1323, 0xb9f70fce
0, 36864, 36864, 4096, 1254, 0xf6f01051
1, 36864, 36864, 4096, 1254, 0xf6f01051
0, 40960, 40960, 4096, 1235, 0xcf181f77, S=1, Skip Samples, 10, 0x047700bf
1, 40960, 40960, 4096, 1235, 0xcf181f77, S=1, Skip Samples, 10, 0x047700bf
[STREAM_GROUP]
index=0
id=0x1
nb_streams=1
type=IAMF Audio Element
[STREAM]
index=0
id=0x0
duration_ts=44100
[/STREAM]
[/STREAM_GROUP]
[STREAM_GROUP]
index=1
id=0x2
nb_streams=1
type=IAMF Audio Element
[STREAM]
index=1
id=0x1
duration_ts=44100
[/STREAM]
[/STREAM_GROUP]
[STREAM_GROUP]
index=2
id=0x1
nb_streams=2
type=IAMF Mix Presentation
[STREAM]
index=0
id=0x0
duration_ts=44100
[/STREAM]
[STREAM]
index=1
id=0x1
duration_ts=44100
[/STREAM]
[/STREAM_GROUP]
[STREAM]
index=0
id=0x0
duration_ts=44100
[/STREAM]
[STREAM]
index=1
id=0x1
duration_ts=44100
[/STREAM]

View File

@@ -0,0 +1,2 @@
type=iamf_audio_element:id=2:st=1,
layer=ch_layout=stereo,

View File

@@ -0,0 +1,2 @@
type=iamf_mix_presentation:id=1:stg=0:stg=1,
submix=parameter_id=100:parameter_rate=48000:default_mix_gain=1.0|element=stg=0:parameter_id=201:parameter_rate=48000:headphones_rendering_mode=stereo|element=stg=1:parameter_id=102:parameter_rate=48000:headphones_rendering_mode=stereo|layout=sound_system=stereo,