diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2016-06-11 11:51:30 +0200 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2016-06-11 11:58:07 +0200 |
commit | de4c74e5a4a996e8ff431c8f33a32c4b580be203 (patch) | |
tree | 1397d8d0e54e7543a933b5ccc2d6b27910a5461e | |
parent | 9cc55070791506113126eb303e4647348813b119 (diff) | |
download | mpv-de4c74e5a4a996e8ff431c8f33a32c4b580be203.tar.bz2 mpv-de4c74e5a4a996e8ff431c8f33a32c4b580be203.tar.xz |
cocoa: use displaylink without manually tracking the display id
Maybe it partially helps with #2392 (on dual display setups). Either way, it
makes the code simpler.
-rw-r--r-- | video/out/cocoa_common.m | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index 30b832da75..e1d1e18d57 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -370,13 +370,14 @@ static void vo_cocoa_update_screens_pointers(struct vo *vo) static void vo_cocoa_update_screen_fps(struct vo *vo) { struct vo_cocoa_state *s = vo->cocoa; - NSScreen *screen = vo->opts->fullscreen ? s->fs_screen : s->current_screen; - NSDictionary* sinfo = [screen deviceDescription]; - NSNumber* sid = [sinfo objectForKey:@"NSScreenNumber"]; - CGDirectDisplayID did = [sid longValue]; CVDisplayLinkRef link; - CVDisplayLinkCreateWithCGDisplay(did, &link); + CVDisplayLinkCreateWithActiveCGDisplays(&link); + CVDisplayLinkStart(link); + + CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext( + link, s->cgl_ctx, CGLGetPixelFormat(s->cgl_ctx)); + s->screen_fps = CVDisplayLinkGetActualOutputVideoRefreshPeriod(link); if (s->screen_fps == 0) { |