mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 20:03:10 +02:00
5929dc458f
Until now, we've always calculated a timeout based on a heuristic when to refill the audio buffers. Allow AOs to do it completely event-based by providing wait and wakeup callbacks. This also shuffles around the heuristic used for other AOs, and there is a minor possibility that behavior slightly changes in real-world cases. But in general it should be much more robust now. ao_pulse.c now makes use of event-based waiting. It already did before, but the code for time-based waiting was also involved. This commit also removes one awkward artifact of the PulseAudio API out of the generic code: the callback asking for more data can be reentrant, and thus requires a separate lock for waiting (or a recursive mutex). |
||
---|---|---|
.. | ||
decode | ||
filter | ||
out | ||
audio_buffer.c | ||
audio_buffer.h | ||
audio.c | ||
audio.h | ||
chmap_sel.c | ||
chmap_sel.h | ||
chmap.c | ||
chmap.h | ||
fmt-conversion.c | ||
fmt-conversion.h | ||
format.c | ||
format.h | ||
mixer.c | ||
mixer.h |