From a8602195d4cb5c602672dbb186415245202d6772 Mon Sep 17 00:00:00 2001 From: amerhifi Date: Tue, 22 Oct 2019 07:17:57 -0700 Subject: [PATCH] addressing comments --- interface/src/scripting/AudioDevices.cpp | 22 ++++++++----------- libraries/audio-client/CMakeLists.txt | 1 + libraries/audio-client/src/AudioClient.cpp | 8 ++++--- .../audio-client/src/HifiAudioDeviceInfo.cpp | 3 +-- .../audio-client/src/HifiAudioDeviceInfo.h | 2 -- .../plugins/src/plugins/PluginManager.cpp | 6 ++--- libraries/plugins/src/plugins/PluginManager.h | 1 + 7 files changed, 19 insertions(+), 24 deletions(-) diff --git a/interface/src/scripting/AudioDevices.cpp b/interface/src/scripting/AudioDevices.cpp index 7cabd49e93..4aa1018c23 100644 --- a/interface/src/scripting/AudioDevices.cpp +++ b/interface/src/scripting/AudioDevices.cpp @@ -62,12 +62,6 @@ static QString getTargetDevice(bool hmd, QAudio::Mode mode) { auto& setting = getSetting(hmd, mode); if (setting.isSet()) { deviceName = setting.get(); - } else if (hmd) { - if (mode == QAudio::AudioInput) { - deviceName = qApp->getActiveDisplayPlugin()->getPreferredAudioInDevice(); - } else { // if (_mode == QAudio::AudioOutput) - deviceName = qApp->getActiveDisplayPlugin()->getPreferredAudioOutDevice(); - } } else { deviceName = HifiAudioDeviceInfo::DEFAULT_DEVICE_NAME; } @@ -269,13 +263,15 @@ void AudioDeviceList::onDevicesChanged(const QList& devices bool hmdIsSelected = false; bool desktopIsSelected = false; - foreach(const HifiAudioDeviceInfo& deviceInfo, devices) { - for (bool isHMD : {false, true}) { - auto& backupSelectedDeviceName = isHMD ? _backupSelectedHMDDeviceName : _backupSelectedDesktopDeviceName; - if (deviceInfo.deviceName() == backupSelectedDeviceName) { - HifiAudioDeviceInfo& selectedDevice = isHMD ? _selectedHMDDevice : _selectedDesktopDevice; - selectedDevice = deviceInfo; - backupSelectedDeviceName.clear(); + if (!_backupSelectedDesktopDeviceName.isEmpty() && !_backupSelectedHMDDeviceName.isEmpty()) { + foreach(const HifiAudioDeviceInfo& deviceInfo, devices) { + for (bool isHMD : {false, true}) { + auto& backupSelectedDeviceName = isHMD ? _backupSelectedHMDDeviceName : _backupSelectedDesktopDeviceName; + if (deviceInfo.deviceName() == backupSelectedDeviceName) { + HifiAudioDeviceInfo& selectedDevice = isHMD ? _selectedHMDDevice : _selectedDesktopDevice; + selectedDevice = deviceInfo; + backupSelectedDeviceName.clear(); + } } } } diff --git a/libraries/audio-client/CMakeLists.txt b/libraries/audio-client/CMakeLists.txt index 03279b08f6..e1d90334ff 100644 --- a/libraries/audio-client/CMakeLists.txt +++ b/libraries/audio-client/CMakeLists.txt @@ -7,6 +7,7 @@ link_hifi_libraries(audio plugins) include_hifi_library_headers(shared) include_hifi_library_headers(networking) include_hifi_library_headers(gpu) + if (ANDROID) else () target_webrtc() diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 418a45e5e9..cb8128bbc9 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -48,6 +49,7 @@ #include #include #include + #include "AudioClientLogging.h" #include "AudioLogging.h" #include "AudioHelpers.h" @@ -81,7 +83,7 @@ Mutex _recordMutex; HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode); -#include + static QString getHmdAudioDeviceName(QAudio::Mode mode) { foreach(DisplayPluginPointer displayPlugin, PluginManager::getInstance()->getAllDisplayPlugins()) { if (displayPlugin && displayPlugin->isHmd()) { @@ -568,7 +570,7 @@ HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) { HifiAudioDeviceInfo foundDevice; foreach(QAudioDeviceInfo audioDevice, devices) { if (audioDevice.deviceName().trimmed() == deviceName.trimmed()) { - foundDevice=HifiAudioDeviceInfo(audioDevice,true,mode, HifiAudioDeviceInfo::desktop); + foundDevice=HifiAudioDeviceInfo(audioDevice, true, mode, HifiAudioDeviceInfo::desktop); break; } } @@ -594,7 +596,7 @@ HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) { } #endif // fallback for failed lookup is the default device - return (mode == QAudio::AudioInput) ? HifiAudioDeviceInfo(QAudioDeviceInfo::defaultInputDevice(), true,mode, HifiAudioDeviceInfo::desktop) : + return (mode == QAudio::AudioInput) ? HifiAudioDeviceInfo(QAudioDeviceInfo::defaultInputDevice(), true, mode, HifiAudioDeviceInfo::desktop) : HifiAudioDeviceInfo(QAudioDeviceInfo::defaultOutputDevice(), true, mode, HifiAudioDeviceInfo::desktop); } diff --git a/libraries/audio-client/src/HifiAudioDeviceInfo.cpp b/libraries/audio-client/src/HifiAudioDeviceInfo.cpp index 5cbb15ff73..73d0670fa6 100644 --- a/libraries/audio-client/src/HifiAudioDeviceInfo.cpp +++ b/libraries/audio-client/src/HifiAudioDeviceInfo.cpp @@ -32,5 +32,4 @@ bool HifiAudioDeviceInfo::operator==(const HifiAudioDeviceInfo& rhs) const { } bool HifiAudioDeviceInfo::operator!=(const HifiAudioDeviceInfo& rhs) const { return getDevice() != rhs.getDevice() || isDefault() != rhs.isDefault(); -} - +} \ No newline at end of file diff --git a/libraries/audio-client/src/HifiAudioDeviceInfo.h b/libraries/audio-client/src/HifiAudioDeviceInfo.h index 9b77f77c9e..5bc7125574 100644 --- a/libraries/audio-client/src/HifiAudioDeviceInfo.h +++ b/libraries/audio-client/src/HifiAudioDeviceInfo.h @@ -37,7 +37,6 @@ public: _deviceType = deviceInfo.getDeviceType(); } - HifiAudioDeviceInfo(QAudioDeviceInfo deviceInfo, bool isDefault, QAudio::Mode mode, DeviceType devType=both) : _audioDeviceInfo(deviceInfo), _isDefault(isDefault), @@ -66,7 +65,6 @@ public: bool operator==(const HifiAudioDeviceInfo& rhs) const; bool operator!=(const HifiAudioDeviceInfo& rhs) const; - private: QAudioDeviceInfo _audioDeviceInfo; bool _isDefault { false }; diff --git a/libraries/plugins/src/plugins/PluginManager.cpp b/libraries/plugins/src/plugins/PluginManager.cpp index 1ecc4f1d45..660159d9bd 100644 --- a/libraries/plugins/src/plugins/PluginManager.cpp +++ b/libraries/plugins/src/plugins/PluginManager.cpp @@ -13,6 +13,7 @@ #include #include #include +#include //#define HIFI_PLUGINMANAGER_DEBUG #if defined(HIFI_PLUGINMANAGER_DEBUG) @@ -21,6 +22,7 @@ #include #include +#include #include "RuntimePlugin.h" #include "CodecPlugin.h" @@ -221,10 +223,6 @@ const OculusPlatformPluginPointer PluginManager::getOculusPlatformPlugin() { return oculusPlatformPlugin; } -#include -#include - - DisplayPluginList PluginManager::getAllDisplayPlugins() { if (thread() != QThread::currentThread()) { DisplayPluginList list; diff --git a/libraries/plugins/src/plugins/PluginManager.h b/libraries/plugins/src/plugins/PluginManager.h index 5ec82ea743..f0aa662634 100644 --- a/libraries/plugins/src/plugins/PluginManager.h +++ b/libraries/plugins/src/plugins/PluginManager.h @@ -52,6 +52,7 @@ public: using PluginFilter = std::function; void setPluginFilter(PluginFilter pluginFilter) { _pluginFilter = pluginFilter; } Q_INVOKABLE DisplayPluginList getAllDisplayPlugins(); + signals: void inputDeviceRunningChanged(const QString& pluginName, bool isRunning, const QStringList& runningDevices);