summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/aacdec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 783bf99fba..5740d6cd71 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -589,7 +589,9 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
ac->m4ac.chan_config = i;
if (ac->m4ac.chan_config) {
- set_default_channel_config(avctx, new_che_pos, 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);
}
}