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).
This commit is contained in:
wm4
2016-09-16 14:23:54 +02:00
parent f845f64c2a
commit b8ade7c99b
17 changed files with 97 additions and 47 deletions

View File

@@ -306,7 +306,7 @@ static int cfg_include(void *ctx, char *filename, int flags)
void wakeup_playloop(void *ctx)
{
struct MPContext *mpctx = ctx;
mp_input_wakeup(mpctx->input);
mp_wakeup_core(mpctx);
}
struct MPContext *mp_create(void)