diff options
Diffstat (limited to 'player')
-rw-r--r-- | player/client.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/player/client.c b/player/client.c index 4fba2912e7..afc4f32a68 100644 --- a/player/client.c +++ b/player/client.c @@ -284,8 +284,10 @@ static int wait_wakeup(struct mpv_handle *ctx, int64_t end) int r = 0; pthread_mutex_unlock(&ctx->lock); pthread_mutex_lock(&ctx->wakeup_lock); - if (!ctx->need_wakeup) - r = mpthread_cond_timedwait(&ctx->wakeup, &ctx->wakeup_lock, end); + if (!ctx->need_wakeup) { + struct timespec ts = mp_time_us_to_timespec(end); + r = pthread_cond_timedwait(&ctx->wakeup, &ctx->wakeup_lock, &ts); + } if (r == 0) ctx->need_wakeup = false; pthread_mutex_unlock(&ctx->wakeup_lock); |