[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