[vlc-devel] [PATCH 2/3] visual: flush the vout from the filter callback

Thomas Guillem thomas at gllm.fr
Thu Mar 7 15:57:35 CET 2019


---
 modules/visualization/visual/visual.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/modules/visualization/visual/visual.c b/modules/visualization/visual/visual.c
index 4e83a6245f..1378129819 100644
--- a/modules/visualization/visual/visual.c
+++ b/modules/visualization/visual/visual.c
@@ -174,6 +174,7 @@ vlc_module_end ()
  * Local prototypes
  *****************************************************************************/
 static block_t *DoWork( filter_t *, block_t * );
+static void Flush( filter_t * );
 static void *Thread( void *);
 
 typedef struct
@@ -326,6 +327,7 @@ static int Open( vlc_object_t *p_this )
     p_filter->fmt_in.audio.i_format = VLC_CODEC_FL32;
     p_filter->fmt_out.audio = p_filter->fmt_in.audio;
     p_filter->pf_audio_filter = DoWork;
+    p_filter->pf_flush = Flush;
     return VLC_SUCCESS;
 
 error:
@@ -396,6 +398,12 @@ static block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
     return p_in_buf;
 }
 
+static void Flush( filter_t *p_filter )
+{
+    filter_sys_t *p_sys = p_filter->p_sys;
+    vout_FlushAll( p_sys->p_vout );
+}
+
 /*****************************************************************************
  * Close: close the plugin
  *****************************************************************************/
-- 
2.20.1



More information about the vlc-devel mailing list