From 9b714aed4546252e5bcf97a01b3a061fa4f7c5ea Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Mon, 9 Jun 2025 11:29:16 +0100 Subject: [PATCH] Add 384000 and maximum supported sample rates for Qt 6 AudioDeviceInfo. For #2456. --- sdrbase/audio/audiodeviceinfo.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sdrbase/audio/audiodeviceinfo.cpp b/sdrbase/audio/audiodeviceinfo.cpp index ec457aef7..955146653 100644 --- a/sdrbase/audio/audiodeviceinfo.cpp +++ b/sdrbase/audio/audiodeviceinfo.cpp @@ -44,7 +44,7 @@ QList AudioDeviceInfo::supportedSampleRates() const // QAudioDevice is a bit more flexible than QAudioDeviceInfo, in that it supports // min and max rate, rather than a specific list // For now, we just list some common rates. - QList sampleRates = {8000, 11025, 22050, 44100, 48000, 96000, 192000}; + QList sampleRates = {8000, 11025, 22050, 44100, 48000, 96000, 192000, 384000}; QList supportedRates; for (auto sampleRate : sampleRates) { @@ -52,6 +52,9 @@ QList AudioDeviceInfo::supportedSampleRates() const supportedRates.append(sampleRate); } } + if (!supportedRates.contains(m_deviceInfo.maximumSampleRate())) { + supportedRates.append(m_deviceInfo.maximumSampleRate()); + } return supportedRates; } #else @@ -126,7 +129,7 @@ const QList &AudioDeviceInfo::availableOutputDevices() const AudioDeviceInfo &AudioDeviceInfo::defaultOutputDevice() { - if (defaultOutputDevice_.m_deviceInfo.isNull()) + if (defaultOutputDevice_.m_deviceInfo.isNull()) { #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) defaultOutputDevice_ = AudioDeviceInfo(QMediaDevices::defaultAudioOutput()); @@ -139,7 +142,7 @@ const AudioDeviceInfo &AudioDeviceInfo::defaultOutputDevice() const AudioDeviceInfo &AudioDeviceInfo::defaultInputDevice() { - if (defaultInputDevice_.m_deviceInfo.isNull()) + if (defaultInputDevice_.m_deviceInfo.isNull()) { #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) defaultInputDevice_ = AudioDeviceInfo(QMediaDevices::defaultAudioInput());