From de4c74e5a4a996e8ff431c8f33a32c4b580be203 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Sat, 11 Jun 2016 11:51:30 +0200 Subject: 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. --- video/out/cocoa_common.m | 11 ++++++----- 1 file 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) { -- cgit v1.2.3