Message ID | 20170128203334.GA2281@lunar.bitpit.net |
---|---|
State | New |
Headers | show |
On Sat, Jan 28, 2017 at 09:33:35PM +0100, Marijn Meijles wrote: > On Sat, Jan 28, 2017 at 07:56:51PM +0100, Michael Niedermayer wrote: > > On Sat, Jan 28, 2017 at 01:52:30PM +0100, Marijn Meijles wrote: > > > Signed-off-by: Marijn Meijles <marijn@bitpit.net> > > > --- > > > libavformat/ac3dec.c | 8 ++++---- > > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > the previous mail contains a description but the patch itself lacks > > a commit message beyond the first line, the patch should contain a > > commit message > > > > strange, git must have eaten it. Anyway, here is an untouched patch file from git. > > Marijn > ac3dec.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > b0db85d47bad47ca779e1748c7f0d4e97bd32e6b 0001-Fix-to-prevent-runaway-ac3-detection-by-looking-at-t.patch > From 27e9209c1094b24bcc45ef3ff174b80cb17db775 Mon Sep 17 00:00:00 2001 > From: Marijn Meijles <marijn@bitpit.net> > Date: Fri, 27 Jan 2017 22:08:15 +0100 > Subject: [PATCH] Fix to prevent runaway ac3 detection by looking at the actual > frame rather than the first detected frame. > > When detecting a swapped AC3 marker the data of the frame is swapped. However, in subsequent frames the data swapped is taken from the first frame rather than the current frame. > > Signed-off-by: Marijn Meijles <marijn@bitpit.net> > --- > libavformat/ac3dec.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/libavformat/ac3dec.c b/libavformat/ac3dec.c > index 363a32e..e85b0ac 100644 > --- a/libavformat/ac3dec.c > +++ b/libavformat/ac3dec.c > @@ -49,8 +49,8 @@ static int ac3_eac3_probe(AVProbeData *p, enum AVCodecID expected_codec_id) > buf2+=16; > if (buf[0] == 0x77 && buf[1] == 0x0B) { these could be changed to buf2 too but i guess its kind of making sense to keep them so as to count stable endianness patch applied thx [...]
From 27e9209c1094b24bcc45ef3ff174b80cb17db775 Mon Sep 17 00:00:00 2001 From: Marijn Meijles <marijn@bitpit.net> Date: Fri, 27 Jan 2017 22:08:15 +0100 Subject: [PATCH] Fix to prevent runaway ac3 detection by looking at the actual frame rather than the first detected frame. When detecting a swapped AC3 marker the data of the frame is swapped. However, in subsequent frames the data swapped is taken from the first frame rather than the current frame. Signed-off-by: Marijn Meijles <marijn@bitpit.net> --- libavformat/ac3dec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavformat/ac3dec.c b/libavformat/ac3dec.c index 363a32e..e85b0ac 100644 --- a/libavformat/ac3dec.c +++ b/libavformat/ac3dec.c @@ -49,8 +49,8 @@ static int ac3_eac3_probe(AVProbeData *p, enum AVCodecID expected_codec_id) buf2+=16; if (buf[0] == 0x77 && buf[1] == 0x0B) { for(i=0; i<8; i+=2) { - buf3[i ] = buf[i+1]; - buf3[i+1] = buf[i ]; + buf3[i ] = buf2[i+1]; + buf3[i+1] = buf2[i ]; } init_get_bits(&gbc, buf3, 54); }else @@ -62,8 +62,8 @@ static int ac3_eac3_probe(AVProbeData *p, enum AVCodecID expected_codec_id) if (buf[0] == 0x77 && buf[1] == 0x0B) { av_assert0(phdr->frame_size <= sizeof(buf3)); for(i=8; i<phdr->frame_size; i+=2) { - buf3[i ] = buf[i+1]; - buf3[i+1] = buf[i ]; + buf3[i ] = buf2[i+1]; + buf3[i+1] = buf2[i ]; } } if(av_crc(av_crc_get_table(AV_CRC_16_ANSI), 0, gbc.buffer + 2, phdr->frame_size - 2)) -- 2.10.1 (Apple Git-78)