[vlc-commits] canvas: flush the filter chain when the filter is flushed

Steve Lhomme git at videolan.org
Mon Oct 12 15:55:44 CEST 2020


vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Fri Oct  9 09:25:20 2020 +0200| [d22690cfae2489e1a56acd956923a0390f361d12] | committer: Steve Lhomme

canvas: flush the filter chain when the filter is flushed

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

 modules/video_filter/canvas.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/modules/video_filter/canvas.c b/modules/video_filter/canvas.c
index 580948f719..18a0c065cd 100644
--- a/modules/video_filter/canvas.c
+++ b/modules/video_filter/canvas.c
@@ -41,6 +41,7 @@
 static int  Activate( vlc_object_t * );
 static void Destroy( vlc_object_t * );
 static picture_t *Filter( filter_t *, picture_t * );
+static void Flush( filter_t * );
 
 /* This module effectively implements a form of picture-in-picture.
  *  - The outer picture is called the canvas.
@@ -146,7 +147,7 @@ static const struct filter_video_callbacks canvas_cbs =
 
 static const struct vlc_filter_operations filter_ops =
 {
-    .filter_video = Filter,
+    .filter_video = Filter, .flush = Flush,
 };
 
 /*****************************************************************************
@@ -402,3 +403,10 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     filter_sys_t *p_sys = p_filter->p_sys;
     return filter_chain_VideoFilter( p_sys->p_chain, p_pic );
 }
+
+static void Flush( filter_t *p_filter )
+{
+    filter_sys_t *p_sys = p_filter->p_sys;
+    filter_chain_VideoFlush( p_sys->p_chain );
+}
+



More information about the vlc-commits mailing list