X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Faacdec_template.c;h=dce6035d67ebdb39f1355c87df48d7e720963804;hb=c6db2e97dcd246234b958814450d3fd12a5c8c27;hp=b60b31a92c33e3bec03ea216ba71bb182e9322fa;hpb=185aa5e896e15ae96145609944bfc6bbb239bc64;p=ffmpeg diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index b60b31a92c3..dce6035d67e 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -3161,12 +3161,15 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data, if (elem_type < TYPE_DSE) { if (che_presence[elem_type][elem_id]) { - av_log(ac->avctx, AV_LOG_ERROR, "channel element %d.%d duplicate\n", + int error = che_presence[elem_type][elem_id] > 1; + av_log(ac->avctx, error ? AV_LOG_ERROR : AV_LOG_DEBUG, "channel element %d.%d duplicate\n", elem_type, elem_id); - err = AVERROR_INVALIDDATA; - goto fail; + if (error) { + err = AVERROR_INVALIDDATA; + goto fail; + } } - che_presence[elem_type][elem_id] = 1; + che_presence[elem_type][elem_id]++; if (!(che=get_che(ac, elem_type, elem_id))) { av_log(ac->avctx, AV_LOG_ERROR, "channel element %d.%d is not allocated\n",