diff options
Diffstat (limited to 'input')
-rw-r--r-- | input/input.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/input/input.c b/input/input.c index 6a3a174bcd..6984676dfb 100644 --- a/input/input.c +++ b/input/input.c @@ -854,14 +854,17 @@ void mp_input_wait(struct input_ctx *ictx, double seconds) } } -void mp_input_wakeup(struct input_ctx *ictx) +void mp_input_wakeup_nolock(struct input_ctx *ictx) { + // Some audio APIs discourage use of locking in their audio callback, + // and these audio callbacks happen to call mp_input_wakeup_nolock() + // when new data is needed. This is why we use semaphores here. sem_post(&ictx->wakeup); } -void mp_input_wakeup_nolock(struct input_ctx *ictx) +void mp_input_wakeup(struct input_ctx *ictx) { - mp_input_wakeup(ictx); + mp_input_wakeup_nolock(ictx); } mp_cmd_t *mp_input_read_cmd(struct input_ctx *ictx) |