mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-08-26 13:26:24 -04:00
Data pipes redesign (2)
This commit is contained in:
@@ -348,6 +348,7 @@ void DemodAnalyzer::setChannel(ChannelAPI *selectedChannel)
|
||||
}
|
||||
|
||||
m_dataPipe = mainCore->getDataPipes().registerProducerToConsumer(selectedChannel, this, "demod");
|
||||
connect(m_dataPipe, SIGNAL(toBeDeleted(int, QObject*)), this, SLOT(handleDataPipeToBeDeleted(int, QObject*)));
|
||||
DataFifo *fifo = qobject_cast<DataFifo*>(m_dataPipe->m_element);
|
||||
|
||||
if (fifo)
|
||||
@@ -601,3 +602,22 @@ void DemodAnalyzer::handleChannelMessageQueue(MessageQueue* messageQueue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DemodAnalyzer::handleDataPipeToBeDeleted(int reason, QObject *object)
|
||||
{
|
||||
qDebug("DemodAnalyzer::handleDataPipeToBeDeleted: %d %p", reason, object);
|
||||
|
||||
if ((reason == 0) && (m_selectedChannel == object))
|
||||
{
|
||||
DataFifo *fifo = qobject_cast<DataFifo*>(m_dataPipe->m_element);
|
||||
|
||||
if (fifo && m_worker->isRunning())
|
||||
{
|
||||
DemodAnalyzerWorker::MsgConnectFifo *msg = DemodAnalyzerWorker::MsgConnectFifo::create(fifo, false);
|
||||
m_worker->getInputMessageQueue()->push(msg);
|
||||
}
|
||||
|
||||
updateChannels();
|
||||
m_selectedChannel = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user