[vlc-commits] decoder: remove tautology, add asserts to waiting code

Rémi Denis-Courmont git at videolan.org
Thu Mar 19 18:56:13 CET 2015


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Mar 18 23:29:30 2015 +0200| [621400186a49b282197267e588a030b425829a64] | committer: Rémi Denis-Courmont

decoder: remove tautology, add asserts to waiting code

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

 src/input/decoder.c |   17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/input/decoder.c b/src/input/decoder.c
index 3c8a32a..720df86 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -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 );
 }
 



More information about the vlc-commits mailing list