diff options
author | wm4 <wm4@nowhere> | 2015-11-15 13:17:54 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-11-15 13:17:54 +0100 |
commit | c7d82dd25c4a059386de562bc26e58bffd71b3fd (patch) | |
tree | 8e16830012389c52fcae3db4498c07d2410ad996 /video/out | |
parent | cf3b34f17aa3123996b93b7e76f8e2d58a32dedb (diff) | |
download | mpv-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.
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/vo.c | 8 |
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); |