# HG changeset patch
# User michael
# Date 1150923127 0
# Node ID 8491f306b52fba04baf87e35cd630462a7b9d580
# Parent  886095ad9c0fca41c09e47517588e7f8516dbdf9
intercept VFCTRL_FLIP_PAGE if needed

diff -r 886095ad9c0f -r 8491f306b52f libmpcodecs/vf_framestep.c
--- a/libmpcodecs/vf_framestep.c	Wed Jun 21 20:29:45 2006 +0000
+++ b/libmpcodecs/vf_framestep.c	Wed Jun 21 20:52:07 2006 +0000
@@ -73,6 +73,7 @@
     int  frame_step;
     /* Only I-Frame (2), print on I-Frame (1) */
     int  dump_iframe;
+    int last_skip;
 };
 
 /* Filter handler */
@@ -108,6 +109,8 @@
     /* Increment current frame */
     ++priv->frame_cur;
 
+    priv->last_skip= skip;
+
     if (skip == 0) {
 	/* Get image, export type (we don't modify tghe image) */
 	dmpi=vf_get_image(vf->next, mpi->imgfmt,
@@ -133,6 +136,13 @@
     return 0;
 }
 
+static int control(struct vf_instance_s* vf, int request, void* data){
+    if(request == VFCTRL_FLIP_PAGE && vf->priv->last_skip){
+        return CONTROL_TRUE;
+    }
+    return vf_next_control(vf,request,data);
+}
+
 static void uninit(struct vf_instance_s* vf)
 {
     /* Free private data */
@@ -145,6 +155,7 @@
 	struct vf_priv_s *p;
 
         vf->put_image = put_image;
+        vf->control= control;
 	vf->uninit = uninit;
 	vf->default_reqs = VFCAP_ACCEPT_STRIDE;
 	vf->priv = p = calloc(1, sizeof(struct vf_priv_s));