>2 channels decoding fix

Originally committed as revision 3086 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2004-04-29 03:33:34 +00:00
parent 8aedc51d2b
commit 20da31792b
1 changed files with 6 additions and 3 deletions

View File

@ -877,9 +877,12 @@ static int ac3_parse(AVCodecParserContext *s1,
s->frame_size = len;
/* update codec info */
avctx->sample_rate = sample_rate;
avctx->channels = ac3_channels[s->flags & 7];
if (s->flags & A52_LFE)
avctx->channels++;
/* set channels,except if the user explicitly requests 1 or 2 channels, XXX/FIXME this is a bit ugly */
if(avctx->channels!=1 && avctx->channels!=2){
avctx->channels = ac3_channels[s->flags & 7];
if (s->flags & A52_LFE)
avctx->channels++;
}
avctx->bit_rate = bit_rate;
avctx->frame_size = 6 * 256;
}