[FFmpeg-cvslog] r18741 - trunk/libavcodec/mpegaudio_parser.c

Jai Menon jmenon86
Mon May 25 06:48:52 CEST 2009


On Thu, May 21, 2009 at 3:12 PM, Jai Menon <jmenon86 at gmail.com> wrote:
> On 5/21/09, Jai Menon <jmenon86 at gmail.com> wrote:
>> On 5/5/09, michael <subversion at mplayerhq.hu> wrote:
>> ?> Author: michael
>> ?> ?Date: Tue May ?5 15:46:50 2009
>> ?> ?New Revision: 18741
>> ?>
>> ?> ?Log:
>> ?> ?Do not discard mp3 frames in the parser after a broken frame.
>> ?> ?Fixes issue1044.
>> ?> ?This may cause regressions with broken streams, if you find any, please report!
>>
>>
>> This breaks decoding of some mpegaudio streams, specifically issue
>> ?1106 on roundup.
>> ?I don't have a working knowledge of the parser but a partial revert of
>> ?this commit ( as in applying ) :
>>
>>
>> ?==============================================================================
>> ?> ?--- trunk/libavcodec/mpegaudio_parser.c Tue May ?5 08:10:59 2009 ? ? ? ?(r18740)
>> ?> ?+++ trunk/libavcodec/mpegaudio_parser.c Tue May ?5 15:46:50 2009 ? ? ? ?(r18741)
>>
>> > ?@@ -236,10 +234,8 @@ static int mpegaudio_parse(AVCodecParser
>> ?> ? ? ? ? ?// ? ?next_data:
>> ?> ? ? ? ? ?if (s->frame_size > 0 &&
>> ?> ? ? ? ? ? ? ?(s->inbuf_ptr - s->inbuf) >= s->frame_size) {
>> ?> ?- ? ? ? ? ? ?if(s->header_count > 0){
>> ?> ? ? ? ? ? ? ? ? ?*poutbuf = s->inbuf;
>> ?> ? ? ? ? ? ? ? ? ?*poutbuf_size = s->inbuf_ptr - s->inbuf;
>> ?> ?- ? ? ? ? ? ?}
>> ?> ? ? ? ? ? ? ?s->inbuf_ptr = s->inbuf;
>> ?> ? ? ? ? ? ? ?s->frame_size = 0;
>> ?> ? ? ? ? ? ? ?break;
>>
>
> Meh, i obviously meant :
>
> ==============================================================================
> --- trunk/libavcodec/mpegaudio_parser.c Tue May ?5 08:10:59 2009 ? ? ? ?(r18740)
> +++ trunk/libavcodec/mpegaudio_parser.c Tue May ?5 15:46:50 2009 ? ? ? ?(r18741)
>
> ?@@ -236,10 +234,8 @@ static int mpegaudio_parse(AVCodecParser
> ? ? ? ? ?// ? ?next_data:
> ? ? ? ? ?if (s->frame_size > 0 &&
> ? ? ? ? ? ? ?(s->inbuf_ptr - s->inbuf) >= s->frame_size) {
> ?+ ? ? ? ? ? ?if(s->header_count > 0){
> ? ? ? ? ? ? ? ? *poutbuf = s->inbuf;
> ? ? ? ? ? ? ? ? ?*poutbuf_size = s->inbuf_ptr - s->inbuf;
> ?+ ? ? ? ? ? ?}
> ? ? ? ? ? ? ?s->inbuf_ptr = s->inbuf;
> ? ? ? ? ? ? ?s->frame_size = 0;
> ? ? ? ? ? ? ?break;
>

Any idea about this? Michael, If you can give a hint, I could try and
write the patch :)

-- 
Regards,

Jai



More information about the ffmpeg-cvslog mailing list