From 9a3832a14f9ad4a1948f33d9b958ee21e1b76b0b Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 20 Feb 2018 00:14:50 +0100 Subject: [PATCH] AM and NFM demods: skip feed completely if not in running state --- plugins/channelrx/demodam/amdemod.cpp | 6 +++++- plugins/channelrx/demodnfm/nfmdemod.cpp | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/channelrx/demodam/amdemod.cpp b/plugins/channelrx/demodam/amdemod.cpp index e3a9fbccc..a73cfcc69 100644 --- a/plugins/channelrx/demodam/amdemod.cpp +++ b/plugins/channelrx/demodam/amdemod.cpp @@ -83,6 +83,10 @@ void AMDemod::feed(const SampleVector::const_iterator& begin, const SampleVector { Complex ci; + if (!m_running) { + return; + } + m_settingsMutex.lock(); for (SampleVector::const_iterator it = begin; it != end; ++it) @@ -111,7 +115,7 @@ void AMDemod::feed(const SampleVector::const_iterator& begin, const SampleVector } } - if (m_running && (m_audioBufferFill > 0)) + if (m_audioBufferFill > 0) { uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill, 10); diff --git a/plugins/channelrx/demodnfm/nfmdemod.cpp b/plugins/channelrx/demodnfm/nfmdemod.cpp index 2f8daebc7..d92df57ae 100644 --- a/plugins/channelrx/demodnfm/nfmdemod.cpp +++ b/plugins/channelrx/demodnfm/nfmdemod.cpp @@ -143,6 +143,10 @@ void NFMDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto { Complex ci; + if (!m_running) { + return; + } + m_settingsMutex.lock(); for (SampleVector::const_iterator it = begin; it != end; ++it) @@ -308,7 +312,7 @@ void NFMDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto } } - if (m_running && (m_audioBufferFill > 0)) + if (m_audioBufferFill > 0) { uint res = m_audioFifo.write((const quint8*)&m_audioBuffer[0], m_audioBufferFill, 10);