summaryrefslogtreecommitdiffstats
path: root/old-makefile
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-03-09 00:04:37 +0100
committerwm4 <wm4@nowhere>2014-03-09 01:27:41 +0100
commita477481aabaa16f1ed15af456125160bc8face5a (patch)
treec99949f3e13e7c7ba498c56edcbcfa433e487cd3 /old-makefile
parent5ffd6a9e9b7a0d894d7513ad20c24c2727426ecd (diff)
downloadmpv-a477481aabaa16f1ed15af456125160bc8face5a.tar.bz2
mpv-a477481aabaa16f1ed15af456125160bc8face5a.tar.xz
audio/out: feed AOs from a separate thread
This has 2 goals: - Ensure that AOs have always enough data, even if the device buffers are very small. - Reduce complexity in some AOs, which do their own buffering. One disadvantage is that performance is slightly reduced due to more copying. Implementation-wise, we don't change ao.c much, and instead "redirect" the driver's callback to an API wrapper in push.c. Additionally, we add code for dealing with AOs that have a pull API. These AOs usually do their own buffering (jack, coreaudio, portaudio), and adding a thread is basically a waste. The code in pull.c manages a ringbuffer, and allows callback-based AOs to read data directly.
Diffstat (limited to 'old-makefile')
-rw-r--r--old-makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/old-makefile b/old-makefile
index 0614829e6f..c2ca755335 100644
--- a/old-makefile
+++ b/old-makefile
@@ -181,6 +181,8 @@ SOURCES = audio/audio.c \
audio/out/ao.c \
audio/out/ao_null.c \
audio/out/ao_pcm.c \
+ audio/out/pull.c \
+ audio/out/push.c \
bstr/bstr.c \
common/asxparser.c \
common/av_common.c \