chiark / gitweb /
Merge mac build fix
[disorder] / lib / uaudio-coreaudio.c
index 81a5711b924bdb99f1e500834eae33a31cd83288..6ca3f708071b7743475d6e4a0eb3388c71417eee 100644 (file)
@@ -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, asbd.mFormatID));
+  D(("mFormatFlags      %08"PRIx32, asbd.mFormatFlags));
+  D(("mBytesPerPacket   %08"PRIx32, asbd.mBytesPerPacket));
+  D(("mFramesPerPacket  %08"PRIx32, asbd.mFramesPerPacket));
+  D(("mBytesPerFrame    %08"PRIx32, asbd.mBytesPerFrame));
+  D(("mChannelsPerFrame %08"PRIx32, asbd.mChannelsPerFrame));
+  D(("mBitsPerChannel   %08"PRIx32, asbd.mBitsPerChannel));
+  D(("mReserved         %08"PRIx32, 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