summaryrefslogtreecommitdiffstats
path: root/input
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-05-29 23:56:48 +0200
committerwm4 <wm4@nowhere>2014-05-30 02:15:47 +0200
commit5929dc458f46f75648af1ee7a293e899e67d8e66 (patch)
tree6898eb4886328e9cd936ac6a6008acf4bcd6f6ba /input
parent35aba9675dd428f945a09ff9acc20aa068705f46 (diff)
downloadmpv-5929dc458f46f75648af1ee7a293e899e67d8e66.tar.bz2
mpv-5929dc458f46f75648af1ee7a293e899e67d8e66.tar.xz
audio/out/push: add mechanism for event-based waiting
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).
Diffstat (limited to 'input')
0 files changed, 0 insertions, 0 deletions