summaryrefslogtreecommitdiff
path: root/libavcodec/aacdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-08-10 16:29:46 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-08-10 16:29:51 +0200
commita9aa88df1d8bdef7a3ba520e285c6c5b639d5fd5 (patch)
treead58a7f68309b31b07d54564879e4f60ffdeac88 /libavcodec/aacdec.c
parente2cc3311246376e902f0defc6c57bd554babcf39 (diff)
parent7221139ba0486c24afeac1f41ba97c75f58046b9 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: lavc: make avcodec_init() static on next bump. ac3enc: remove unneeded #include ac3enc: restructure coupling coordinate reuse calculation ac3enc: allow new coupling coordinates to be sent independently for each channel. ac3enc: separate exponent bit counting from exponent grouping. h264: propagate error return values for AV_LOG_ERROR-triggering events aac: Don't attempt to output configure an invalid channel configuration. Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/aacdec.c')
-rw-r--r--libavcodec/aacdec.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 7589bd7e7b..944be9fad3 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -591,10 +591,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;
}
}