diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 97da0a3f57..f4250c84c6 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1758,10 +1758,9 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type if (channel_config_code <= 0x8) { st->codec->extradata[9] = channels = channel_config_code ? channel_config_code : 2; st->codec->extradata[18] = channels > 2; - st->codec->extradata[19] = channel_config_code; + st->codec->extradata[19] = channels - opus_coupled_stream_cnt[channel_config_code]; if (channel_config_code == 0) { /* Dual Mono */ st->codec->extradata[18] = 255; /* Mapping */ - st->codec->extradata[19] = 2; /* Stream Count */ } st->codec->extradata[20] = opus_coupled_stream_cnt[channel_config_code]; memcpy(&st->codec->extradata[21], opus_channel_map[channels - 1], channels);