From 9490b628c57e109b8e504dafeb43f409885c0337 Mon Sep 17 00:00:00 2001 From: Akemi Date: Wed, 18 Jan 2017 17:22:32 +0100 Subject: cocoa: don't init displaylink on reconfig everytime we switched to a new video file a new displaylink was initialised and started, but the old one was not stopped and released beforehand. this lead to several displaylink callback calls per swap, depending on how many files were switched beforehand. moving the displaylink init call to the cocoa init functions will ever only init one displaylink. Fixes #4031 --- video/out/cocoa_common.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'video') diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index bf702c4cd4..2d4a4c517c 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -350,6 +350,7 @@ void vo_cocoa_init(struct vo *vo) pthread_cond_init(&s->sync_wakeup, NULL); vo->cocoa = s; vo_cocoa_update_screen_info(vo); + vo_cocoa_init_displaylink(vo); cocoa_init_light_sensor(vo); cocoa_add_screen_reconfiguration_observer(vo); if (!s->embedded) { @@ -637,7 +638,6 @@ int vo_cocoa_config_window(struct vo *vo) struct mp_vo_opts *opts = vo->opts; run_on_main_thread(vo, ^{ - vo_cocoa_init_displaylink(vo); vo_cocoa_update_screen_fps(vo); NSRect r = [s->current_screen frame]; -- cgit v1.2.3