mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-06-17 05:52:29 -04:00
WFM demod: fixed segfault (issue #88) by re-organizing constructor instructions sequence
This commit is contained in:
parent
3ff2b68fa7
commit
ba55803efd
@ -48,10 +48,6 @@ WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) :
|
|||||||
{
|
{
|
||||||
setObjectName("WFMDemod");
|
setObjectName("WFMDemod");
|
||||||
|
|
||||||
m_channelizer = new DownChannelizer(this);
|
|
||||||
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
|
|
||||||
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
|
|
||||||
|
|
||||||
m_rfFilter = new fftfilt(-50000.0 / 384000.0, 50000.0 / 384000.0, rfFilterFftLength);
|
m_rfFilter = new fftfilt(-50000.0 / 384000.0, 50000.0 / 384000.0, rfFilterFftLength);
|
||||||
m_phaseDiscri.setFMScaling(384000/75000);
|
m_phaseDiscri.setFMScaling(384000/75000);
|
||||||
|
|
||||||
@ -60,7 +56,12 @@ WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) :
|
|||||||
|
|
||||||
m_movingAverage.resize(16, 0);
|
m_movingAverage.resize(16, 0);
|
||||||
|
|
||||||
|
m_channelizer = new DownChannelizer(this);
|
||||||
|
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
|
||||||
|
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
|
||||||
|
|
||||||
DSPEngine::instance()->addAudioSink(&m_audioFifo);
|
DSPEngine::instance()->addAudioSink(&m_audioFifo);
|
||||||
|
|
||||||
applySettings(m_settings, true);
|
applySettings(m_settings, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,6 +208,20 @@ bool WFMDemod::handleMessage(const Message& cmd)
|
|||||||
qDebug() << "WFMDemod::handleMessage: MsgChannelizerNotification: m_inputSampleRate: " << settings.m_inputSampleRate
|
qDebug() << "WFMDemod::handleMessage: MsgChannelizerNotification: m_inputSampleRate: " << settings.m_inputSampleRate
|
||||||
<< " m_inputFrequencyOffset: " << settings.m_inputFrequencyOffset;
|
<< " m_inputFrequencyOffset: " << settings.m_inputFrequencyOffset;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (MsgConfigureChannelizer::match(cmd))
|
||||||
|
{
|
||||||
|
MsgConfigureChannelizer& cfg = (MsgConfigureChannelizer&) cmd;
|
||||||
|
|
||||||
|
m_channelizer->configure(m_channelizer->getInputMessageQueue(),
|
||||||
|
cfg.getSampleRate(),
|
||||||
|
cfg.getCenterFrequency());
|
||||||
|
|
||||||
|
qDebug() << "WFMDemod::handleMessage: MsgConfigureChannelizer:"
|
||||||
|
<< " sampleRate: " << cfg.getSampleRate()
|
||||||
|
<< " inputFrequencyOffset: " << cfg.getCenterFrequency();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (MsgConfigureWFMDemod::match(cmd))
|
else if (MsgConfigureWFMDemod::match(cmd))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user