summaryrefslogtreecommitdiffstats
path: root/video/out/vo_opengl.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo_opengl.c')
-rw-r--r--video/out/vo_opengl.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c
index dda9f1ed7e..464a6055fe 100644
--- a/video/out/vo_opengl.c
+++ b/video/out/vo_opengl.c
@@ -373,11 +373,18 @@ static int control(struct vo *vo, uint32_t request, void *data)
vo->want_redraw = true;
return r ? VO_TRUE : VO_NOTIMPL;
}
- case VOCTRL_SCREENSHOT_WIN:
+ case VOCTRL_SCREENSHOT_WIN: {
mpgl_lock(p->glctx);
- *(struct mp_image **)data = glGetWindowScreenshot(p->gl);
+ struct mp_image *screen = glGetWindowScreenshot(p->gl);
+ // set image parameters according to the display, if possible
+ if (screen) {
+ screen->params.primaries = p->renderer_opts->target_prim;
+ screen->params.gamma = p->renderer_opts->target_trc;
+ }
+ *(struct mp_image **)data = screen;
mpgl_unlock(p->glctx);
return true;
+ }
case VOCTRL_GET_HWDEC_INFO: {
struct mp_hwdec_info **arg = data;
*arg = &p->hwdec_info;