[AFV] Ref T730, make sure device is "valid"

This commit is contained in:
Klaus Basan
2019-10-12 16:46:34 +02:00
parent ee1456ba37
commit e455d153ee
2 changed files with 3 additions and 3 deletions

View File

@@ -62,7 +62,7 @@ namespace BlackMisc
bool isOutputDevice() const { return this->getType() == OutputDevice; }
//! Valid audio device object?
bool isValid() const { return !m_deviceName.isEmpty(); }
bool isValid() const { return !m_deviceName.isEmpty() && (m_deviceName != Unknown); }
//! Is this a default device?
bool isDefault() const { return m_deviceName == "default"; }

View File

@@ -82,13 +82,13 @@ namespace BlackSound
QAudioDeviceInfo getLowestLatencyDevice(const CAudioDeviceInfo &device, QAudioFormat &format)
{
if (device.isDefault())
if (device.isDefault() || !device.isValid())
{
if (device.getType() == CAudioDeviceInfo::InputDevice) { return QAudioDeviceInfo::defaultInputDevice(); }
else { return QAudioDeviceInfo::defaultOutputDevice(); }
}
QAudio::Mode mode = (device.getType() == CAudioDeviceInfo::InputDevice) ? QAudio::AudioInput : QAudio::AudioOutput;
const QAudio::Mode mode = device.isInputDevice() ? QAudio::AudioInput : QAudio::AudioOutput;
const QList<QAudioDeviceInfo> allQtDevices = QAudioDeviceInfo::availableDevices(mode);
// Find the one with lowest latency.