[FFmpeg-cvslog] r12894 - in trunk/libavcodec: aac_ac3_parser.c aac_ac3_parser.h aac_parser.c ac3_parser.c

Michael Niedermayer michaelni
Mon Sep 22 05:02:28 CEST 2008


On Sun, Sep 21, 2008 at 08:36:17PM -0400, Justin Ruggles wrote:
> Michael Niedermayer wrote:
> > On Fri, Sep 19, 2008 at 06:20:30PM -0400, Justin Ruggles wrote:
> >> Janne Grunau wrote:
> >>> On Saturday 19 April 2008 03:50:41 michael wrote:
> >>>> Author: michael
> >>>> Date: Sat Apr 19 03:50:40 2008
> >>>> New Revision: 12894
> >>>>
> >>>> Log:
> >>>> Change aac and ac3 parsers to use ff_combine_frame().
> >>> this breaks parsing of some AC3 streams. For example 
> >>> ac3_parsing_errors_rev12894.mpg in incoming.
> >>>
> >>> I'm not sure if this is the actual changeset which is to blame. It is 
> >>> the first which introduces
> >>> "frame sync error" and "incomplete frame" messages. But those are only 
> >>> at the start of the file while the beeps with current trunk are later 
> >>> in the file.
> >>>
> >>> Playback of that sample is broken from 13579 til 13653. Revision 13654 
> >>> fixes playback but introduces nasty beeps after each frame sync error.
> >>>
> >>> Janne
> >> I am aware of the issue, and I'm pretty sure I know what's causing it,
> >> but I'm not quite sure how to fix it.  It seems to be occuring when the
> >> first bytes of a frame header are at the end of the buffer.  The next
> >> parser call then has the start of frame as negative, which doesn't seem
> >> to work well with ff_combine_frame().  There was a patch which fixed the
> >> error messages, but didn't fix the problem because the 2 frames end up
> >> being sent in the same packet.
> > 
> > Does the following fix it? [if not i need a testcase that fails with it]
> > 
> > @@ -51,7 +56,7 @@
> >              }else{
> >                  i-= s->header_size -1;
> >                  s->remaining_size = len;
> > -                if(!new_frame_start){
> > +                if(!new_frame_start || pc->index+i<=0){
> >                      s->remaining_size += i;
> >                      goto get_next;
> >                  }
> 
> This fixes all the recent problems I have run into with the AC3 parser,
> including issue 459.

applied

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20080922/968058f9/attachment.pgp>



More information about the ffmpeg-cvslog mailing list