CoreAudio: add audio device module

This patch adds support for CoreAudio driven devices under Mac OS X. It
is typically instanciated by the CoreAudio device detection module and
handles all available streams on a specific device.

Sinks are created according to the reported stream configuration.
Float32 is used as default audio sample format at it is the only format
CoreAudio speaks natively.

Hardware volume control is not implemented yet.
This commit is contained in:
Daniel Mack 2009-09-22 11:27:57 +08:00
parent a23f5cf33d
commit 7732421a27
2 changed files with 828 additions and 1 deletions

View file

@ -1068,7 +1068,8 @@ endif
if HAVE_COREAUDIO
modlibexec_LTLIBRARIES += \
module-coreaudio-detect.la
module-coreaudio-detect.la \
module-coreaudio-device.la
endif
pulselibexec_PROGRAMS =
@ -1244,6 +1245,7 @@ SYMDEF_FILES = \
modules/alsa/module-alsa-source-symdef.h \
modules/alsa/module-alsa-card-symdef.h \
modules/coreaudio/module-coreaudio-detect-symdef.h \
modules/coreaudio/module-coreaudio-device-symdef.h \
modules/module-solaris-symdef.h \
modules/module-waveout-symdef.h \
modules/module-detect-symdef.h \
@ -1483,6 +1485,11 @@ module_coreaudio_detect_la_LDFLAGS = $(MODULE_LDFLAGS) \
-Wl,-framework -Wl,AudioUnit -framework AudioUnit
module_coreaudio_detect_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la
module_coreaudio_device_la_SOURCES = modules/coreaudio/module-coreaudio-device.c
module_coreaudio_device_la_LDFLAGS = $(MODULE_LDFLAGS) \
-Wl,-framework -Wl,Cocoa -framework CoreAudio \
-Wl,-framework -Wl,AudioUnit -framework AudioUnit
module_coreaudio_device_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la
# ALSA
libalsa_util_la_SOURCES = modules/alsa/alsa-util.c modules/alsa/alsa-util.h modules/alsa/alsa-mixer.c modules/alsa/alsa-mixer.h modules/alsa/alsa-sink.c modules/alsa/alsa-sink.h modules/alsa/alsa-source.c modules/alsa/alsa-source.h modules/reserve-wrap.c modules/reserve-wrap.h