summaryrefslogtreecommitdiffstats
path: root/video/out/cocoa_common.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-05-12 22:31:03 +0200
committerwm4 <wm4@nowhere>2015-05-12 22:31:03 +0200
commit7735b297329ed730f410b0b3cb6503eeea04ee90 (patch)
treeda08f366b88b5ebeea671c662d0be7eb1e09fe7a /video/out/cocoa_common.h
parent434343d634177f4ca1d245d22107b905fbec0b74 (diff)
downloadmpv-7735b297329ed730f410b0b3cb6503eeea04ee90.tar.bz2
mpv-7735b297329ed730f410b0b3cb6503eeea04ee90.tar.xz
cocoa: handle live-resizing differently
Instead of requiring a complicated mechanism to share the entire OpenGL and renderer state between VO and Cocoa thread just to do the redrawing during live-resize on the Cocoa thread, let the Cocoa thread wait on the VO thread. This wil allow some major simplifications and cleanups in the future. One problem with this is that it can enter a deadlock whenever the VO tries to sync with the Cocoa thread. To deal with this, the Cocoa thread waits with a timeout. This can probably be improved later, though in general this situation can always happen, unless the Cocoa thread waits in a reentrant way. Some other details aren't completely clean either. For example, pending_events should be accessed atomically. This will also be fixed later.
Diffstat (limited to 'video/out/cocoa_common.h')
-rw-r--r--video/out/cocoa_common.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/video/out/cocoa_common.h b/video/out/cocoa_common.h
index 0912fbb5c8..9adae029c7 100644
--- a/video/out/cocoa_common.h
+++ b/video/out/cocoa_common.h
@@ -30,14 +30,10 @@ void vo_cocoa_uninit(struct vo *vo);
int vo_cocoa_config_window(struct vo *vo, uint32_t flags);
void vo_cocoa_set_current_context(struct vo *vo, bool current);
-bool vo_cocoa_start_frame(struct vo *vo);
void vo_cocoa_swap_buffers(struct vo *vo);
int vo_cocoa_check_events(struct vo *vo);
int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg);
-void vo_cocoa_register_resize_callback(struct vo *vo,
- void (*cb)(struct vo *vo, int w, int h));
-
void vo_cocoa_create_nsgl_ctx(struct vo *vo, void *ctx);
void vo_cocoa_release_nsgl_ctx(struct vo *vo);