From 94d47382e0558d05e4ba2dd2e3717405d2a703ad Mon Sep 17 00:00:00 2001 From: Alex Converse Date: Fri, 5 Aug 2011 12:40:51 -0700 Subject: [PATCH] aac: Don't attempt to output configure an invalid channel configuration. --- libavcodec/aacdec.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 5740d6cd71..0cae1550fa 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -589,10 +589,11 @@ static av_cold int aac_decode_init(AVCodecContext *avctx) ac->m4ac.chan_config = i; if (ac->m4ac.chan_config) { - if (set_default_channel_config(avctx, new_che_pos, ac->m4ac.chan_config) < 0 && - avctx->error_recognition >= FF_ER_EXPLODE) - return AVERROR_INVALIDDATA; - output_configure(ac, ac->che_pos, new_che_pos, ac->m4ac.chan_config, OC_GLOBAL_HDR); + int ret = set_default_channel_config(avctx, new_che_pos, ac->m4ac.chan_config); + if (!ret) + output_configure(ac, ac->che_pos, new_che_pos, ac->m4ac.chan_config, OC_GLOBAL_HDR); + else if (avctx->error_recognition >= FF_ER_EXPLODE) + return AVERROR_INVALIDDATA; } }