[vlc-commits] vdpau/deinterlace: implement flushing
    Steve Lhomme 
    git at videolan.org
       
    Thu Oct 15 12:05:13 CEST 2020
    
    
  
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Wed Oct  7 16:49:36 2020 +0200| [dfe1ce91593f968df870f7eee4b8cb60dd1d1080] | committer: Steve Lhomme
vdpau/deinterlace: implement flushing
We should not rely on the old PTS values after a flush.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dfe1ce91593f968df870f7eee4b8cb60dd1d1080
---
 modules/hw/vdpau/deinterlace.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/modules/hw/vdpau/deinterlace.c b/modules/hw/vdpau/deinterlace.c
index 2edcbab71d..842110c87a 100644
--- a/modules/hw/vdpau/deinterlace.c
+++ b/modules/hw/vdpau/deinterlace.c
@@ -96,6 +96,12 @@ static picture_t *Deinterlace(filter_t *filter, picture_t *src)
     return src;
 }
 
+static void Flush(filter_t *filter)
+{
+    filter_sys_t *sys = filter->p_sys;
+    sys->last_pts = VLC_TICK_INVALID;
+}
+
 static void Close(filter_t *filter)
 {
     vlc_video_context_Release(filter->vctx_out);
@@ -103,6 +109,7 @@ static void Close(filter_t *filter)
 
 static const struct vlc_filter_operations filter_ops = {
     .filter_video = Deinterlace, .close = Close,
+    .flush = Flush,
 };
 
 static int Open(filter_t *filter)
    
    
More information about the vlc-commits
mailing list