]> git.sesse.net Git - vlc/commitdiff
* src/input/demux.c: make sure the demux chaining layer doesn't stay stuck when stopping.
authorGildas Bazin <gbazin@videolan.org>
Wed, 20 Oct 2004 13:04:05 +0000 (13:04 +0000)
committerGildas Bazin <gbazin@videolan.org>
Wed, 20 Oct 2004 13:04:05 +0000 (13:04 +0000)
src/input/demux.c

index 7b8e336a187292847d48bbcd38c9c3522d05a0c0..9cc6bebdbef35704362ae59dc1ca6ad3e416f0f4 100644 (file)
@@ -323,14 +323,18 @@ void stream_DemuxSend( stream_t *s, block_t *p_block )
 void stream_DemuxDelete( stream_t *s )
 {
     d_stream_sys_t *p_sys = (d_stream_sys_t*)s->p_sys;
+    block_t *p_empty;
 
     s->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 );
 
     if( p_sys->p_demux ) demux2_Delete( p_sys->p_demux );
     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 );