summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-11-15 13:17:54 +0100
committerwm4 <wm4@nowhere>2015-11-15 13:17:54 +0100
commitc7d82dd25c4a059386de562bc26e58bffd71b3fd (patch)
tree8e16830012389c52fcae3db4498c07d2410ad996
parentcf3b34f17aa3123996b93b7e76f8e2d58a32dedb (diff)
downloadmpv-c7d82dd25c4a059386de562bc26e58bffd71b3fd.tar.bz2
mpv-c7d82dd25c4a059386de562bc26e58bffd71b3fd.tar.xz
vo: fix unpausing with display-sync
Currently, vo.c will always continue to render the currently queued frame, which sets last_flip, which in turn confuses vo_get_delay(), which in turn will show a bogus A/V desync message on unpause. So just reset it again on unpause.
-rw-r--r--video/out/vo.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/video/out/vo.c b/video/out/vo.c
index 9e1d1c3dd2..c260ac7f0f 100644
--- a/video/out/vo.c
+++ b/video/out/vo.c
@@ -868,11 +868,9 @@ void vo_set_paused(struct vo *vo, bool paused)
pthread_mutex_lock(&in->lock);
if (in->paused != paused) {
in->paused = paused;
- if (in->paused) {
- if (in->dropped_frame)
- in->request_redraw = true;
- in->last_flip = 0;
- }
+ if (in->paused && in->dropped_frame)
+ in->request_redraw = true;
+ in->last_flip = 0;
}
pthread_mutex_unlock(&in->lock);
vo_control(vo, paused ? VOCTRL_PAUSE : VOCTRL_RESUME, NULL);