summaryrefslogtreecommitdiffstats
path: root/video/out/gl_common.h
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2015-03-22 02:32:03 +0200
committerwm4 <wm4@nowhere>2015-03-23 21:53:32 +0100
commit3a6ade7a848f5213525430d9049e96e642638fc8 (patch)
treef0341a228f43f67883b82bf9ebbbd03fefd6388a /video/out/gl_common.h
parentc10fb4ce9fcd3dbbf69741eb8499c4cfabbf5412 (diff)
downloadmpv-3a6ade7a848f5213525430d9049e96e642638fc8.tar.bz2
mpv-3a6ade7a848f5213525430d9049e96e642638fc8.tar.xz
vo_opengl: do not block on wayland
When not receiving frame callbacks, we should not draw anything to avoid blocking the OpenGL renderer. We do this by extending gl context api, by introducing new optional function 'is_active', that indicates whether OpenGL renderers should draw or not. This fixes issue #249.
Diffstat (limited to 'video/out/gl_common.h')
-rw-r--r--video/out/gl_common.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/video/out/gl_common.h b/video/out/gl_common.h
index 1cb3a5c441..1d33682f3e 100644
--- a/video/out/gl_common.h
+++ b/video/out/gl_common.h
@@ -109,6 +109,10 @@ typedef struct MPGLContext {
void (*register_resize_callback)(struct vo *vo,
void (*cb)(struct vo *vo, int w, int h));
+ // Optional activity state of context.
+ // If false, OpenGL renderers should not draw anything.
+ bool (*is_active)(struct MPGLContext *);
+
// For free use by the backend.
void *priv;
} MPGLContext;