summaryrefslogtreecommitdiffstats
path: root/src/plugins/coreaudio
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-13 11:02:04 +0200
committerLiang Qi <liang.qi@qt.io>2016-05-13 11:02:04 +0200
commit49461f9cffa5439e536a844ec3a0134c252141e6 (patch)
tree3d645b3c8fe5d9b374c6df8e12705ee090596d42 /src/plugins/coreaudio
parent7b0cae6c4f9f417e14a1553cd206bd929d299dbb (diff)
parent08e13bfcdb23eabfbc47bca7499b0b8aadce0ac7 (diff)
Merge remote-tracking branch 'origin/5.7' into dev
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;