|
|
@ -1758,10 +1758,9 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type |
|
|
|
if (channel_config_code <= 0x8) { |
|
|
|
if (channel_config_code <= 0x8) { |
|
|
|
st->codec->extradata[9] = channels = channel_config_code ? channel_config_code : 2; |
|
|
|
st->codec->extradata[9] = channels = channel_config_code ? channel_config_code : 2; |
|
|
|
st->codec->extradata[18] = channels > 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 */ |
|
|
|
if (channel_config_code == 0) { /* Dual Mono */ |
|
|
|
st->codec->extradata[18] = 255; /* Mapping */ |
|
|
|
st->codec->extradata[18] = 255; /* Mapping */ |
|
|
|
st->codec->extradata[19] = 2; /* Stream Count */ |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
st->codec->extradata[20] = opus_coupled_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); |
|
|
|
memcpy(&st->codec->extradata[21], opus_channel_map[channels - 1], channels); |
|
|
|