diff options
author | wm4 <wm4@nowhere> | 2016-09-04 15:43:12 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-09-04 18:05:36 +0200 |
commit | 2619d8eff4e2c1cf54574acfbd0cd5895e362e45 (patch) | |
tree | d7ae05f444c26314464b72e890874ba08394ee44 /player/client.c | |
parent | d889d1fbaa28abec6b71d2ee0d9b9f8e62c09c04 (diff) | |
download | mpv-2619d8eff4e2c1cf54574acfbd0cd5895e362e45.tar.bz2 mpv-2619d8eff4e2c1cf54574acfbd0cd5895e362e45.tar.xz |
client API: implement mpv_suspend/resume slightly differently
Why do these API calls even still exist? I don't know, and maybe they
don't make any sense anymore. But whether they should be removed or not
is not a decision I want to make now. I want to get rid of
mp_dispatch_suspend/resume(), though. So implement the client APIs
slightly differently.
Diffstat (limited to 'player/client.c')
-rw-r--r-- | player/client.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/player/client.c b/player/client.c index 81b94abd22..ac89d3a141 100644 --- a/player/client.c +++ b/player/client.c @@ -330,8 +330,11 @@ void mpv_suspend(mpv_handle *ctx) } pthread_mutex_unlock(&ctx->lock); - if (do_suspend) - mp_dispatch_suspend(ctx->mpctx->dispatch); + if (do_suspend) { + mp_dispatch_lock(ctx->mpctx->dispatch); + ctx->mpctx->suspend_count++; + mp_dispatch_unlock(ctx->mpctx->dispatch); + } } void mpv_resume(mpv_handle *ctx) @@ -347,8 +350,11 @@ void mpv_resume(mpv_handle *ctx) } pthread_mutex_unlock(&ctx->lock); - if (do_resume) - mp_dispatch_resume(ctx->mpctx->dispatch); + if (do_resume) { + mp_dispatch_lock(ctx->mpctx->dispatch); + ctx->mpctx->suspend_count--; + mp_dispatch_unlock(ctx->mpctx->dispatch); + } } void mp_resume_all(mpv_handle *ctx) @@ -358,8 +364,11 @@ void mp_resume_all(mpv_handle *ctx) ctx->suspend_count = 0; pthread_mutex_unlock(&ctx->lock); - if (do_resume) - mp_dispatch_resume(ctx->mpctx->dispatch); + if (do_resume) { + mp_dispatch_lock(ctx->mpctx->dispatch); + ctx->mpctx->suspend_count--; + mp_dispatch_unlock(ctx->mpctx->dispatch); + } } static void lock_core(mpv_handle *ctx) |