[PATCH 2/2] winecoreaudio: Fix deprecation warnings in audiounit.c.

Charles Davis cdavis at mymail.mines.edu
Sat Jan 29 17:45:54 CST 2011


---
 configure.ac                       |    5 ++++
 dlls/winecoreaudio.drv/audiounit.c |   40 +++++++++++++++++++++++++++--------
 2 files changed, 36 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac
index c0a9d7f..b4be299 100644
--- a/configure.ac
+++ b/configure.ac
@@ -719,6 +719,11 @@ case $host_os in
             dnl CoreServices needed by AudioUnit
             AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices -framework AudioToolbox -framework CoreMIDI")
         fi
+        dnl Check for the AUGraphAddNode function
+        ac_save_LIBS="$LIBS"
+        LIBS="$LIBS $COREAUDIO"
+        AC_CHECK_FUNCS(AUGraphAddNode)
+        LIBS="$ac_save_LIBS"
     fi
     if test "$ac_cv_header_OpenAL_al_h" = "yes"
     then
diff --git a/dlls/winecoreaudio.drv/audiounit.c b/dlls/winecoreaudio.drv/audiounit.c
index 5191669..bd0ad17 100644
--- a/dlls/winecoreaudio.drv/audiounit.c
+++ b/dlls/winecoreaudio.drv/audiounit.c
@@ -59,6 +59,18 @@ static inline OSStatus AudioComponentInstanceDispose(AudioComponentInstance aci)
 }
 #endif
 
+#ifndef HAVE_AUGRAPHADDNODE
+static inline OSStatus AUGraphAddNode(AUGraph graph, const AudioComponentDescription *desc, AUNode *node)
+{
+    return AUGraphNewNode(graph, desc, 0, NULL, node);
+}
+
+static inline OSStatus AUGraphNodeInfo(AUGraph graph, AUNode node, AudioComponentDescription *desc, AudioUnit *au)
+{
+    return AUGraphGetNodeInfo(graph, node, desc, 0, NULL, au);
+}
+#endif
+
 WINE_DEFAULT_DEBUG_CHANNEL(wave);
 WINE_DECLARE_DEBUG_CHANNEL(midi);
 
@@ -194,11 +206,15 @@ int AudioUnit_GetInputDeviceSampleRate(void)
 {
     AudioDeviceID               defaultInputDevice;
     UInt32                      param;
+    AudioObjectPropertyAddress  propertyAddress;
     Float64                     sampleRate;
     OSStatus                    err;
 
     param = sizeof(defaultInputDevice);
-    err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice, &param, &defaultInputDevice);
+    propertyAddress.mSelector = kAudioHardwarePropertyDefaultInputDevice;
+    propertyAddress.mScope = kAudioObjectPropertyScopeGlobal;
+    propertyAddress.mElement = kAudioObjectPropertyElementMaster;
+    err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propertyAddress, 0, NULL, &param, &defaultInputDevice);
     if (err != noErr || defaultInputDevice == kAudioDeviceUnknown)
     {
         ERR("Couldn't get the default audio input device ID: %08lx\n", err);
@@ -206,7 +222,9 @@ int AudioUnit_GetInputDeviceSampleRate(void)
     }
 
     param = sizeof(sampleRate);
-    err = AudioDeviceGetProperty(defaultInputDevice, 0, 1, kAudioDevicePropertyNominalSampleRate, &param, &sampleRate);
+    propertyAddress.mSelector = kAudioDevicePropertyNominalSampleRate;
+    propertyAddress.mScope = kAudioDevicePropertyScopeInput;
+    err = AudioObjectGetPropertyData(defaultInputDevice, &propertyAddress, 0, NULL, &param, &sampleRate);
     if (err != noErr)
     {
         ERR("Couldn't get the device sample rate: %08lx\n", err);
@@ -226,6 +244,7 @@ int AudioUnit_CreateInputUnit(void* wwi, AudioUnit* out_au,
     AudioComponent              component;
     AudioUnit                   au;
     UInt32                      param;
+    AudioObjectPropertyAddress  propertyAddress;
     AURenderCallbackStruct      callback;
     AudioDeviceID               defaultInputDevice;
     AudioStreamBasicDescription desiredFormat;
@@ -291,7 +310,10 @@ int AudioUnit_CreateInputUnit(void* wwi, AudioUnit* out_au,
 
     /* Find the default input device */
     param = sizeof(defaultInputDevice);
-    err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice, &param, &defaultInputDevice);
+    propertyAddress.mSelector = kAudioHardwarePropertyDefaultInputDevice;
+    propertyAddress.mScope = kAudioObjectPropertyScopeGlobal;
+    propertyAddress.mElement = kAudioObjectPropertyElementMaster;
+    err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propertyAddress, 0, NULL, &param, &defaultInputDevice);
     if (err != noErr || defaultInputDevice == kAudioDeviceUnknown)
     {
         ERR("Couldn't get the default audio device ID: %08lx\n", err);
@@ -396,10 +418,10 @@ int SynthUnit_CreateDefaultSynthUnit(AUGraph *graph, AudioUnit *synth)
     desc.componentType = kAudioUnitType_MusicDevice;
     desc.componentSubType = kAudioUnitSubType_DLSSynth;
 
-    err = AUGraphNewNode(*graph, &desc, 0, NULL, &synthNode);
+    err = AUGraphAddNode(*graph, &desc, &synthNode);
     if (err != noErr)
     {
-        ERR_(midi)("AUGraphNewNode cannot create synthNode : %s\n", wine_dbgstr_fourcc(err));
+        ERR_(midi)("AUGraphAddNode cannot create synthNode : %s\n", wine_dbgstr_fourcc(err));
         return 0;
     }
 
@@ -407,10 +429,10 @@ int SynthUnit_CreateDefaultSynthUnit(AUGraph *graph, AudioUnit *synth)
     desc.componentType = kAudioUnitType_Output;
     desc.componentSubType = kAudioUnitSubType_DefaultOutput;
 
-    err = AUGraphNewNode(*graph, &desc, 0, NULL, &outNode);
+    err = AUGraphAddNode(*graph, &desc, &outNode);
     if (err != noErr)
     {
-        ERR_(midi)("AUGraphNewNode cannot create outNode %s\n", wine_dbgstr_fourcc(err));
+        ERR_(midi)("AUGraphAddNode cannot create outNode %s\n", wine_dbgstr_fourcc(err));
         return 0;
     }
 
@@ -430,10 +452,10 @@ int SynthUnit_CreateDefaultSynthUnit(AUGraph *graph, AudioUnit *synth)
     }
 
     /* Get the synth unit */
-    err = AUGraphGetNodeInfo(*graph, synthNode, 0, 0, 0, synth);
+    err = AUGraphNodeInfo(*graph, synthNode, 0, synth);
     if (err != noErr)
     {
-        ERR_(midi)("AUGraphGetNodeInfo return %s\n", wine_dbgstr_fourcc(err));
+        ERR_(midi)("AUGraphNodeInfo return %s\n", wine_dbgstr_fourcc(err));
         return 0;
     }
 
-- 
1.7.4.rc3




More information about the wine-patches mailing list