diff options
author | wm4 <wm4@nowhere> | 2015-01-24 22:56:02 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-24 23:16:27 +0100 |
commit | 28582322207bb962553505f0c25268f4b786287d (patch) | |
tree | 8c9611a9161f48338701fc506646aaedd8c1a491 /video/out/vo_vdpau.c | |
parent | 047788e3b1354562f99ce8dacdba1972ad990d03 (diff) | |
download | mpv-28582322207bb962553505f0c25268f4b786287d.tar.bz2 mpv-28582322207bb962553505f0c25268f4b786287d.tar.xz |
vo: simplify VOs by adding generic screenshot support
At the time screenshot support was added, images weren't refcounted yet,
so screenshots required specialized implementations in the VOs. But now
we can handle these things much simpler. Also see commit 5bb24980.
If there are VOs in the future which can't do this (e.g. they need to
write to the image passed to vo_driver->draw_image), this still could be
disabled on a per-VO basis etc., so we lose no potential performance
advantages.
Diffstat (limited to 'video/out/vo_vdpau.c')
-rw-r--r-- | video/out/vo_vdpau.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/video/out/vo_vdpau.c b/video/out/vo_vdpau.c index 1a1287c1d7..528756c05f 100644 --- a/video/out/vo_vdpau.c +++ b/video/out/vo_vdpau.c @@ -1049,18 +1049,10 @@ static int control(struct vo *vo, uint32_t request, void *data) forget_frames(vo, true); return true; case VOCTRL_SCREENSHOT_WIN: - case VOCTRL_SCREENSHOT: - { if (!status_ok(vo)) return false; - if (request == VOCTRL_SCREENSHOT_WIN) { - *(struct mp_image **)data = get_window_screenshot(vo); - } else { - *(struct mp_image **)data = - vc->current_image ? mp_image_new_ref(vc->current_image) : NULL; - } + *(struct mp_image **)data = get_window_screenshot(vo); return true; - } case VOCTRL_GET_PREF_DEINT: *(int *)data = vc->deint; return true; |