map_type 0 is always 19 bytes, whereas map_type 1 and 255 are 21 + channel count bytes.
Unified · Split
| @@ -2031,6 +2031,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type · 2030 unmodified lines | |||
| 2031 | st->codecpar->extradata[19] = opus_stream_cnt[channel_config_code]; | 2031 | st->codecpar->extradata[19] = opus_stream_cnt[channel_config_code]; |
| 2032 | st->codecpar->extradata[20] = opus_coupled_stream_cnt[channel_config_code]; | 2032 | st->codecpar->extradata[20] = opus_coupled_stream_cnt[channel_config_code]; |
| 2033 | memcpy(&st->codecpar->extradata[21], opus_channel_map[channels - 1], channels); | 2033 | memcpy(&st->codecpar->extradata[21], opus_channel_map[channels - 1], channels); |
| 2034 | st->codecpar->extradata_size = st->codecpar->extradata[18] ? 21 + channels : 19; | ||
| 2034 | } else { | 2035 | } else { |
| 2035 | avpriv_request_sample(fc, "Opus in MPEG-TS - channel_config_code > 0x8"); | 2036 | avpriv_request_sample(fc, "Opus in MPEG-TS - channel_config_code > 0x8"); |
| 2036 | } | 2037 | } |
| @@ -1,4 +1,4 @@ | |||
| 1 | #extradata 0: 30, 0x69290482 | 1 | #extradata 0: 29, 0x64a70482 |
| 2 | #tb 0: 1/90000 | 2 | #tb 0: 1/90000 |
| 3 | #media_type 0: audio | 3 | #media_type 0: audio |
| 4 | #codec_id 0: opus | 4 | #codec_id 0: opus |