int i;
vlc_object_kill( p_sys->p_thread );
+ block_FifoWake( p_sys->p_thread->p_fifo );
+
for( i = 0; i < 10; i++ )
{
block_t *p_dummy = block_New( p_access, p_sys->i_mtu );
}
#endif
p_pk = block_FifoGet( p_thread->p_fifo );
+ if( p_pk == NULL )
+ continue; /* forced wake-up */
i_date = p_thread->i_caching + p_pk->i_dts;
if( i_date_last > 0 )
sout_stream_sys_t *p_sys = p_stream->p_sys;
vlc_object_kill( id );
+ block_FifoWake( id->p_fifo );
vlc_mutex_lock( &p_sys->lock_es );
TAB_REMOVE( p_sys->i_es, p_sys->es, id );
while( !id->b_die )
{
block_t *out = block_FifoGet( id->p_fifo );
+ if( out == NULL )
+ continue; /* Forced wakeup */
+
mtime_t i_date = out->i_dts + i_caching;
ssize_t len = out->i_buffer;