vlc | branch: master | Steve Lhomme <[email protected]> | 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 );
+}
+

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to