]> git.sesse.net Git - vlc/commitdiff
decoder: remove tautology, add asserts to waiting code
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 18 Mar 2015 21:29:30 +0000 (23:29 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 19 Mar 2015 17:56:09 +0000 (19:56 +0200)
src/input/decoder.c

index 3c8a32ae5873f1d5b7c82503001b97a54ceca591..720df86c0392484cca3685b0a0e41f7f88dd7da2 100644 (file)
@@ -516,17 +516,15 @@ void input_DecoderStartWait( decoder_t *p_dec )
 {
     decoder_owner_sys_t *p_owner = p_dec->p_owner;
 
-    vlc_mutex_lock( &p_owner->lock );
+    assert( !p_owner->b_waiting );
 
+    vlc_mutex_lock( &p_owner->lock );
     DecoderFlush( p_dec );
 
     p_owner->b_first = true;
     p_owner->b_has_data = false;
-
     p_owner->b_waiting = true;
-
     vlc_cond_signal( &p_owner->wait_request );
-
     vlc_mutex_unlock( &p_owner->lock );
 }
 
@@ -534,12 +532,11 @@ void input_DecoderStopWait( decoder_t *p_dec )
 {
     decoder_owner_sys_t *p_owner = p_dec->p_owner;
 
-    vlc_mutex_lock( &p_owner->lock );
+    assert( p_owner->b_waiting );
 
+    vlc_mutex_lock( &p_owner->lock );
     p_owner->b_waiting = false;
-
     vlc_cond_signal( &p_owner->wait_request );
-
     vlc_mutex_unlock( &p_owner->lock );
 }
 
@@ -547,14 +544,14 @@ void input_DecoderWait( decoder_t *p_dec )
 {
     decoder_owner_sys_t *p_owner = p_dec->p_owner;
 
-    vlc_mutex_lock( &p_owner->lock );
+    assert( p_owner->b_waiting );
 
-    while( p_owner->b_waiting && !p_owner->b_has_data )
+    vlc_mutex_lock( &p_owner->lock );
+    while( !p_owner->b_has_data )
     {
         block_FifoWake( p_owner->p_fifo );
         vlc_cond_wait( &p_owner->wait_acknowledge, &p_owner->lock );
     }
-
     vlc_mutex_unlock( &p_owner->lock );
 }