return AVERROR_INVALIDDATA;
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] = channels - opus_coupled_stream_cnt[channel_config_code];
- if (channel_config_code == 0) { /* Dual Mono */
- st->codec->extradata[18] = 255; /* Mapping */
- }
- st->codec->extradata[18] = channel_config_code ? (channels > 2) : 255;
++ st->codec->extradata[18] = channel_config_code ? (channels > 2) : /* Dual Mono */ 255;
+ st->codec->extradata[19] = opus_stream_cnt[channel_config_code];
st->codec->extradata[20] = opus_coupled_stream_cnt[channel_config_code];
memcpy(&st->codec->extradata[21], opus_channel_map[channels - 1], channels);
} else {