]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
adjust output channels based on AVCodecContext.request_channels in AC3 parser
authorjbr <jbr@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sat, 5 Jan 2008 05:36:00 +0000 (05:36 +0000)
committerjbr <jbr@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sat, 5 Jan 2008 05:36:00 +0000 (05:36 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@11412 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/aac_ac3_parser.c

index c5d7c8a5caadf0c251284e16ce9e806f882c86e2..46824fbbdabe26e6bde6f3686f8051e38dcb1d39 100644 (file)
@@ -61,6 +61,13 @@ int ff_aac_ac3_parse(AVCodecParserContext *s1,
                     /* update codec info */
                     avctx->sample_rate = sample_rate;
                     avctx->channels = channels;
+                    /* allow downmixing to mono or stereo for AC3 */
+                    if(avctx->request_channels > 0 &&
+                            avctx->request_channels < channels &&
+                            avctx->request_channels <= 2 &&
+                            avctx->codec_id == CODEC_ID_AC3) {
+                        avctx->channels = avctx->request_channels;
+                    }
                     avctx->bit_rate = bit_rate;
                     avctx->frame_size = samples;
                 }