[vlc-commits] visual: flush the vout from the filter callback

Thomas Guillem git at videolan.org
Mon Mar 11 10:19:05 CET 2019


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Thu Mar  7 15:56:44 2019 +0100| [7d7b81327ca4188b0d29243fecac8813f63821d6] | committer: Thomas Guillem

visual: flush the vout from the filter callback

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7d7b81327ca4188b0d29243fecac8813f63821d6
---

 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
  *****************************************************************************/



More information about the vlc-commits mailing list