changeset 6110:356a3c897bd2 libavcodec

adjust output channels based on AVCodecContext.request_channels in AC3 parser
author jbr
date Sat, 05 Jan 2008 05:36:00 +0000
parents c8b9b73b979f
children ed3937d4f2aa
files aac_ac3_parser.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/aac_ac3_parser.c	Sat Jan 05 01:14:09 2008 +0000
+++ b/aac_ac3_parser.c	Sat Jan 05 05:36:00 2008 +0000
@@ -61,6 +61,13 @@
                     /* 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;
                 }