]> git.sesse.net Git - vlc/commitdiff
Correctly reset date after a discontinuity in audio decoder.
authorLaurent Aimar <fenrir@videolan.org>
Sat, 29 Nov 2008 20:15:27 +0000 (21:15 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Sun, 30 Nov 2008 15:51:44 +0000 (16:51 +0100)
modules/codec/a52.c
modules/codec/avcodec/audio.c
modules/codec/dts.c
modules/codec/flac.c
modules/codec/mpeg_audio.c
modules/packetizer/mlp.c
modules/packetizer/mpeg4audio.c

index 82112f930a64280b79f5928e9c17ba980f2e7884..797f8d09704a8df9aea1f4a4c30bb4f82aded80a 100644 (file)
@@ -191,7 +191,7 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
             p_sys->i_state = STATE_NOSYNC;
             block_BytestreamFlush( &p_sys->bytestream );
         }
-//        aout_DateSet( &p_sys->end_date, 0 );
+        aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
         return NULL;
     }
index ba13919655effe0077af57244e6d8333d79d4368..e8a2a41438f9711c4f12018df78072f7f163f2d3 100644 (file)
@@ -261,6 +261,8 @@ aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
     {
         block_Release( p_block );
         avcodec_flush_buffers( p_sys->p_context );
+        p_sys->i_samples = 0;
+        aout_DateSet( &p_sys->end_date, 0 );
 
         if( p_sys->i_codec_id == CODEC_ID_MP2 || p_sys->i_codec_id == CODEC_ID_MP3 )
             p_sys->i_reject_count = 3;
index 1dd9379ec749f0631cb2ab82c8767889ef50bb98..2486edc803b3f9afa0ff9cf561633db5d41b3049 100644 (file)
@@ -179,7 +179,7 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
             p_sys->i_state = STATE_NOSYNC;
             block_BytestreamFlush( &p_sys->bytestream );
         }
-//        aout_DateSet( &p_sys->end_date, 0 );
+        aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
         return NULL;
     }
index c9d806959f9cacdec7357704962144e12568b86e..6ebd53cb461ef135c1ae6f6c8a3fd32e6951621a 100644 (file)
@@ -388,7 +388,7 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
             p_sys->i_state = STATE_NOSYNC;
             block_BytestreamFlush( &p_sys->bytestream );
         }
-//        aout_DateSet( &p_sys->end_date, 0 );
+        aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
         return NULL;
     }
index 96fe2aa8c1e68b91ad55dc604b94296e9ce12f9a..bb2493fb007438bf10934cf5102556829a24a84e 100644 (file)
@@ -208,7 +208,7 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
             p_sys->i_state = STATE_NOSYNC;
             block_BytestreamFlush( &p_sys->bytestream );
         }
-//        aout_DateSet( &p_sys->end_date, 0 );
+        aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
         p_sys->b_discontinuity = true;
         return NULL;
index 2a308498e77ec5342f3ef6ab7485fe3d0a7deec8..92eb8a46fde0b51663e8a3ad6e81484527c88509 100644 (file)
@@ -166,6 +166,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
             p_sys->i_state = STATE_NOSYNC;
             block_BytestreamFlush( &p_sys->bytestream );
         }
+        aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
         return NULL;
     }
index 784248048780ea464e7de376eea2e5a9ccbc09d9..2bf711bf5e5da99b127be4dba02082280a56f4ab 100644 (file)
@@ -290,7 +290,7 @@ static block_t *PacketizeRawBlock( decoder_t *p_dec, block_t **pp_block )
 
     if( (*pp_block)->i_flags&(BLOCK_FLAG_DISCONTINUITY|BLOCK_FLAG_CORRUPTED) )
     {
-        //aout_DateSet( &p_sys->end_date, 0 );
+        aout_DateSet( &p_sys->end_date, 0 );
         block_Release( *pp_block );
         return NULL;
     }