vlc | branch: master | Rémi Denis-Courmont <[email protected]> | 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 ); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
