1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-04-07 12:09:01 -04:00

WFM demod: fixed segfault (issue #88) by re-organizing constructor instructions sequence

This commit is contained in:
f4exb 2017-11-06 00:17:40 +01:00
parent 3ff2b68fa7
commit ba55803efd

View File

@ -48,10 +48,6 @@ WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) :
{
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_phaseDiscri.setFMScaling(384000/75000);
@ -60,7 +56,12 @@ WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) :
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);
applySettings(m_settings, true);
}
@ -209,6 +210,20 @@ bool WFMDemod::handleMessage(const Message& cmd)
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;
}
else if (MsgConfigureWFMDemod::match(cmd))
{
MsgConfigureWFMDemod& cfg = (MsgConfigureWFMDemod&) cmd;