[vlc-devel] [PATCH] vlc_filter: allow subpicture updater
Rémi Denis-Courmont
remi at remlab.net
Wed Mar 11 15:54:50 CET 2020
This neither explains what or why, nor provides a use case.
Le 11 mars 2020 16:34:48 GMT+02:00, Francois Cartegnie <fcvlcdev at free.fr> a écrit :
>---
> include/vlc_filter.h | 13 ++++++++++---
> src/video_output/vout_subpictures.c | 5 +++--
> 2 files changed, 13 insertions(+), 5 deletions(-)
>
>diff --git a/include/vlc_filter.h b/include/vlc_filter.h
>index ce49be1be4..8c81ed98d2 100644
>--- a/include/vlc_filter.h
>+++ b/include/vlc_filter.h
>@@ -48,7 +48,7 @@ struct filter_video_callbacks
>
> struct filter_subpicture_callbacks
> {
>- subpicture_t *(*buffer_new)(filter_t *);
>+ subpicture_t *(*buffer_new)(filter_t *, const subpicture_updater_t
>*);
> };
>
> typedef struct filter_owner_t
>@@ -243,14 +243,21 @@ static inline block_t *filter_DrainAudio(
>filter_t *p_filter )
> * \param p_filter filter_t object
> * \return new subpicture
> */
>-static inline subpicture_t *filter_NewSubpicture( filter_t *p_filter )
>+static inline subpicture_t *
>+ filter_NewUpdatableSubpicture( filter_t *p_filter,
>+ const subpicture_updater_t *p_dyn )
> {
>- subpicture_t *subpic = p_filter->owner.sub->buffer_new( p_filter
>);
>+ subpicture_t *subpic = p_filter->owner.sub->buffer_new( p_filter,
>p_dyn );
> if( subpic == NULL )
> msg_Warn( p_filter, "can't get output subpicture" );
> return subpic;
> }
>
>+static inline subpicture_t *filter_NewSubpicture( filter_t *p_filter )
>+{
>+ return filter_NewUpdatableSubpicture( p_filter, NULL );
>+}
>+
> /**
> * This function gives all input attachments at once.
> *
>diff --git a/src/video_output/vout_subpictures.c
>b/src/video_output/vout_subpictures.c
>index 5a67f061a5..82ad09609f 100644
>--- a/src/video_output/vout_subpictures.c
>+++ b/src/video_output/vout_subpictures.c
>@@ -1311,11 +1311,12 @@ static void UpdateSPU(spu_t *spu, const
>vlc_spu_highlight_t *hl)
> * Buffers allocation callbacks for the filters
>*****************************************************************************/
>
>-static subpicture_t *sub_new_buffer(filter_t *filter)
>+static subpicture_t *sub_new_buffer(filter_t *filter,
>+ const subpicture_updater_t *p_dyn)
> {
> ssize_t channel = *(ssize_t *)filter->owner.sys;
>
>- subpicture_t *subpicture = subpicture_New(NULL);
>+ subpicture_t *subpicture = subpicture_New(p_dyn);
> if (subpicture)
> subpicture->i_channel = channel;
> return subpicture;
>--
>2.24.1
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel
--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20200311/5e2640ab/attachment.html>
More information about the vlc-devel
mailing list