Use decoder_GetDisplayDate.
authorLaurent Aimar <fenrir@videolan.org>
Tue, 2 Oct 2007 18:03:50 +0000 (18:03 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Tue, 2 Oct 2007 18:03:50 +0000 (18:03 +0000)
(libmpeg2/xvmc pending)

modules/codec/ffmpeg/video.c
modules/codec/quicktime.c

index 89c15cf..a45e3ac 100644 (file)
@@ -573,7 +573,7 @@ picture_t *E_(DecodeVideo)( decoder_t *p_dec, block_t **pp_block )
         }
 
         /* Update frame late count (except when doing preroll) */
-        if( p_sys->i_pts && p_sys->i_pts <= mdate() &&
+        if( p_sys->i_pts && decoder_GetDisplayDate(p_sys->i_pts) <= mdate() &&
             !(p_block->i_flags & BLOCK_FLAG_PREROLL) )
         {
             p_sys->i_late_frames++;
index 33b8891..5c513e9 100644 (file)
@@ -519,7 +519,8 @@ static aout_buffer_t *DecodeAudio( decoder_t *p_dec, block_t **pp_block )
 
     if( p_sys->i_out_frames <= 0 )
     {
-        if( ( p_sys->pts = p_block->i_pts ) < mdate() )
+        p_sys->pts = p_block->i_pts;
+        if( decoder_GetDisplayDate( p_block->i_pts ) < mdate() )
         {
             block_Release( p_block );
             *pp_block = NULL;
@@ -835,7 +836,7 @@ static picture_t *DecodeVideo( decoder_t *p_dec, block_t **pp_block )
  
     i_pts = p_block->i_pts ? p_block->i_pts : p_block->i_dts;
 
-    if( i_pts < mdate() )
+    if( decoder_GetDisplayDate( i_pts ) < mdate() )
     {
         p_sys->i_late++;
     }