diff options
author | Val Doroshchuk <valentyn.doroshchuk@qt.io> | 2020-04-28 13:18:52 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-06-09 12:49:05 +0000 |
commit | 956fbd3f352f8bba5b8bf985b1787fc7b71aff24 (patch) | |
tree | 7842addafa71b08282c5346c1c80c4fe379cbda2 /src/plugins/coreaudio/coreaudiodeviceinfo.mm | |
parent | 099bddad51d0924a3f1c8a4271754e5cc3d964a7 (diff) |
CoreAudio: Don't apply audio category if it is not needed
If just devices are requested, no need to apply any categories
with activation of audio device.
Postpone setting category and activating audio until
actual playing is requested.
Categories/options for input devices:
AVAudioSessionCategoryPlayAndRecord with AVAudioSessionCategoryOptionMixWithOthers
For output:
AVAudioSessionCategoryAmbient with no options.
Fixes: QTBUG-83776
Change-Id: I9364bdea2882bc23039817207eca62b311841ba6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit b5a55492a63cb2cda75d6f980acb7fc5ae8dfc22)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/plugins/coreaudio/coreaudiodeviceinfo.mm')
-rw-r--r-- | src/plugins/coreaudio/coreaudiodeviceinfo.mm | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/src/plugins/coreaudio/coreaudiodeviceinfo.mm b/src/plugins/coreaudio/coreaudiodeviceinfo.mm index 1a79438cb..05d6c613d 100644 --- a/src/plugins/coreaudio/coreaudiodeviceinfo.mm +++ b/src/plugins/coreaudio/coreaudiodeviceinfo.mm @@ -60,11 +60,6 @@ CoreAudioDeviceInfo::CoreAudioDeviceInfo(const QByteArray &device, QAudio::Mode m_deviceId = AudioDeviceID(deviceID); #else //iOS m_device = device; - if (mode == QAudio::AudioInput) { - if (CoreAudioSessionManager::instance().category() != CoreAudioSessionManager::PlayAndRecord) { - CoreAudioSessionManager::instance().setCategory(CoreAudioSessionManager::PlayAndRecord); - } - } #endif } @@ -336,14 +331,6 @@ QList<QByteArray> CoreAudioDeviceInfo::availableDevices(QAudio::Mode mode) } } #else //iOS - if (mode == QAudio::AudioInput) { - if (CoreAudioSessionManager::instance().category() != CoreAudioSessionManager::PlayAndRecord) { - CoreAudioSessionManager::instance().setCategory(CoreAudioSessionManager::PlayAndRecord); - } - } - - CoreAudioSessionManager::instance().setActive(true); - if (mode == QAudio::AudioOutput) return CoreAudioSessionManager::instance().outputDevices(); if (mode == QAudio::AudioInput) |