Mercurial > mplayer.hg
changeset 18778:8491f306b52f
intercept VFCTRL_FLIP_PAGE if needed
author | michael |
---|---|
date | Wed, 21 Jun 2006 20:52:07 +0000 |
parents | 886095ad9c0f |
children | d3b0e55b0c90 |
files | libmpcodecs/vf_framestep.c |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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));