summaryrefslogtreecommitdiffstats
path: root/video/out/vo.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo.c')
-rw-r--r--video/out/vo.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/video/out/vo.c b/video/out/vo.c
index e01bb055d3..2b15543a99 100644
--- a/video/out/vo.c
+++ b/video/out/vo.c
@@ -938,8 +938,14 @@ static bool render_frame(struct vo *vo)
in->rendering = true;
in->hasframe_rendered = true;
int64_t prev_drop_count = vo->in->drop_count;
+ // Can the core queue new video now? Non-display-sync uses a separate
+ // timer instead.
+ bool can_queue =
+ !in->frame_queued && in->current_frame->num_vsyncs < 1 && use_vsync;
pthread_mutex_unlock(&in->lock);
- wakeup_core(vo); // core can queue new video now
+
+ if (can_queue)
+ wakeup_core(vo);
stats_time_start(in->stats, "video-draw");