summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2012-04-03 08:13:12 +0200
committerUoti Urpala <uau@mplayer2.org>2012-04-26 21:03:10 +0300
commit86790494d38c4f33f74875e1ab7a9dc1bdae1772 (patch)
tree8ce20af25b97382c5d0dea00ce0ff206f725d008 /libvo
parent9646208cc671721fce2253a3c5d40b1961810a87 (diff)
downloadmpv-86790494d38c4f33f74875e1ab7a9dc1bdae1772.tar.bz2
mpv-86790494d38c4f33f74875e1ab7a9dc1bdae1772.tar.xz
OSX, input: implement wakeup in response to Cocoa events
Add code to wake up the select() call in input.c when an OSX event is available and a Cocoa OpenGL backend is initialized. Fixes the slow response to input or other events in Cocoa-based VOs during long select() sleeps (e.g., when mplayer2 is paused) introduced by commit 7040968.
Diffstat (limited to 'libvo')
-rw-r--r--libvo/cocoa_common.h2
-rw-r--r--libvo/cocoa_common.m6
2 files changed, 8 insertions, 0 deletions
diff --git a/libvo/cocoa_common.h b/libvo/cocoa_common.h
index a118f37149..89b0ea663b 100644
--- a/libvo/cocoa_common.h
+++ b/libvo/cocoa_common.h
@@ -22,6 +22,8 @@
#include "video_out.h"
+bool vo_cocoa_gui_running(void);
+
int vo_cocoa_init(struct vo *vo);
void vo_cocoa_uninit(struct vo *vo);
diff --git a/libvo/cocoa_common.m b/libvo/cocoa_common.m
index 71a8072b7c..63e8e90db4 100644
--- a/libvo/cocoa_common.m
+++ b/libvo/cocoa_common.m
@@ -112,6 +112,11 @@ struct vo_cocoa_state *vo_cocoa_init_state(void)
return s;
}
+bool vo_cocoa_gui_running(void)
+{
+ return !!s;
+}
+
int vo_cocoa_init(struct vo *vo)
{
s = vo_cocoa_init_state();
@@ -137,6 +142,7 @@ void vo_cocoa_uninit(struct vo *vo)
s->pool = nil;
talloc_free(s);
+ s = nil;
}
void update_screen_info(void)