From 1bfcbe6dd335235d5aede1f929fd80f6f6f3f79a Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 9 May 2016 10:13:11 +0200 Subject: [PATCH] DSD demod: fixed DV serial support OK --- plugins/channel/demoddsd/dsddemod.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/plugins/channel/demoddsd/dsddemod.cpp b/plugins/channel/demoddsd/dsddemod.cpp index 3b373c7a2..3e9d38152 100644 --- a/plugins/channel/demoddsd/dsddemod.cpp +++ b/plugins/channel/demoddsd/dsddemod.cpp @@ -167,20 +167,17 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto m_scopeSampleBuffer.push_back(s); m_dsdDecoder.pushSample(sample); + if (DSPEngine::instance()->hasDVSerialSupport() && m_dsdDecoder.mbeDVReady()) + { + DSPEngine::instance()->pushMbeFrame(m_dsdDecoder.getMbeDVFrame(), m_dsdDecoder.getMbeRateIndex(), m_running.m_volume, &m_audioFifo); + m_dsdDecoder.resetMbeDV(); + } + m_interpolatorDistanceRemain += m_interpolatorDistance; } } - if (DSPEngine::instance()->hasDVSerialSupport()) - { - - if (m_dsdDecoder.mbeDVReady()) - { - DSPEngine::instance()->pushMbeFrame(m_dsdDecoder.getMbeDVFrame(), m_dsdDecoder.getMbeRateIndex(), m_running.m_volume, &m_audioFifo); - m_dsdDecoder.resetMbeDV(); - } - } - else + if (!DSPEngine::instance()->hasDVSerialSupport()) { int nbAudioSamples; short *dsdAudio = m_dsdDecoder.getAudio(nbAudioSamples);