diff options
author | wm4 <wm4@nowhere> | 2013-05-15 18:17:18 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-05-26 16:44:18 +0200 |
commit | bf10a4fdfa40cbe519e6ccb7fb895332da2021d1 (patch) | |
tree | 8ff3a3b2601c85291c5531e4d0dc88266a6b7ef6 /video/out/vo.c | |
parent | c23bf5311fce3b59e9111e5de646ee57b48be27f (diff) | |
download | mpv-bf10a4fdfa40cbe519e6ccb7fb895332da2021d1.tar.bz2 mpv-bf10a4fdfa40cbe519e6ccb7fb895332da2021d1.tar.xz |
video/out: introduce vo_control for gl_common based VOs
Instead of having separate callbacks for each backend-handled feature
(like MPGLContext.fullscreen, MPGLContext.border, etc.), pass the
VOCTRL responsible for this directly to the backend. This allows
removing a bunch of callbacks, that currently must be set even for
optional/lesser features (like VOCTRL_BORDER).
This requires changes to all VOs using gl_common, as well as all
backends that support gl_common.
Also introduce VOCTRL_CHECK_EVENTS. vo.check_events is now optional.
VO backends can use VOCTRL_CHECK_EVENTS instead to implementing
check_events. This has the advantage that the event handling code in
VOs doesn't have to be duplicated if vo_control() is used.
Diffstat (limited to 'video/out/vo.c')
-rw-r--r-- | video/out/vo.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/video/out/vo.c b/video/out/vo.c index 753feaefeb..25b9375ad6 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -235,7 +235,9 @@ void vo_check_events(struct vo *vo) vo->registered_fd = -1; return; } - vo->driver->check_events(vo); + if (vo->driver->check_events) + vo->driver->check_events(vo); + vo_control(vo, VOCTRL_CHECK_EVENTS, NULL); } // Return the amount of time vo_check_events() should be called in milliseconds. |