summaryrefslogtreecommitdiffstats
path: root/player/client.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-05-18 16:36:08 +0200
committerwm4 <wm4@nowhere>2014-05-18 19:20:32 +0200
commitf47a4fc3d900e14653bc059717e2805ad4964a67 (patch)
treea8ca8944a10c15bbb46239db62a56940a0d3f7b1 /player/client.c
parente209e44ca2fef86ec2ec5513bbb63d4d68ff97b5 (diff)
downloadmpv-f47a4fc3d900e14653bc059717e2805ad4964a67.tar.bz2
mpv-f47a4fc3d900e14653bc059717e2805ad4964a67.tar.xz
threads: use mpv time for mpthread_cond_timedwait wrapper
Use the time as returned by mp_time_us() for mpthread_cond_timedwait(), instead of calculating the struct timespec value based on a timeout. This (probably) makes it easier to wait for a specific deadline.
Diffstat (limited to 'player/client.c')
-rw-r--r--player/client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/player/client.c b/player/client.c
index a867681d34..88ebabafaa 100644
--- a/player/client.c
+++ b/player/client.c
@@ -477,7 +477,7 @@ mpv_event *mpv_wait_event(mpv_handle *ctx, double timeout)
{
mpv_event *event = ctx->cur_event;
- struct timespec deadline = mpthread_get_deadline(timeout);
+ int64_t deadline = mp_add_timeout(mp_time_us(), timeout);
pthread_mutex_lock(&ctx->lock);
@@ -519,7 +519,7 @@ mpv_event *mpv_wait_event(mpv_handle *ctx, double timeout)
break;
if (timeout <= 0)
break;
- int r = pthread_cond_timedwait(&ctx->wakeup, &ctx->lock, &deadline);
+ int r = mpthread_cond_timedwait(&ctx->wakeup, &ctx->lock, deadline);
if (r == ETIMEDOUT)
break;
}