From 6b5e11ffe51f6f49f9bbcff04bb7e4db55dd843c Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 3 Apr 2021 06:36:57 +0200 Subject: [PATCH] DATV demod: DATVDemodSink: init DATV framework outside process sample loop --- .../channelrx/demoddatv/datvdemodsettings.cpp | 1 - plugins/channelrx/demoddatv/datvdemodsink.cpp | 40 +++++++++---------- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/plugins/channelrx/demoddatv/datvdemodsettings.cpp b/plugins/channelrx/demoddatv/datvdemodsettings.cpp index 4f98364bb..84becb337 100644 --- a/plugins/channelrx/demoddatv/datvdemodsettings.cpp +++ b/plugins/channelrx/demoddatv/datvdemodsettings.cpp @@ -252,7 +252,6 @@ bool DATVDemodSettings::isDifferent(const DATVDemodSettings& other) || (m_softLDPCToolPath != other.m_softLDPCToolPath) || (m_maxBitflips != other.m_maxBitflips) || (m_modulation != other.m_modulation) - || (m_standard != other.m_standard) || (m_notchFilters != other.m_notchFilters) || (m_symbolRate != other.m_symbolRate) || (m_excursion != other.m_excursion) diff --git a/plugins/channelrx/demoddatv/datvdemodsink.cpp b/plugins/channelrx/demoddatv/datvdemodsink.cpp index afc280b72..76a869dda 100644 --- a/plugins/channelrx/demoddatv/datvdemodsink.cpp +++ b/plugins/channelrx/demoddatv/datvdemodsink.cpp @@ -1280,6 +1280,24 @@ void DATVDemodSink::feed(const SampleVector::const_iterator& begin, const Sample m_modcodCodeRate = objDemodulatorDVBS2->m_modcodRate; } // DVBS2: Track change of constellation via MODCOD + //********** init leandvb framework ********** + if (m_blnNeedConfigUpdate) + { + qDebug("DATVDemodSink::feed: Settings applied. Standard : %d...", m_settings.m_standard); + m_blnNeedConfigUpdate = false; + + if(m_settings.m_standard==DATVDemodSettings::DVB_S2) + { + qDebug("DATVDemodSink::feed: init DVBS-2"); + InitDATVS2Framework(); + } + else + { + qDebug("DATVDemodSink::feed: init DVBS"); + InitDATVFramework(); + } + } + //********** Bis repetita : Let's rock and roll buddy ! ********** #ifdef EXTENDED_DIRECT_SAMPLE @@ -1309,25 +1327,6 @@ void DATVDemodSink::feed(const SampleVector::const_iterator& begin, const Sample fltI = it->real(); fltQ = it->imag(); #endif - - //********** demodulation ********** - if (m_blnNeedConfigUpdate) - { - qDebug("DATVDemodSink::feed: Settings applied. Standard : %d...", m_settings.m_standard); - m_blnNeedConfigUpdate = false; - - if(m_settings.m_standard==DATVDemodSettings::DVB_S2) - { - qDebug("DATVDemodSink::feed: init DVBS-2"); - InitDATVS2Framework(); - } - else - { - qDebug("DATVDemodSink::feed: init DVBS"); - InitDATVFramework(); - } - } - //********** iq stream **************** Complex objC(fltI,fltQ); objC *= m_objNCO.nextIQ(); @@ -1459,8 +1458,7 @@ void DATVDemodSink::applySettings(const DATVDemodSettings& settings, bool force) m_udpStream.setPort(settings.m_udpTSPort); } - if (m_settings.isDifferent(settings) || force) - { + if (m_settings.isDifferent(settings) || force) { m_blnNeedConfigUpdate = true; }