mpv/audio
wm4 a477481aab 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.
2014-03-09 01:27:41 +01:00
..
decode Factor out setting AVCodecContext extradata 2014-01-11 01:25:49 +01:00
filter audio/filter: remove redundant log message prefixes 2014-01-24 21:30:15 +01:00
out audio/out: feed AOs from a separate thread 2014-03-09 01:27:41 +01:00
audio.c audio: check for overflows 2014-01-03 00:42:40 +01:00
audio.h audio: better rejection of invalid formats 2013-11-27 00:16:05 +01:00
audio_buffer.c Split mpvcore/ into common/, misc/, bstr/ 2013-12-17 02:39:45 +01:00
audio_buffer.h audio: add mp_audio_buffer 2013-11-12 23:28:21 +01:00
chmap.c m_option, m_config: mp_msg conversions 2013-12-21 21:05:02 +01:00
chmap.h audio: add enum name for speaker id 2014-02-28 20:54:15 +01:00
chmap_sel.c
chmap_sel.h
fmt-conversion.c audio: fix format ID conversion 2013-12-23 21:24:41 +01:00
fmt-conversion.h
format.c Split mpvcore/ into common/, misc/, bstr/ 2013-12-17 02:39:45 +01:00
format.h audio: fix signedness of AF_FORMAT_S32P 2014-02-05 18:53:00 +01:00
mixer.c audio/out: feed AOs from a separate thread 2014-03-09 01:27:41 +01:00
mixer.h command: use the step size for "add volume" commands 2014-02-27 01:07:46 +01:00
reorder_ch.c ao_lavc: support non-interleaved audio 2013-11-13 20:10:17 +01:00
reorder_ch.h ao_lavc: support non-interleaved audio 2013-11-13 20:10:17 +01:00