map_type 0 is always 19 bytes, whereas map_type 1 and 255 are 21 + channel count bytes.
Should fix ticket #9190. Signed-off-by: James Almer <jamr...@gmail.com> --- libavformat/mpegts.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 6e0d9d7496..5343a14e38 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2030,6 +2030,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type st->codecpar->extradata[19] = opus_stream_cnt[channel_config_code]; st->codecpar->extradata[20] = opus_coupled_stream_cnt[channel_config_code]; memcpy(&st->codecpar->extradata[21], opus_channel_map[channels - 1], channels); + st->codecpar->extradata_size = 19 + (st->codecpar->extradata[18] ? 2 + channels : 0); } else { avpriv_request_sample(fc, "Opus in MPEG-TS - channel_config_code > 0x8"); } -- 2.31.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".