Commit 6f2c07b9 authored by Gildas Bazin's avatar Gildas Bazin

* src/input/demux.c, src/misc/objects.c: demux2 has the VLC_OBJECT_DEMUX type.

* src/input/input.c: input_StopThread() sets b_die on demux2 as well.
parent 0c336413
......@@ -49,6 +49,7 @@
#define VLC_OBJECT_DIALOGS (-15)
#define VLC_OBJECT_VLM (-16)
#define VLC_OBJECT_ANNOUNCE (-17)
#define VLC_OBJECT_DEMUX (-18)
#define VLC_OBJECT_GENERIC (-666)
......
......@@ -171,7 +171,7 @@ static void SeekOffset( input_thread_t *p_input, int64_t i_pos )
demux_t *__demux2_New( vlc_object_t *p_obj,
char *psz_mrl, stream_t *s, es_out_t *out )
{
demux_t *p_demux = vlc_object_create( p_obj, sizeof( demux_t ) );
demux_t *p_demux = vlc_object_create( p_obj, VLC_OBJECT_DEMUX );
char *psz_dup = strdup( psz_mrl ? psz_mrl : "" );
char *psz = strchr( psz_dup, ':' );
......
......@@ -340,9 +340,22 @@ input_thread_t *__input_CreateThread( vlc_object_t *p_parent,
*****************************************************************************/
void input_StopThread( input_thread_t *p_input )
{
demux_t *p_demux;
/* Make the thread exit from a possible vlc_cond_wait() */
vlc_mutex_lock( &p_input->stream.stream_lock );
/* Request thread destruction */
/* Temporary demux2 hack */
p_demux = (demux_t *)vlc_object_find( p_input, VLC_OBJECT_DEMUX,
FIND_CHILD );
if( p_demux )
{
p_demux->b_die = 1;
vlc_object_release( p_demux );
}
p_input->b_die = 1;
vlc_cond_signal( &p_input->stream.stream_wait );
......
......@@ -128,6 +128,10 @@ void * __vlc_object_create( vlc_object_t *p_this, int i_type )
i_size = sizeof(input_thread_t);
psz_type = "input";
break;
case VLC_OBJECT_DEMUX:
i_size = sizeof(demux_t);
psz_type = "demux";
break;
case VLC_OBJECT_DECODER:
i_size = sizeof(decoder_t);
psz_type = "decoder";
......
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