On 10/7/18, Michael Niedermayer <mich...@niedermayer.cc> wrote: > Such streams are invalid according to > 4.5.2.1 Top level payloads for the audio object types AAC main, AAC SSR, AAC > LC and AAC LTP > 4.5.2.1.1 Definitions > ...cIn the raw_data_block(), several instances of the > same syntactic element may occur, but must have a different 4 bit > element_instance_tag, except for data_stream_element()'s and > fill_element()'s. > > Fixes: Ticket7477 > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > --- > libavcodec/aacdec_template.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c > index b60b31a92c..dce6035d67 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", > -- > 2.19.0 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >
probably ok _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel