summaryrefslogtreecommitdiffstats
path: root/player/client.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-09-16 14:23:54 +0200
committerwm4 <wm4@nowhere>2016-09-16 14:37:48 +0200
commitb8ade7c99b830ee9870040bcfc1f2c3d3a64d172 (patch)
tree48df8031d90be4e6e1f9c9c4045a72e21c33862c /player/client.c
parentf845f64c2abe4361084b4bc07f5f1ea5dd43ec9f (diff)
downloadmpv-b8ade7c99b830ee9870040bcfc1f2c3d3a64d172.tar.bz2
mpv-b8ade7c99b830ee9870040bcfc1f2c3d3a64d172.tar.xz
player, ao, vo: don't call mp_input_wakeup() directly
Currently, calling mp_input_wakeup() will wake up the core thread (also called the playloop). This seems odd, but currently the core indeed calls mp_input_wait() when it has nothing more to do. It's done this way because MPlayer used input_ctx as central "mainloop". This is probably going to change. Remove direct calls to this function, and replace it with mp_wakeup_core() calls. ao and vo are changed to use opaque callbacks and not use input_ctx for this purpose. Other code already uses opaque callbacks, or has legitimate reasons to use input_ctx directly (such as sending actual user input).
Diffstat (limited to 'player/client.c')
-rw-r--r--player/client.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/player/client.c b/player/client.c
index 803ef36fca..807fab5df6 100644
--- a/player/client.c
+++ b/player/client.c
@@ -424,8 +424,7 @@ void mpv_detach_destroy(mpv_handle *ctx)
ctx = NULL;
// shutdown_clients() sleeps to avoid wasting CPU.
// mp_hook_test_completion() also relies on this a bit.
- if (clients->mpctx->input)
- mp_input_wakeup(clients->mpctx->input);
+ mp_wakeup_core(clients->mpctx);
break;
}
}
@@ -759,8 +758,8 @@ mpv_event *mpv_wait_event(mpv_handle *ctx, double timeout)
pthread_mutex_lock(&ctx->lock);
- if (!ctx->fuzzy_initialized && ctx->clients->mpctx->input)
- mp_input_wakeup(ctx->clients->mpctx->input);
+ if (!ctx->fuzzy_initialized)
+ mp_wakeup_core(ctx->clients->mpctx);
ctx->fuzzy_initialized = true;
if (timeout < 0)