[vlc-devel] [PATCH 1/2] demux: pass the input_thread_t to the demux filters

Rémi Denis-Courmont remi at remlab.net
Wed Jun 22 16:59:48 CEST 2016


Le 2016-06-22 13:46, Steve Lhomme a écrit :
> So the filter doesn't need to iterate through other filters' p_next.
> ---
>  modules/stream_out/chromecast/chromecast_demux.cpp | 10 ++--------
>  src/input/demux.c                                  |  2 +-
>  2 files changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/modules/stream_out/chromecast/chromecast_demux.cpp
> b/modules/stream_out/chromecast/chromecast_demux.cpp
> index e671043..8648905 100644
> --- a/modules/stream_out/chromecast/chromecast_demux.cpp
> +++ b/modules/stream_out/chromecast/chromecast_demux.cpp
> @@ -46,10 +46,7 @@ struct demux_sys_t
>          ,canSeek(false)
>          ,m_seektime( VLC_TS_INVALID )
>      {
> -        demux_t *p_last_demux = demux->p_next;
> -        while (p_last_demux->p_next)
> -            p_last_demux = p_last_demux->p_next;
> -        input_thread_t *p_input = p_last_demux->p_input;
> +        input_thread_t *p_input = demux->p_input;
>          input_item_t *p_item = input_GetItem( p_input );
>          if ( p_item )
>          {
> @@ -69,10 +66,7 @@ struct demux_sys_t
>
>      ~demux_sys_t()
>      {
> -        demux_t *p_last_demux = p_demux->p_next;
> -        while (p_last_demux->p_next)
> -            p_last_demux = p_last_demux->p_next;
> -        input_thread_t *p_input = p_last_demux->p_input;
> +        input_thread_t *p_input = p_demux->p_input;
>          var_DelCallback( p_input, "intf-event", InputEvent, this );
>
>          p_renderer->pf_set_title( p_renderer->p_opaque, NULL );
> diff --git a/src/input/demux.c b/src/input/demux.c
> index 6ee1e69..60c4350 100644
> --- a/src/input/demux.c
> +++ b/src/input/demux.c
> @@ -712,7 +712,7 @@ static demux_t *demux_FilterNew( demux_t *p_next,
> const char *p_name )
>
>      p_demux->p_next       = p_next;
>      p_demux->s            = NULL;
> -    p_demux->p_input      = NULL;
> +    p_demux->p_input      = p_next->p_input;

Nack. Demuxers should not access the input in the back anyway; this is 
legacy stuff for playlist demuxers and mouse events (optical media).

>      p_demux->p_sys        = NULL;
>      p_demux->psz_access   = NULL;
>      p_demux->psz_demux    = NULL;

-- 
Rémi Denis-Courmont
http://www.remlab.net/


More information about the vlc-devel mailing list