diff --git a/plugins/channelrx/demodam/amdemod.cpp b/plugins/channelrx/demodam/amdemod.cpp index 99eeb328e..9ed8f1303 100644 --- a/plugins/channelrx/demodam/amdemod.cpp +++ b/plugins/channelrx/demodam/amdemod.cpp @@ -130,14 +130,11 @@ void AMDemod::feed(const SampleVector::const_iterator& begin, const SampleVector if (m_interpolatorDistance < 1.0f) // interpolate { - processOneSample(ci); - - while (m_interpolator.interpolate(&m_interpolatorDistanceRemain, c, &ci)) + while (!m_interpolator.interpolate(&m_interpolatorDistanceRemain, c, &ci)) { processOneSample(ci); + m_interpolatorDistanceRemain += m_interpolatorDistance; } - - m_interpolatorDistanceRemain += m_interpolatorDistance; } else // decimate {