diff aac_ac3_parser.c @ 6566:9b8a881e871c libavcodec

Corrections of errors in aac_ac3_parser
author bwolowiec
date Mon, 07 Apr 2008 20:54:08 +0000
parents 013def14c931
children c92b7e617a0a
line wrap: on
line diff
--- a/aac_ac3_parser.c	Sat Apr 05 20:09:36 2008 +0000
+++ b/aac_ac3_parser.c	Mon Apr 07 20:54:08 2008 +0000
@@ -44,13 +44,19 @@
                 if((len=s->sync(s->state, s, &s->need_next_header, &s->new_frame_start)))
                     break;
             }
-            i-= s->header_size;
+            i-= s->header_size -1;
             if(len>0){
                 s->remaining_size = len + i;
 
                 if(pc->index+i > 0 && s->new_frame_start){
                     s->remaining_size -= i; // remaining_size=len
 output_frame:
+                    if(!s->frame_in_buffer && 0){
+                        s->frame_in_buffer=1;
+                        buf+=i;
+                        buf_size-=i;
+                        continue;
+                    }
                     ff_combine_frame(pc, i, &buf, &buf_size);
                     *poutbuf = buf;
                     *poutbuf_size = buf_size;
@@ -72,6 +78,7 @@
 
                     return i;
                 }
+                s->frame_in_buffer=1;
             }else{
                 break;
             }