<html><head></head><body>This neither explains what or why, nor provides a use case.<br><br><div class="gmail_quote">Le 11 mars 2020 16:34:48 GMT+02:00, Francois Cartegnie <fcvlcdev@free.fr> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail"><hr> include/vlc_filter.h                | 13 ++++++++++---<br> src/video_output/vout_subpictures.c |  5 +++--<br> 2 files changed, 13 insertions(+), 5 deletions(-)<br><br>diff --git a/include/vlc_filter.h b/include/vlc_filter.h<br>index ce49be1be4..8c81ed98d2 100644<br>--- a/include/vlc_filter.h<br>+++ b/include/vlc_filter.h<br>@@ -48,7 +48,7 @@ struct filter_video_callbacks<br> <br> struct filter_subpicture_callbacks<br> {<br>-    subpicture_t *(*buffer_new)(filter_t *);<br>+    subpicture_t *(*buffer_new)(filter_t *, const subpicture_updater_t *);<br> };<br> <br> typedef struct filter_owner_t<br>@@ -243,14 +243,21 @@ static inline block_t *filter_DrainAudio( filter_t *p_filter )<br>  * \param p_filter filter_t object<br>  * \return new subpicture<br>  */<br>-static inline subpicture_t *filter_NewSubpicture( filter_t *p_filter )<br>+static inline subpicture_t *<br>+    filter_NewUpdatableSubpicture( filter_t *p_filter,<br>+                                   const subpicture_updater_t *p_dyn )<br> {<br>-    subpicture_t *subpic = p_filter->owner.sub->buffer_new( p_filter );<br>+    subpicture_t *subpic = p_filter->owner.sub->buffer_new( p_filter, p_dyn );<br>     if( subpic == NULL )<br>         msg_Warn( p_filter, "can't get output subpicture" );<br>     return subpic;<br> }<br> <br>+static inline subpicture_t *filter_NewSubpicture( filter_t *p_filter )<br>+{<br>+    return filter_NewUpdatableSubpicture( p_filter, NULL );<br>+}<br>+<br> /**<br>  * This function gives all input attachments at once.<br>  *<br>diff --git a/src/video_output/vout_subpictures.c b/src/video_output/vout_subpictures.c<br>index 5a67f061a5..82ad09609f 100644<br>--- a/src/video_output/vout_subpictures.c<br>+++ b/src/video_output/vout_subpictures.c<br>@@ -1311,11 +1311,12 @@ static void UpdateSPU(spu_t *spu, const vlc_spu_highlight_t *hl)<br>  * Buffers allocation callbacks for the filters<br>  *****************************************************************************/<br> <br>-static subpicture_t *sub_new_buffer(filter_t *filter)<br>+static subpicture_t *sub_new_buffer(filter_t *filter,<br>+                                    const subpicture_updater_t *p_dyn)<br> {<br>     ssize_t channel = *(ssize_t *)filter->owner.sys;<br> <br>-    subpicture_t *subpicture = subpicture_New(NULL);<br>+    subpicture_t *subpicture = subpicture_New(p_dyn);<br>     if (subpicture)<br>         subpicture->i_channel = channel;<br>     return subpicture;</pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>