]> git.sesse.net Git - vlc/commitdiff
Added vout_Flush .
authorLaurent Aimar <fenrir@videolan.org>
Thu, 9 Oct 2008 22:18:44 +0000 (00:18 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Thu, 9 Oct 2008 22:18:44 +0000 (00:18 +0200)
src/video_output/video_output.c
src/video_output/vout_internal.h

index cd42cf2699dc9dba2a23af8a1ec2a1b889cde3b1..c282ee0ad43ca95684a0b335f4feb97f20980877 100644 (file)
@@ -610,7 +610,24 @@ void vout_GetResetStatistic( vout_thread_t *p_vout, int *pi_displayed, int *pi_l
 
     vlc_object_unlock( p_vout );
 }
+void vout_Flush( vout_thread_t *p_vout, mtime_t i_date )
+{
+    vlc_mutex_lock( &p_vout->picture_lock );
+    for( int i = 0; i < p_vout->render.i_pictures; i++ )
+    {
+        picture_t *p_pic = p_vout->render.pp_picture[i];
 
+        if( p_pic->i_status == READY_PICTURE ||
+            p_pic->i_status == DISPLAYED_PICTURE )
+        {
+            /* We cannot change picture status if it is in READY_PICTURE state,
+             * Just make sure they won't be displayed */
+            if( p_pic->date > i_date )
+                p_pic->date = i_date;
+        }
+    }
+    vlc_mutex_unlock( &p_vout->picture_lock );
+}
 /*****************************************************************************
  * InitThread: initialize video output thread
  *****************************************************************************
index 7f5972d6ade80d83e7bb5cc919551b495a269970..212e20f083918ac9c9fd7faad208c2f1c033191f 100644 (file)
@@ -105,5 +105,11 @@ void spu_OffsetSubtitleDate( spu_t *p_spu, mtime_t i_duration );
  */
 void vout_GetResetStatistic( vout_thread_t *p_vout, int *pi_displayed, int *pi_lost );
 
+/**
+ * This function will ensure that all ready/displayed pciture have at most
+ * the provided dat
+ */
+void vout_Flush( vout_thread_t *p_vout, mtime_t i_date );
+
 #endif