[vlc-devel] [PATCH] demux: mock: Notify title changes to the input
Thomas Guillem
thomas at gllm.fr
Tue Sep 24 13:52:54 CEST 2019
LGTM, should be pushed before your title core change.
On Tue, Sep 24, 2019, at 13:46, Hugo Beauzée-Luyssen wrote:
> ---
> modules/demux/mock.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/modules/demux/mock.c b/modules/demux/mock.c
> index bdc6b1b836..1869c9ee52 100644
> --- a/modules/demux/mock.c
> +++ b/modules/demux/mock.c
> @@ -125,6 +125,8 @@ struct demux_sys
> int current_title;
> vlc_tick_t chapter_gap;
>
> + unsigned int updates;
> +
> #define X(var_name, type, module_header_type, getter, default_value) \
> type var_name;
> LIST_OPTIONS
> @@ -209,6 +211,7 @@ Control(demux_t *demux, int query, va_list args)
> return VLC_EGENERIC;
> sys->current_title = new_title;
> sys->pts = sys->audio_pts = sys->video_pts = VLC_TICK_0;
> + sys->updates |= INPUT_UPDATE_TITLE;
> return VLC_SUCCESS;
> }
> return VLC_EGENERIC;
> @@ -225,7 +228,12 @@ Control(demux_t *demux, int query, va_list args)
> }
> return VLC_EGENERIC;
> case DEMUX_TEST_AND_CLEAR_FLAGS:
> - return VLC_EGENERIC;
> + {
> + unsigned *restrict flags = va_arg(args, unsigned *);
> + *flags &= sys->updates;
> + sys->updates &= ~*flags;
> + return VLC_SUCCESS;
> + }
> case DEMUX_GET_TITLE:
> if (sys->title_count > 0)
> {
> @@ -832,6 +840,7 @@ Open(vlc_object_t *obj)
> sys->current_title = 0;
> sys->chapter_gap = sys->chapter_count > 0 ?
> (sys->length / sys->chapter_count) : VLC_TICK_INVALID;
> + sys->updates = 0;
>
> demux->pf_control = Control;
> demux->pf_demux = Demux;
> --
> 2.20.1
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list