summaryrefslogtreecommitdiffstats
path: root/audio/out/ao_coreaudio_utils.h
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2014-06-30 19:09:03 +0200
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2014-07-02 21:43:07 +0200
commit041557b639fad95919068aba617c0cd1bd7cc6a1 (patch)
treeeef70e4de890cdf2bbba2b81e306d84839e9982e /audio/out/ao_coreaudio_utils.h
parent7084e800bebdb2a9c1420763a5d1b17d75054bfc (diff)
downloadmpv-041557b639fad95919068aba617c0cd1bd7cc6a1.tar.bz2
mpv-041557b639fad95919068aba617c0cd1bd7cc6a1.tar.xz
ao_coreaudio: move spdif code to a new AO
The mplayer1/2/mpv CoreAudio audio output historically contained both usage of AUHAL APIs (these go through the CoreAudio audio server) and the Device based APIs (used only for output of compressed formats in exclusive mode). The latter is a very unwieldy and low level API and pretty much forces us to write a lot of code for little workr. Also with the widespread of HDMI, the actual need for outputting compressed audio directly to the device is getting lower (it was very useful with S/PDIF for bandwidth constraints not allowing a number if channels transmitted in LPCM). Considering how invasive it is (uses hog/exclusive mode), the new AO (`ao_coreaudio_device`) is not going to be autoprobed but the user will have to select it.
Diffstat (limited to 'audio/out/ao_coreaudio_utils.h')
-rw-r--r--audio/out/ao_coreaudio_utils.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/audio/out/ao_coreaudio_utils.h b/audio/out/ao_coreaudio_utils.h
index 9218ccf00d..f44ea28e82 100644
--- a/audio/out/ao_coreaudio_utils.h
+++ b/audio/out/ao_coreaudio_utils.h
@@ -46,6 +46,9 @@ bool check_ca_st(struct ao *ao, int level, OSStatus code, const char *message);
if (err != noErr) goto label; \
} while (0)
+void ca_print_device_list(struct ao *ao);
+OSStatus ca_select_device(struct ao *ao, int selection, AudioDeviceID *device);
+
void ca_print_asbd(struct ao *ao, const char *description,
const AudioStreamBasicDescription *asbd);