From 4f009d884f963a2949c80995ca28f2db668d60b9 Mon Sep 17 00:00:00 2001 From: amer cerkic Date: Thu, 21 Nov 2019 15:46:11 -0800 Subject: [PATCH 1/2] signal connection check before emit of devices changed --- libraries/audio-client/src/AudioClient.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 0ccad20145..0969edec53 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -159,16 +159,20 @@ void AudioClient::checkDevices() { auto inputDevices = getAvailableDevices(QAudio::AudioInput, hmdInputName); auto outputDevices = getAvailableDevices(QAudio::AudioOutput, hmdOutputName); - Lock lock(_deviceMutex); - if (inputDevices != _inputDevices) { - _inputDevices.swap(inputDevices); - emit devicesChanged(QAudio::AudioInput, _inputDevices); - } + static const QMetaMethod devicesChangedSig= QMetaMethod::fromSignal(&AudioClient::devicesChanged); + //only emit once the scripting interface has connecte to the signal + if (isSignalConnected(devicesChangedSig)) { + Lock lock(_deviceMutex); + if (inputDevices != _inputDevices) { + _inputDevices.swap(inputDevices); + emit devicesChanged(QAudio::AudioInput, _inputDevices); + } - if (outputDevices != _outputDevices) { - _outputDevices.swap(outputDevices); - emit devicesChanged(QAudio::AudioOutput, _outputDevices); - } + if (outputDevices != _outputDevices) { + _outputDevices.swap(outputDevices); + emit devicesChanged(QAudio::AudioOutput, _outputDevices); + } + } } HifiAudioDeviceInfo AudioClient::getActiveAudioDevice(QAudio::Mode mode) const { From 87afa636a2ef7bfc777bf885e305f838a1a0f264 Mon Sep 17 00:00:00 2001 From: amer cerkic Date: Thu, 21 Nov 2019 15:52:56 -0800 Subject: [PATCH 2/2] typo --- libraries/audio-client/src/AudioClient.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 0969edec53..5502986cff 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -160,7 +160,7 @@ void AudioClient::checkDevices() { auto outputDevices = getAvailableDevices(QAudio::AudioOutput, hmdOutputName); static const QMetaMethod devicesChangedSig= QMetaMethod::fromSignal(&AudioClient::devicesChanged); - //only emit once the scripting interface has connecte to the signal + //only emit once the scripting interface has connected to the signal if (isSignalConnected(devicesChangedSig)) { Lock lock(_deviceMutex); if (inputDevices != _inputDevices) {