]> git.sesse.net Git - vlc/commitdiff
Fixed various decoder/packetizer flush.
authorLaurent Aimar <fenrir@videolan.org>
Sun, 8 Feb 2009 15:51:58 +0000 (16:51 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Mon, 9 Feb 2009 19:57:16 +0000 (20:57 +0100)
modules/codec/a52.c
modules/codec/dts.c
modules/codec/flac.c
modules/codec/mpeg_audio.c
modules/packetizer/h264.c
modules/packetizer/mlp.c
modules/packetizer/mpeg4audio.c
modules/packetizer/mpeg4video.c
modules/packetizer/mpegvideo.c
modules/packetizer/vc1.c

index 797f8d09704a8df9aea1f4a4c30bb4f82aded80a..df5675265f4d153e5ef90ef9bf1a1ba89c7466b2 100644 (file)
@@ -189,7 +189,7 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
         }
         aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
index ac486ef58167b9756ceef3227eb3c6bcececc687..62a771d0d6093e09e939836657363e40d4011062 100644 (file)
@@ -189,7 +189,7 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
         }
         aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
index d7130dc3dec31f2f4f84e6cb52829082a0741573..6206360bbeaecef25c770acf7a2fd64ca118ca85 100644 (file)
@@ -386,7 +386,7 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
         }
         aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
index 34d43a22d4d4d1c83feee5efeedbfb6fd90b0105..306bf0737b9ac343dbe1c2ecb1ff40ab26579e5a 100644 (file)
@@ -208,7 +208,7 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
         }
         aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
index 03120b6a12d9a7a2bc2ce5e2c9236183152b2c1b..b8ffeaf8c664a0833b581610b7b30a65cac369f6 100644 (file)
@@ -421,7 +421,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
 
             if( p_sys->p_frame )
                 block_ChainRelease( p_sys->p_frame );
@@ -429,6 +429,9 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
             p_sys->slice.i_frame_type = 0;
             p_sys->b_slice = false;
         }
+        p_sys->i_frame_pts = -1;
+        p_sys->i_frame_dts = -1;
+
         block_Release( *pp_block );
         return NULL;
     }
index cd4ce12250327eb059a582f59ba43f58db02f052..5722c0cb4e68a8a3018e6e63fa9ff04ae727c67e 100644 (file)
@@ -165,7 +165,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
         {
             p_sys->b_mlp = false;
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
         }
         aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
index 2bf711bf5e5da99b127be4dba02082280a56f4ab..e08798073ed0525f9037adc47d7e24b9559902ca 100644 (file)
@@ -972,9 +972,9 @@ static block_t *PacketizeStreamBlock( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
         }
-        //aout_DateSet( &p_sys->end_date, 0 );
+        aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
         return NULL;
     }
index 7f953c35b2e1739cd2cd0ea8c2a8a2ec73536a9f..06e5f4eb6dc4a6c9b713d48fd81d2c24a8386c01 100644 (file)
@@ -229,20 +229,20 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
 
             if( p_sys->p_frame )
                 block_ChainRelease( p_sys->p_frame );
             p_sys->p_frame = NULL;
             p_sys->pp_last = &p_sys->p_frame;
         }
-//        p_sys->i_interpolated_pts =
-//        p_sys->i_interpolated_dts =
-//        p_sys->i_last_ref_pts =
-//        p_sys->i_last_time_ref =
-//        p_sys->i_time_ref =
-//        p_sys->i_last_time =
-//        p_sys->i_last_timeincr = 0;
+        p_sys->i_interpolated_pts =
+        p_sys->i_interpolated_dts =
+        p_sys->i_last_ref_pts =
+        p_sys->i_last_time_ref =
+        p_sys->i_time_ref =
+        p_sys->i_last_time =
+        p_sys->i_last_timeincr = 0;
 
         block_Release( *pp_block );
         return NULL;
index 23c2eef48a60b3c97afa5d39e81d0696ba1ccdfd..e841928ff3c12afc3be55f900d878a7b4b9813ff 100644 (file)
@@ -263,7 +263,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
 
             p_sys->b_discontinuity = true;
             if( p_sys->p_frame )
@@ -272,8 +272,10 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
             p_sys->pp_last = &p_sys->p_frame;
             p_sys->b_frame_slice = false;
         }
-//        p_sys->i_interpolated_dts =
-//        p_sys->i_last_ref_pts = 0;
+        p_sys->i_dts = 0;
+        p_sys->i_pts = 0;
+        p_sys->i_interpolated_dts = 0;
+        p_sys->i_last_ref_pts = 0;
 
         block_Release( *pp_block );
         return NULL;
index cfbda1cf5578581fad8f5909693d906e30fcf9e2..8a4b5066a7d79358547bd1212226abd39786dbdb 100644 (file)
@@ -203,7 +203,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
         if( (*pp_block)->i_flags&BLOCK_FLAG_CORRUPTED )
         {
             p_sys->i_state = STATE_NOSYNC;
-            block_BytestreamFlush( &p_sys->bytestream );
+            block_BytestreamEmpty( &p_sys->bytestream );
 
             if( p_sys->p_frame )
                 block_ChainRelease( p_sys->p_frame );
@@ -211,7 +211,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
             p_sys->pp_last = &p_sys->p_frame;
             p_sys->b_frame = false;
         }
-//        p_sys->i_interpolated_dts = 0;
+        p_sys->i_interpolated_dts = 0;
         block_Release( *pp_block );
         return NULL;
     }