From 82894cb50b60bc4b16c657a460aacecd814bcce7 Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 25 Aug 2017 02:46:02 +0200 Subject: [PATCH] UDP sink plugin: implemented auto RW compensation toggle --- plugins/channeltx/udpsink/udpsink.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plugins/channeltx/udpsink/udpsink.cpp b/plugins/channeltx/udpsink/udpsink.cpp index 902d1f814..f0eec8ba4 100644 --- a/plugins/channeltx/udpsink/udpsink.cpp +++ b/plugins/channeltx/udpsink/udpsink.cpp @@ -582,5 +582,23 @@ void UDPSink::apply(bool force) } } + if ((m_config.m_autoRWBalance != m_running.m_autoRWBalance) || force) + { + m_settingsMutex.lock(); + m_udpHandler.setAutoRWBalance(m_config.m_autoRWBalance); + + if (!m_config.m_autoRWBalance) + { + m_interpolatorDistanceRemain = 0; + m_interpolatorConsumed = false; + m_interpolatorDistance = (Real) m_config.m_inputSampleRate / (Real) m_config.m_outputSampleRate; + m_interpolator.create(48, m_config.m_inputSampleRate, m_config.m_rfBandwidth / 2.2, 3.0); + m_actualInputSampleRate = m_config.m_inputSampleRate; + m_udpHandler.resetReadIndex(); + } + + m_settingsMutex.unlock(); + } + m_running = m_config; }