From 99c44333e1a9dd6908e66c2bd44db53850015737 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Tue, 27 Aug 2013 22:40:06 +0300 Subject: [PATCH] input: remove input_source_t.p_stream (refs #8455) --- src/input/input.c | 53 +++++++++++++++++--------------------- src/input/input_internal.h | 4 +-- 2 files changed, 25 insertions(+), 32 deletions(-) diff --git a/src/input/input.c b/src/input/input.c index b87ab7ec2b..1acf97643c 100644 --- a/src/input/input.c +++ b/src/input/input.c @@ -346,7 +346,6 @@ static input_thread_t *Create( vlc_object_t *p_parent, input_item_t *p_item, p_input->p->p_item = p_item; /* Init Input fields */ - p_input->p->input.p_stream = NULL; p_input->p->input.p_demux = NULL; p_input->p->input.b_title_demux = false; p_input->p->input.i_title = 0; @@ -1328,7 +1327,6 @@ error: /* Mark them deleted */ p_input->p->input.p_demux = NULL; - p_input->p->input.p_stream = NULL; p_input->p->p_es_out = NULL; p_input->p->p_sout = NULL; @@ -1577,12 +1575,12 @@ static void ControlPause( input_thread_t *p_input, mtime_t i_control_date ) if( p_input->p->b_can_pause ) { - if( p_input->p->input.p_stream != NULL ) - i_ret = stream_Control( p_input->p->input.p_stream, - STREAM_SET_PAUSE_STATE, true ); + demux_t *p_demux = p_input->p->input.p_demux; + + if( p_demux->s != NULL ) + i_ret = stream_Control( p_demux->s, STREAM_SET_PAUSE_STATE, true ); else - i_ret = demux_Control( p_input->p->input.p_demux, - DEMUX_SET_PAUSE_STATE, true ); + i_ret = demux_Control( p_demux, DEMUX_SET_PAUSE_STATE, true ); if( i_ret ) { @@ -1611,12 +1609,12 @@ static void ControlUnpause( input_thread_t *p_input, mtime_t i_control_date ) if( p_input->p->b_can_pause ) { - if( p_input->p->input.p_stream ) - i_ret = stream_Control( p_input->p->input.p_stream, - STREAM_SET_PAUSE_STATE, false ); + demux_t *p_demux = p_input->p->input.p_demux; + + if( p_demux->s != NULL ) + i_ret = stream_Control( p_demux->s, STREAM_SET_PAUSE_STATE, false ); else - i_ret = demux_Control( p_input->p->input.p_demux, - DEMUX_SET_PAUSE_STATE, false ); + i_ret = demux_Control( p_demux, DEMUX_SET_PAUSE_STATE, false ); if( i_ret ) { /* FIXME What to do ? */ @@ -1809,12 +1807,10 @@ static bool Control( input_thread_t *p_input, if( i_rate != p_input->p->i_rate && !p_input->p->b_can_pace_control && p_input->p->b_can_rate_control ) { - int i_ret; - if( p_input->p->input.p_stream != NULL ) - { - i_ret = VLC_EGENERIC; - } - else + demux_t *p_demux = p_input->p->input.p_demux; + int i_ret = VLC_EGENERIC; + + if( p_demux->s == NULL ) { if( !p_input->p->input.b_rescale_ts ) es_out_Control( p_input->p->p_es_out, ES_OUT_RESET_PCR ); @@ -2373,7 +2369,7 @@ static int InputSourceInit( input_thread_t *p_input, TAB_APPEND( i_input_list, ppsz_input_list, NULL ); /* Create the stream_t */ - in->p_stream = stream_AccessNew( p_access, ppsz_input_list ); + stream_t *p_stream = stream_AccessNew( p_access, ppsz_input_list ); if( ppsz_input_list ) { for( int i = 0; ppsz_input_list[i] != NULL; i++ ) @@ -2381,7 +2377,7 @@ static int InputSourceInit( input_thread_t *p_input, TAB_CLEAN( i_input_list, ppsz_input_list ); } - if( in->p_stream == NULL ) + if( p_stream == NULL ) { msg_Warn( p_input, "cannot create a stream_t from access" ); goto error; @@ -2390,21 +2386,20 @@ static int InputSourceInit( input_thread_t *p_input, /* Add stream filters */ char *psz_stream_filter = var_GetNonEmptyString( p_input, "stream-filter" ); - in->p_stream = stream_FilterChainNew( in->p_stream, - psz_stream_filter, - var_GetBool( p_input, "input-record-native" ) ); + p_stream = stream_FilterChainNew( p_stream, psz_stream_filter, + var_GetBool( p_input, "input-record-native" ) ); free( psz_stream_filter ); if( !p_input->b_preparsing ) { bool b; - stream_Control( in->p_stream, STREAM_CAN_CONTROL_PACE, + stream_Control( p_stream, STREAM_CAN_CONTROL_PACE, &in->b_can_pace_control ); in->b_can_rate_control = in->b_can_pace_control; in->b_rescale_ts = true; - stream_Control( in->p_stream, STREAM_CAN_PAUSE, &in->b_can_pause ); + stream_Control( p_stream, STREAM_CAN_PAUSE, &in->b_can_pause ); var_SetBool( p_input, "can-pause", in->b_can_pause || !in->b_can_pace_control ); /* XXX temporary because of es_out_timeshift*/ var_SetBool( p_input, "can-rate", @@ -2412,7 +2407,7 @@ static int InputSourceInit( input_thread_t *p_input, var_SetBool( p_input, "can-rewind", !in->b_rescale_ts && !in->b_can_pace_control ); - stream_Control( in->p_stream, STREAM_CAN_SEEK, &b ); + stream_Control( p_stream, STREAM_CAN_SEEK, &b ); var_SetBool( p_input, "can-seek", b ); in->b_title_demux = false; @@ -2420,13 +2415,13 @@ static int InputSourceInit( input_thread_t *p_input, in->p_demux = demux_New( p_input, p_input, psz_access, psz_demux, /* Take access/stream redirections into account: */ - in->p_stream->psz_path ? in->p_stream->psz_path : psz_path, - in->p_stream, p_input->p->p_es_out, + p_stream->psz_path ? p_stream->psz_path : psz_path, + p_stream, p_input->p->p_es_out, p_input->b_preparsing ); if( in->p_demux == NULL ) { - stream_Delete( in->p_stream ); + stream_Delete( p_stream ); if( vlc_object_alive( p_input ) ) { msg_Err( p_input, "no suitable demux module for `%s/%s://%s'", diff --git a/src/input/input_internal.h b/src/input/input_internal.h index 119dc03072..9f7129480e 100644 --- a/src/input/input_internal.h +++ b/src/input/input_internal.h @@ -39,9 +39,7 @@ /* input_source_t: gathers all information per input source */ typedef struct { - /* Access/Stream/Demux plugins */ - stream_t *p_stream VLC_DEPRECATED; - demux_t *p_demux; + demux_t *p_demux; /**< Demux plugin instance */ /* Title infos for that input */ bool b_title_demux; /* Titles/Seekpoints provided by demux */ -- 2.39.2