diff --git a/sdrbase/dsp/downchannelizer.cpp b/sdrbase/dsp/downchannelizer.cpp index 73131b7b9..6b9c32829 100644 --- a/sdrbase/dsp/downchannelizer.cpp +++ b/sdrbase/dsp/downchannelizer.cpp @@ -185,8 +185,8 @@ void DownChannelizer::applyConfiguration() if (m_sampleSink != 0) { - MsgChannelizerNotification notif(m_currentOutputSampleRate, m_currentCenterFrequency); - m_sampleSink->handleMessage(notif); + MsgChannelizerNotification *notif = MsgChannelizerNotification::create(m_currentOutputSampleRate, m_currentCenterFrequency); + m_sampleSink->getInputMessageQueue()->push(notif); } } diff --git a/sdrbase/dsp/downchannelizer.h b/sdrbase/dsp/downchannelizer.h index 271e152a5..8df11cf75 100644 --- a/sdrbase/dsp/downchannelizer.h +++ b/sdrbase/dsp/downchannelizer.h @@ -49,6 +49,11 @@ public: int getSampleRate() const { return m_sampleRate; } qint64 getFrequencyOffset() const { return m_frequencyOffset; } + static MsgChannelizerNotification* create(int samplerate, qint64 frequencyOffset) + { + return new MsgChannelizerNotification(samplerate, frequencyOffset); + } + private: int m_sampleRate; qint64 m_frequencyOffset; diff --git a/sdrbase/dsp/upchannelizer.cpp b/sdrbase/dsp/upchannelizer.cpp index 8a7fae337..67a568383 100644 --- a/sdrbase/dsp/upchannelizer.cpp +++ b/sdrbase/dsp/upchannelizer.cpp @@ -196,8 +196,8 @@ void UpChannelizer::applyConfiguration() if (m_sampleSource != 0) { - MsgChannelizerNotification notif(m_outputSampleRate, m_currentInputSampleRate, m_currentCenterFrequency); - m_sampleSource->handleMessage(notif); + MsgChannelizerNotification *notif = MsgChannelizerNotification::create(m_outputSampleRate, m_currentInputSampleRate, m_currentCenterFrequency); + m_sampleSource->getInputMessageQueue()->push(notif); } } diff --git a/sdrbase/dsp/upchannelizer.h b/sdrbase/dsp/upchannelizer.h index 0f52c84a2..11cb2eb72 100644 --- a/sdrbase/dsp/upchannelizer.h +++ b/sdrbase/dsp/upchannelizer.h @@ -51,6 +51,11 @@ public: int getSampleRate() const { return m_sampleRate; } qint64 getFrequencyOffset() const { return m_frequencyOffset; } + static MsgChannelizerNotification* create(int basebandSampleRate, int samplerate, qint64 frequencyOffset) + { + return new MsgChannelizerNotification(basebandSampleRate, samplerate, frequencyOffset); + } + private: int m_basebandSampleRate; int m_sampleRate;