summaryrefslogtreecommitdiffstats
path: root/src/plugins/coreaudio
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/coreaudio')
-rw-r--r--src/plugins/coreaudio/coreaudioinput.mm33
-rw-r--r--src/plugins/coreaudio/coreaudiooutput.mm32
2 files changed, 11 insertions, 54 deletions
diff --git a/src/plugins/coreaudio/coreaudioinput.mm b/src/plugins/coreaudio/coreaudioinput.mm
index 79e6742c2..f7d511d27 100644
--- a/src/plugins/coreaudio/coreaudioinput.mm
+++ b/src/plugins/coreaudio/coreaudioinput.mm
@@ -42,7 +42,7 @@
#include "coreaudioutils.h"
#if defined(Q_OS_OSX)
-# include <CoreServices/CoreServices.h>
+# include <AudioUnit/AudioComponent.h>
#endif
#if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
@@ -486,31 +486,15 @@ bool CoreAudioInput::open()
if (m_isOpen)
return true;
-#if defined(Q_OS_OSX)
UInt32 size = 0;
- ComponentDescription componentDescription;
- componentDescription.componentType = kAudioUnitType_Output;
- componentDescription.componentSubType = kAudioUnitSubType_HALOutput;
- componentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
- componentDescription.componentFlags = 0;
- componentDescription.componentFlagsMask = 0;
-
- // Open
- Component component = FindNextComponent(NULL, &componentDescription);
- if (component == 0) {
- qWarning() << "QAudioInput: Failed to find HAL Output component";
- return false;
- }
-
- if (OpenAComponent(component, &m_audioUnit) != noErr) {
- qWarning() << "QAudioInput: Unable to Open Output Component";
- return false;
- }
-#else //iOS
AudioComponentDescription componentDescription;
componentDescription.componentType = kAudioUnitType_Output;
+#if defined(Q_OS_OSX)
+ componentDescription.componentSubType = kAudioUnitSubType_HALOutput;
+#else
componentDescription.componentSubType = kAudioUnitSubType_RemoteIO;
+#endif
componentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
componentDescription.componentFlags = 0;
componentDescription.componentFlagsMask = 0;
@@ -525,7 +509,7 @@ bool CoreAudioInput::open()
qWarning() << "QAudioInput: Unable to Open Output Component";
return false;
}
-#endif
+
// Set mode
// switch to input mode
UInt32 enable = 1;
@@ -693,12 +677,7 @@ void CoreAudioInput::close()
if (m_audioUnit != 0) {
AudioOutputUnitStop(m_audioUnit);
AudioUnitUninitialize(m_audioUnit);
-#if defined(Q_OS_OSX)
- CloseComponent(m_audioUnit);
-#else //iOS
AudioComponentInstanceDispose(m_audioUnit);
-#endif
-
}
delete m_audioBuffer;
diff --git a/src/plugins/coreaudio/coreaudiooutput.mm b/src/plugins/coreaudio/coreaudiooutput.mm
index dfac44c2d..900e34e16 100644
--- a/src/plugins/coreaudio/coreaudiooutput.mm
+++ b/src/plugins/coreaudio/coreaudiooutput.mm
@@ -48,7 +48,7 @@
#include <AudioUnit/AudioUnit.h>
#include <AudioToolbox/AudioToolbox.h>
#if defined(Q_OS_OSX)
-# include <CoreServices/CoreServices.h>
+# include <AudioUnit/AudioComponent.h>
#endif
#if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
@@ -549,30 +549,13 @@ bool CoreAudioOutput::open()
if (m_isOpen)
return true;
-#if defined(Q_OS_OSX)
- ComponentDescription componentDescription;
- componentDescription.componentType = kAudioUnitType_Output;
- componentDescription.componentSubType = kAudioUnitSubType_HALOutput;
- componentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
- componentDescription.componentFlags = 0;
- componentDescription.componentFlagsMask = 0;
-
- // Open
- Component component = FindNextComponent(NULL, &componentDescription);
- if (component == 0) {
- qWarning() << "QAudioOutput: Failed to find HAL Output component";
- return false;
- }
-
- if (OpenAComponent(component, &m_audioUnit) != noErr) {
- qWarning() << "QAudioOutput: Unable to Open Output Component";
- return false;
- }
-#else //iOS
-
AudioComponentDescription componentDescription;
componentDescription.componentType = kAudioUnitType_Output;
+#if defined(Q_OS_OSX)
+ componentDescription.componentSubType = kAudioUnitSubType_HALOutput;
+#else
componentDescription.componentSubType = kAudioUnitSubType_RemoteIO;
+#endif
componentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
componentDescription.componentFlags = 0;
componentDescription.componentFlagsMask = 0;
@@ -587,7 +570,6 @@ bool CoreAudioOutput::open()
qWarning() << "QAudioOutput: Unable to Open Output Component";
return false;
}
-#endif
// register callback
AURenderCallbackStruct callback;
@@ -679,11 +661,7 @@ void CoreAudioOutput::close()
if (m_audioUnit != 0) {
AudioOutputUnitStop(m_audioUnit);
AudioUnitUninitialize(m_audioUnit);
-#if defined(Q_OS_OSX)
- CloseComponent(m_audioUnit);
-#else //iOS
AudioComponentInstanceDispose(m_audioUnit);
-#endif
}
delete m_audioBuffer;