diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2012-09-21 20:20:11 +0000 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-10-30 19:50:19 +0100 |
commit | 43c7c3c0414c1bc9623b6248eb347922b142b579 (patch) | |
tree | 2cd6531143111fdf460b7aaf747d786c09f9909e /libmpcodecs | |
parent | 7b5e4a8044588a8e5330bb5c2e94630fe6b80375 (diff) | |
download | mpv-43c7c3c0414c1bc9623b6248eb347922b142b579.tar.bz2 mpv-43c7c3c0414c1bc9623b6248eb347922b142b579.tar.xz |
vf_screenshot: fix handling of out-of-order slice rendered frames
Fix handling of out-of-order slice rendered frames.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35208 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vf_screenshot.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libmpcodecs/vf_screenshot.c b/libmpcodecs/vf_screenshot.c index eb961d8118..6bfd84d740 100644 --- a/libmpcodecs/vf_screenshot.c +++ b/libmpcodecs/vf_screenshot.c @@ -56,6 +56,7 @@ static int config(struct vf_instance *vf, static void start_slice(struct vf_instance *vf, mp_image_t *mpi) { + mpi->priv= vf->dmpi=vf_get_image(vf->next,mpi->imgfmt, mpi->type, mpi->flags, mpi->width, mpi->height); if (vf->priv->shot) { @@ -118,10 +119,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts) { mp_image_t *dmpi = (mp_image_t *)mpi->priv; - if (mpi->flags & MP_IMGFLAG_DRAW_CALLBACK) - dmpi = vf->dmpi; - else - if(!(mpi->flags&MP_IMGFLAG_DIRECT)){ + if(!(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK))){ dmpi=vf_get_image(vf->next,mpi->imgfmt, MP_IMGTYPE_EXPORT, 0, mpi->width, mpi->height); |