summaryrefslogtreecommitdiffstats
path: root/video/filter/vf_softpulldown.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/filter/vf_softpulldown.c')
-rw-r--r--video/filter/vf_softpulldown.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/video/filter/vf_softpulldown.c b/video/filter/vf_softpulldown.c
index 11eab7c0c3..9fd75a0ba0 100644
--- a/video/filter/vf_softpulldown.c
+++ b/video/filter/vf_softpulldown.c
@@ -123,6 +123,16 @@ static int config(struct vf_instance *vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
}
+static int control(vf_instance_t *vf, int request, void *data)
+{
+ switch (request) {
+ case VFCTRL_SEEK_RESET:
+ vf_detc_init_pts_buf(&vf->priv->ptsbuf);
+ break;
+ }
+ return vf_next_control(vf, request, data);
+}
+
static void uninit(struct vf_instance *vf)
{
mp_msg(MSGT_VFILTER, MSGL_INFO, "softpulldown: %lld frames in, %lld frames out\n", vf->priv->in, vf->priv->out);
@@ -143,6 +153,7 @@ static int vf_open(vf_instance_t *vf, char *args)
{
vf->config = config;
vf->filter_ext = filter;
+ vf->control = control;
vf->uninit = uninit;
vf->query_format = query_format;
vf->priv = calloc(1, sizeof(struct vf_priv_s));