Commit b8547de8 authored by jbr's avatar jbr

use request_channels in liba52 decoder

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@11417 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 09e1e065
......@@ -117,6 +117,13 @@ static int a52_decode_init(AVCodecContext *avctx)
s->inbuf_ptr = s->inbuf;
s->frame_size = 0;
/* allow downmixing to stereo or mono */
if (avctx->channels > 0 && avctx->request_channels > 0 &&
avctx->request_channels < avctx->channels &&
avctx->request_channels <= 2) {
avctx->channels = avctx->request_channels;
}
return 0;
}
......@@ -179,12 +186,11 @@ static int a52_decode_frame(AVCodecContext *avctx,
s->channels = ac3_channels[s->flags & 7];
if (s->flags & A52_LFE)
s->channels++;
if (avctx->channels == 0)
/* No specific number of channel requested */
avctx->channels = s->channels;
else if (s->channels < avctx->channels) {
av_log(avctx, AV_LOG_ERROR, "ac3dec: AC3 Source channels are less than specified: output to %d channels.. (frmsize: %d)\n", s->channels, len);
avctx->channels = s->channels;
if (avctx->request_channels > 0 &&
avctx->request_channels <= 2 &&
avctx->request_channels < s->channels) {
avctx->channels = avctx->request_channels;
}
avctx->bit_rate = bit_rate;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment