[vlc-commits] decoder: remove incorrect assertion

Rémi Denis-Courmont git at videolan.org
Thu Nov 5 20:42:49 CET 2015


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Nov  5 21:41:28 2015 +0200| [d0efd59165021ece141d34e155ae6ea5cc482901] | committer: Rémi Denis-Courmont

decoder: remove incorrect assertion

The decoder can be paused by the decoder owner while the decoder thread
is decoding. We still need to queue the last decoded picture(s) to the
(not yet paused) video output.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d0efd59165021ece141d34e155ae6ea5cc482901
---

 src/input/decoder.c |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/input/decoder.c b/src/input/decoder.c
index f6dfbcf..5f7cc01 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -906,13 +906,10 @@ static void DecoderPlayVideo( decoder_t *p_dec, picture_t *p_picture,
     vlc_mutex_unlock( &p_owner->lock );
 
     /* FIXME: The *input* FIFO should not be locked here. This will not work
-     * properly if/when pictures are queued asynchronously (c.f. assert()). */
+     * properly if/when pictures are queued asynchronously. */
     vlc_fifo_Lock( p_owner->p_fifo );
-    if( p_owner->paused )
-    {
-       assert( p_owner->frames_countdown > 0 );
-       p_owner->frames_countdown--;
-    }
+    if( unlikely(p_owner->paused) && likely(p_owner->frames_countdown > 0) )
+        p_owner->frames_countdown--;
     vlc_fifo_Unlock( p_owner->p_fifo );
 
     /* */



More information about the vlc-commits mailing list