summaryrefslogtreecommitdiffstats
path: root/video/out/wayland_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/wayland_common.c')
-rw-r--r--video/out/wayland_common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c
index eb1e0f8c21..ecea6fedeb 100644
--- a/video/out/wayland_common.c
+++ b/video/out/wayland_common.c
@@ -1717,6 +1717,17 @@ void vo_wayland_wait_frame(struct vo_wayland_state *wl)
wl_display_dispatch_pending(wl->display);
}
+ if (!wl->hidden && wl->frame_wait) {
+ wl->timeout_count += 1;
+ if (wl->timeout_count > wl->current_output->refresh_rate)
+ wl->hidden = true;
+ }
+
+ if (!wl->frame_wait) {
+ wl->timeout_count = 0;
+ wl->hidden = false;
+ }
+
if (wl_display_get_error(wl->display) == 0)
wl_display_roundtrip(wl->display);
}