Commit 09bb0203 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

decoder: flush the vout at exit

(see comments)
parent ee934457
...@@ -1761,6 +1761,14 @@ void input_DecoderDelete( decoder_t *p_dec ) ...@@ -1761,6 +1761,14 @@ void input_DecoderDelete( decoder_t *p_dec )
vlc_mutex_lock( &p_owner->lock ); vlc_mutex_lock( &p_owner->lock );
p_owner->b_waiting = false; p_owner->b_waiting = false;
vlc_cond_signal( &p_owner->wait_request ); vlc_cond_signal( &p_owner->wait_request );
/* If the video output is paused or too slow, the decoded picture FIFO may
* contain so many picture buffers that the decoder gets stuck waiting for
* free buffers. Force all pending pictures in the decoder output FIFO
* released to enable decoder forward progress - up to the thread
* cancellation. */
if( p_owner->p_vout != NULL )
vout_Flush( p_owner->p_vout, VLC_TS_INVALID + 1 );
vlc_mutex_unlock( &p_owner->lock ); vlc_mutex_unlock( &p_owner->lock );
vlc_join( p_owner->thread, NULL ); vlc_join( p_owner->thread, NULL );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment