OSDN Git Service

Fix bug which prevented AC3 sync when only one AC3 packet was located in the buffer.
authoreddyg <eddyg@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sun, 19 Oct 2008 21:43:21 +0000 (21:43 +0000)
committereddyg <eddyg@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Sun, 19 Oct 2008 21:43:21 +0000 (21:43 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@1850 b64f7644-9d1e-0410-96f1-a4d463321fa5

libhb/deca52.c

index 26f5603..55a3a1e 100644 (file)
@@ -288,7 +288,8 @@ static hb_buffer_t * Decode( hb_work_object_t * w )
 static int deca52BSInfo( hb_work_object_t *w, const hb_buffer_t *b,
                          hb_work_info_t *info )
 {
-    int i, rate, bitrate, flags;
+    int i;
+    int rate = 0, bitrate = 0, flags = 0;
     int old_rate = 0, old_bitrate = 0;
 
     memset( info, 0, sizeof(*info) );
@@ -315,7 +316,7 @@ static int deca52BSInfo( hb_work_object_t *w, const hb_buffer_t *b,
             old_bitrate = bitrate;
         }
     }
-    if ( i >= b->size - 7 )
+    if ( rate == 0 || bitrate == 0 )
     {
         /* didn't find AC3 sync */
         return 0;