[vlc-devel] [PATCH 5/7] input: Preparse: fetch sub items too

Rémi Denis-Courmont remi at remlab.net
Tue Jan 13 05:42:00 CET 2015


Le 2015-01-08 20:10, Thomas Guillem a écrit :
> ---
>  src/input/input.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/src/input/input.c b/src/input/input.c
> index 48e085d..b7634a8 100644
> --- a/src/input/input.c
> +++ b/src/input/input.c
> @@ -192,8 +192,17 @@ int input_Preparse( vlc_object_t *p_parent,
> input_item_t *p_item )
>      if( !p_input )
>          return VLC_EGENERIC;
>
> -    if( !Init( p_input ) )
> +    if( !Init( p_input ) ) {
> +        /* if the demux can have subitems, call Mainloop that will 
> call
> +         * demux_Demux in order to fetch sub items */
> +        bool b_can_have_sub_items = false;
> +        demux_Control( p_input->p->input.p_demux,
> +                       DEMUX_CAN_HAVE_SUB_ITEMS,
> +                       &b_can_have_sub_items );
> +        if( b_can_have_sub_items )
> +            MainLoop( p_input, false );
>          End( p_input );
> +    }

I may be missing some pre-existing magic. Otherwise will that not 
duplicate sub-items when the item gets "opened" after it has already 
been preparsed?

Also how does that work if the item has both sub-items and elementary 
streams, or -more realistically- if it is not known at demux activation 
whether the item is a normal stream or a playlist, e.g. MP4...

>
>      vlc_object_release( p_input );

-- 
Rémi Denis-Courmont



More information about the vlc-devel mailing list