Browse Source

avformat/mpegts: fix Opus stream count

That number represents the number of streams, not the number of channels

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.6
Rafaël Carré Michael Niedermayer 10 years ago
parent
commit
57bfafe76b
1 changed files with 1 additions and 2 deletions
  1. +1
    -2
      libavformat/mpegts.c

+ 1
- 2
libavformat/mpegts.c View File

@@ -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);


Loading…
Cancel
Save