]> git.sesse.net Git - vlc/commitdiff
* modules/packetizer/mpegvideo.c: corner case fix for pts/dts.
authorGildas Bazin <gbazin@videolan.org>
Mon, 24 May 2004 18:54:47 +0000 (18:54 +0000)
committerGildas Bazin <gbazin@videolan.org>
Mon, 24 May 2004 18:54:47 +0000 (18:54 +0000)
modules/packetizer/mpegvideo.c

index a642782eed6d47c9124ca8b67751ba8ca45fbe6c..fd69813a728d490d5093e39027be54f26bf56127 100644 (file)
@@ -271,6 +271,15 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
             p_pic->i_pts = p_sys->bytestream.p_block->i_pts;
             p_pic->i_dts = p_sys->bytestream.p_block->i_dts;
 
+            /* FIXME ? Should we flush the bytestream chain before ? */
+            if( p_sys->bytestream.p_block->i_buffer ==
+                p_sys->bytestream.i_offset &&
+                p_sys->bytestream.p_block->p_next )
+            {
+                p_pic->i_pts = p_sys->bytestream.p_block->p_next->i_pts;
+                p_pic->i_dts = p_sys->bytestream.p_block->p_next->i_dts;
+            }
+
             block_GetBytes( &p_sys->bytestream, p_pic->p_buffer,
                             p_pic->i_buffer );