audio/coreaudio.c: Factor out use of AudioHardwareGetProperty
authorPeter Maydell <peter.maydell@linaro.org>
Sat, 28 Nov 2015 21:55:20 +0000 (21:55 +0000)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 15 Dec 2015 10:08:11 +0000 (11:08 +0100)
The CoreAudio function AudioHardwareGetProperty has been deprecated
starting with OSX 10.6, so factor out our call to it so we can
provide an equivalent with the new APIs when they exist.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1448747724-15572-2-git-send-email-peter.maydell@linaro.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
audio/coreaudio.c

index 6dfd63e..433e009 100644 (file)
@@ -50,6 +50,16 @@ typedef struct coreaudioVoiceOut {
     int rpos;
 } coreaudioVoiceOut;
 
+static OSStatus coreaudio_get_voice(AudioDeviceID *id)
+{
+    UInt32 size = sizeof(*id);
+
+    return AudioHardwareGetProperty(
+        kAudioHardwarePropertyDefaultOutputDevice,
+        &size,
+        id);
+}
+
 static void coreaudio_logstatus (OSStatus status)
 {
     const char *str = "BUG";
@@ -303,12 +313,7 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as,
 
     audio_pcm_init_info (&hw->info, as);
 
-    /* open default output device */
-    propertySize = sizeof(core->outputDeviceID);
-    status = AudioHardwareGetProperty(
-        kAudioHardwarePropertyDefaultOutputDevice,
-        &propertySize,
-        &core->outputDeviceID);
+    status = coreaudio_get_voice(&core->outputDeviceID);
     if (status != kAudioHardwareNoError) {
         coreaudio_logerr2 (status, typ,
                            "Could not get default output Device\n");