On Thu, Dec 8, 2016 at 12:36 PM, Rostislav Pehlivanov <atomnu...@gmail.com> wrote: > > On 8 December 2016 at 19:42, Alex Converse <alex.conve...@gmail.com> wrote: >> >> On Thu, Dec 8, 2016 at 2:14 AM, Rostislav Pehlivanov >> <atomnu...@gmail.com> wrote: >> > On 7 December 2016 at 01:08, Alex Converse <alex.conve...@gmail.com> >> > wrote: >> > >> >> Fixes >> >> https://www2.iis.fraunhofer.de/AAC/7.1auditionOutLeader_v2_rtb.mp4 >> >> >> >> Reported-by: rcombs on IRC >> >> --- >> >> libavcodec/aacdec_template.c | 6 ++++-- >> >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> >> >> diff --git a/libavcodec/aacdec_template.c >> >> b/libavcodec/aacdec_template.c >> >> index 8cfa34b..64d46e3 100644 >> >> --- a/libavcodec/aacdec_template.c >> >> +++ b/libavcodec/aacdec_template.c >> >> @@ -3038,8 +3038,10 @@ static int aac_decode_frame_int(AVCodecContext >> >> *avctx, void *data, >> >> break; >> >> } >> >> >> >> - che_prev = che; >> >> - elem_type_prev = elem_type; >> >> + if (elem_type < TYPE_DSE) { >> >> + che_prev = che; >> >> + elem_type_prev = elem_type; >> >> + } >> >> >> >> if (err) >> >> goto fail; >> >> >> > >> > I'm not quite following. So it prevents TYPE_DSE and above from getting >> > into che_prev which goes into decode_extension_payload() which then >> > decodes >> > extensions. But DSE isn't the last in the enum, what about PCE, FIL and >> > END >> > elements? >> >> The actual use of elem_type_prev is to describe the element type of >> che_prev, but che only updates for element types SCE, CPE, CCE, and >> LFE (0, 1, 2, and 3). (che_prev is currently updated every element, >> but if che isn't updated on an element then it's a noop.) >> > > Thanks for the great explanation, now it all makes sense. > Patch LGTM, feel free to push whenever you can. >
Pushed _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel