diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index 02c95f9dd..4603ade08 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -193,6 +193,29 @@ bool SDRPlayInput::applySettings(const SDRPlaySettings& settings, bool force) bool forceGainSetting = false; QMutexLocker mutexLocker(&m_mutex); + + if ((m_settings.m_devSampleRateIndex != settings.m_devSampleRateIndex) || force) + { + forwardChange = true; + + if(m_dev != 0) + { + int sampleRate = SDRPlaySampleRates::getRate(m_settings.m_devSampleRateIndex); + int r = mirisdr_set_sample_rate(m_dev, sampleRate); + + if(r < 0) + { + qCritical("SDRPlayInput::applySettings: could not set sample rate: %d rc: %d", sampleRate, r); + } + else + { + qDebug("SDRPlayInput::applySettings: sample rate set to %d", sampleRate); + m_settings.m_devSampleRateIndex = settings.m_devSampleRateIndex; + m_sdrPlayThread->setSamplerate(sampleRate); + } + } + } + if ((m_settings.m_dcBlock != settings.m_dcBlock) || force) { m_settings.m_dcBlock = settings.m_dcBlock; @@ -310,29 +333,6 @@ bool SDRPlayInput::applySettings(const SDRPlaySettings& settings, bool force) } } - - if ((m_settings.m_devSampleRateIndex != settings.m_devSampleRateIndex) || force) - { - forwardChange = true; - - if(m_dev != 0) - { - int sampleRate = SDRPlaySampleRates::getRate(m_settings.m_devSampleRateIndex); - int r = mirisdr_set_sample_rate(m_dev, sampleRate); - - if(r < 0) - { - qCritical("SDRPlayInput::applySettings: could not set sample rate: %d rc: %d", sampleRate, r); - } - else - { - qDebug("SDRPlayInput::applySettings: sample rate set to %d", sampleRate); - m_settings.m_devSampleRateIndex = settings.m_devSampleRateIndex; - m_sdrPlayThread->setSamplerate(sampleRate); - } - } - } - if ((m_settings.m_log2Decim != settings.m_log2Decim) || force) { m_settings.m_log2Decim = settings.m_log2Decim;