summaryrefslogtreecommitdiffstats
path: root/src/plugins/coreaudio
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-10 19:26:21 +0200
committerLiang Qi <liang.qi@qt.io>2016-05-10 19:26:21 +0200
commit08e13bfcdb23eabfbc47bca7499b0b8aadce0ac7 (patch)
tree406ffa7e3ae0a346a14175ccccb8ac7e596d8f8f /src/plugins/coreaudio
parentfa9fe9ff8c3aba25fbae4f8f32588dd6477d6df8 (diff)
parentf0e0d5d901d4e28fff9f29caf86ada84906b3db4 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: src/plugins/winrt/qwinrtcameracontrol.cpp Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
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;