From 549e181be06eeee49de445be41be2084bb4d4b1e Mon Sep 17 00:00:00 2001 From: amer cerkic Date: Mon, 11 Nov 2019 11:00:33 -0800 Subject: [PATCH 1/2] adding safeguard in case device list is empty --- libraries/audio-client/src/AudioClient.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 612493db2e..b1bb7d9eba 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -111,11 +111,17 @@ QList getAvailableDevices(QAudio::Mode mode, const QString& } if (defaultDesktopDevice.getDevice().isNull()) { - qCDebug(audioclient) << __FUNCTION__ << "Default device not found in list:" << defDeviceName - << "Setting Default to: " << devices.first().deviceName(); - defaultDesktopDevice = HifiAudioDeviceInfo(devices.first(), true, mode, HifiAudioDeviceInfo::desktop); + if (devices.size() > 0) { + qCDebug(audioclient) << __FUNCTION__ << "Default device not found in list:" << defDeviceName + << "Setting Default to: " << devices.first().deviceName(); + defaultDesktopDevice = HifiAudioDeviceInfo(devices.first(), true, mode, HifiAudioDeviceInfo::desktop); + } else { + //current audio list is empty for some reason. + qCDebug(audioclient) << __FUNCTION__ << "Default device not found in list no alternative selection available"; + } + } else { + newDevices.push_front(defaultDesktopDevice); } - newDevices.push_front(defaultDesktopDevice); if (!hmdName.isNull()) { HifiAudioDeviceInfo hmdDevice; From 3a764169ba1e0deff55e786d1bbdacd12f56c88d Mon Sep 17 00:00:00 2001 From: amer cerkic Date: Mon, 11 Nov 2019 11:13:44 -0800 Subject: [PATCH 2/2] adding new device to list if default not found --- 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 b1bb7d9eba..b26c00e82b 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -114,7 +114,7 @@ QList getAvailableDevices(QAudio::Mode mode, const QString& if (devices.size() > 0) { qCDebug(audioclient) << __FUNCTION__ << "Default device not found in list:" << defDeviceName << "Setting Default to: " << devices.first().deviceName(); - defaultDesktopDevice = HifiAudioDeviceInfo(devices.first(), true, mode, HifiAudioDeviceInfo::desktop); + newDevices.push_front(HifiAudioDeviceInfo(devices.first(), true, mode, HifiAudioDeviceInfo::desktop)); } else { //current audio list is empty for some reason. qCDebug(audioclient) << __FUNCTION__ << "Default device not found in list no alternative selection available";