# 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));