]> git.sesse.net Git - vlc/commitdiff
Fixed vout_FixLeaks logic.
authorLaurent Aimar <fenrir@videolan.org>
Mon, 5 Jan 2009 20:26:05 +0000 (21:26 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Mon, 5 Jan 2009 20:26:05 +0000 (21:26 +0100)
src/video_output/video_output.c

index 34e6c2afbd2753197dee183111d8a230aaae9f6c..6fb4fe5a7288c4678d026e18d6a919c953893667 100644 (file)
@@ -711,7 +711,16 @@ void vout_FixLeaks( vout_thread_t *p_vout, bool b_forced )
 
         msg_Dbg( p_vout, "[%d] %d %d", i_pic, p_pic->i_status, p_pic->i_refcount );
         p_pic->i_refcount = 0;
-        vout_UsePictureLocked( p_vout, p_pic );
+
+        switch( p_pic->i_status )
+        {
+        case READY_PICTURE:
+        case DISPLAYED_PICTURE:
+        case RESERVED_PICTURE:
+            if( p_pic != p_vout->p->p_picture_displayed )
+                vout_UsePictureLocked( p_vout, p_pic );
+            break;
+        }
     }
     vlc_cond_signal( &p_vout->p->picture_wait );
     vlc_mutex_unlock( &p_vout->picture_lock );