chiark / gitweb /
SIGTERM and wait for subprocesses on server shutdown.
[disorder] / lib / uaudio-coreaudio.c
index 8cde8c3d1b8751cd49a14427b864edf639a25355..5f28e671b8d1ac1a573f6fdc8882ac440e4acc45 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;
@@ -127,7 +128,7 @@ static void coreaudio_start(uaudio_callback *callback,
                    uaudio_bits);
   coreaudio_callback = callback;
   coreaudio_userdata = userdata;
-  device = uaudio_get("device");
+  device = uaudio_get("device", "default");
   coreaudio_adid = coreaudio_getdevice(device);
   /* Get the device properties */
   propertySize = sizeof asbd;
@@ -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