Commit 23e2a1d4 authored by Gildas Bazin's avatar Gildas Bazin

* src/input/demux.c: make sure the demux chaining layer doesn't stay stuck when stopping.

parent dd153084
...@@ -323,14 +323,18 @@ void stream_DemuxSend( stream_t *s, block_t *p_block ) ...@@ -323,14 +323,18 @@ void stream_DemuxSend( stream_t *s, block_t *p_block )
void stream_DemuxDelete( stream_t *s ) void stream_DemuxDelete( stream_t *s )
{ {
d_stream_sys_t *p_sys = (d_stream_sys_t*)s->p_sys; d_stream_sys_t *p_sys = (d_stream_sys_t*)s->p_sys;
block_t *p_empty;
s->b_die = VLC_TRUE; s->b_die = VLC_TRUE;
if( p_sys->p_demux ) p_sys->p_demux->b_die = VLC_TRUE; if( p_sys->p_demux ) p_sys->p_demux->b_die = VLC_TRUE;
p_empty = block_New( s, 1 ); p_empty->i_buffer = 0;
block_FifoPut( p_sys->p_fifo, p_empty );
vlc_thread_join( s ); vlc_thread_join( s );
if( p_sys->p_demux ) demux2_Delete( p_sys->p_demux ); if( p_sys->p_demux ) demux2_Delete( p_sys->p_demux );
if( p_sys->p_block ) block_Release( p_sys->p_block ); if( p_sys->p_block ) block_Release( p_sys->p_block );
block_FifoRelease( p_sys->p_fifo );
free( p_sys->psz_name ); free( p_sys->psz_name );
free( p_sys ); free( p_sys );
......
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