diff options
Diffstat (limited to 'video')
-rw-r--r-- | video/out/vo.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/video/out/vo.c b/video/out/vo.c index 0b197763a0..be9f8a3088 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -471,8 +471,10 @@ static void wait_vo(struct vo *vo, int64_t until_time) pthread_mutex_unlock(&in->lock); } else { pthread_mutex_lock(&in->lock); - if (!in->need_wakeup) - mpthread_cond_timedwait(&in->wakeup, &in->lock, until_time); + if (!in->need_wakeup) { + struct timespec ts = mp_time_us_to_timespec(until_time); + pthread_cond_timedwait(&in->wakeup, &in->lock, &ts); + } in->need_wakeup = false; pthread_mutex_unlock(&in->lock); } |