X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/b50cfb8a0d4fc71877ae0bfcd7b28879886a2ac1..533272be9795de994b1bc3280315364f48a32dd1:/lib/uaudio-coreaudio.c diff --git a/lib/uaudio-coreaudio.c b/lib/uaudio-coreaudio.c index 81a5711..73cc287 100644 --- a/lib/uaudio-coreaudio.c +++ b/lib/uaudio-coreaudio.c @@ -26,6 +26,7 @@ #include "mem.h" #include "log.h" #include "syscalls.h" +#include "configuration.h" /** @brief Callback to request sample data */ static uaudio_callback *coreaudio_callback; @@ -137,14 +138,14 @@ static void coreaudio_start(uaudio_callback *callback, if(status) coreaudio_fatal(status, "AudioHardwareGetProperty"); D(("mSampleRate %f", asbd.mSampleRate)); - D(("mFormatID %08lx", asbd.mFormatID)); - D(("mFormatFlags %08lx", asbd.mFormatFlags)); - D(("mBytesPerPacket %08lx", asbd.mBytesPerPacket)); - D(("mFramesPerPacket %08lx", asbd.mFramesPerPacket)); - D(("mBytesPerFrame %08lx", asbd.mBytesPerFrame)); - D(("mChannelsPerFrame %08lx", asbd.mChannelsPerFrame)); - D(("mBitsPerChannel %08lx", asbd.mBitsPerChannel)); - D(("mReserved %08lx", asbd.mReserved)); + D(("mFormatID %08"PRIx32, (uint32_t)asbd.mFormatID)); + D(("mFormatFlags %08"PRIx32, (uint32_t)asbd.mFormatFlags)); + D(("mBytesPerPacket %08"PRIx32, (uint32_t)asbd.mBytesPerPacket)); + D(("mFramesPerPacket %08"PRIx32, (uint32_t)asbd.mFramesPerPacket)); + D(("mBytesPerFrame %08"PRIx32, (uint32_t)asbd.mBytesPerFrame)); + D(("mChannelsPerFrame %08"PRIx32, (uint32_t)asbd.mChannelsPerFrame)); + D(("mBitsPerChannel %08"PRIx32, (uint32_t)asbd.mBitsPerChannel)); + D(("mReserved %08"PRIx32, (uint32_t)asbd.mReserved)); /* Check that everything adds up */ if(asbd.mFormatID != kAudioFormatLinearPCM) disorder_fatal(0, "audio device does not support kAudioFormatLinearPCM"); @@ -182,13 +183,18 @@ static void coreaudio_deactivate(void) { coreaudio_fatal(status, "AudioDeviceStop"); } +static void coreaudio_configure(void) { + uaudio_set("device", config->device); +} + const struct uaudio uaudio_coreaudio = { .name = "coreaudio", .options = coreaudio_options, .start = coreaudio_start, .stop = coreaudio_stop, .activate = coreaudio_activate, - .deactivate = coreaudio_deactivate + .deactivate = coreaudio_deactivate, + .configure = coreaudio_configure, }; #endif