mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-23 18:15:45 -05:00
DaemonSink: finalization and cleanup
This commit is contained in:
parent
3b09e0e5d7
commit
b839b5d0c3
@ -184,9 +184,7 @@ void DaemonSink::feed(const SampleVector::const_iterator& begin, const SampleVec
|
||||
m_dataBlock->m_txControlBlock.m_dataAddress = m_dataAddress;
|
||||
m_dataBlock->m_txControlBlock.m_dataPort = m_dataPort;
|
||||
|
||||
//qDebug("DaemonSink::feed: m_dataBlock: %p m_dataQueue.sz: %d", m_dataBlock, m_dataQueue.size());
|
||||
emit dataBlockAvailable(m_dataBlock);
|
||||
//m_dataQueue.push(m_dataBlock);
|
||||
m_dataBlock = new SDRDaemonDataBlock(); // create a new one immediately
|
||||
m_dataBlockMutex.unlock();
|
||||
|
||||
@ -211,7 +209,7 @@ void DaemonSink::start()
|
||||
stop();
|
||||
}
|
||||
|
||||
m_sinkThread = new DaemonSinkThread(&m_dataQueue);
|
||||
m_sinkThread = new DaemonSinkThread();
|
||||
connect(this,
|
||||
SIGNAL(dataBlockAvailable(SDRDaemonDataBlock *)),
|
||||
m_sinkThread,
|
||||
|
@ -28,7 +28,6 @@
|
||||
|
||||
#include "dsp/basebandsamplesink.h"
|
||||
#include "channel/channelsinkapi.h"
|
||||
#include "channel/sdrdaemondataqueue.h"
|
||||
#include "channel/sdrdaemondatablock.h"
|
||||
#include "daemonsinksettings.h"
|
||||
|
||||
@ -133,7 +132,6 @@ private:
|
||||
bool m_running;
|
||||
|
||||
DaemonSinkSettings m_settings;
|
||||
SDRDaemonDataQueue m_dataQueue;
|
||||
DaemonSinkThread *m_sinkThread;
|
||||
|
||||
int m_txBlockIndex; //!< Current index in blocks to transmit in the Tx row
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <QUdpSocket>
|
||||
|
||||
#include "channel/sdrdaemondataqueue.h"
|
||||
#include "channel/sdrdaemondatablock.h"
|
||||
#include "daemonsinkthread.h"
|
||||
|
||||
@ -30,17 +29,15 @@
|
||||
|
||||
MESSAGE_CLASS_DEFINITION(DaemonSinkThread::MsgStartStop, Message)
|
||||
|
||||
DaemonSinkThread::DaemonSinkThread(SDRDaemonDataQueue *dataQueue, QObject* parent) :
|
||||
DaemonSinkThread::DaemonSinkThread(QObject* parent) :
|
||||
QThread(parent),
|
||||
m_running(false),
|
||||
m_dataQueue(dataQueue),
|
||||
m_address(QHostAddress::LocalHost),
|
||||
m_socket(0)
|
||||
{
|
||||
|
||||
m_cm256p = m_cm256.isInitialized() ? &m_cm256 : 0;
|
||||
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
|
||||
connect(m_dataQueue, SIGNAL(dataBlockEnqueued()), this, SLOT(handleData()), Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
DaemonSinkThread::~DaemonSinkThread()
|
||||
@ -104,7 +101,6 @@ void DaemonSinkThread::handleDataBlock(SDRDaemonDataBlock& dataBlock)
|
||||
uint16_t frameIndex = dataBlock.m_txControlBlock.m_frameIndex;
|
||||
int nbBlocksFEC = dataBlock.m_txControlBlock.m_nbBlocksFEC;
|
||||
int txDelay = dataBlock.m_txControlBlock.m_txDelay;
|
||||
//qDebug("DaemonSinkThread::handleDataBlock: dataBlock: %p QS: %d", &dataBlock, m_dataQueue->size());
|
||||
m_address.setAddress(dataBlock.m_txControlBlock.m_dataAddress);
|
||||
uint16_t dataPort = dataBlock.m_txControlBlock.m_dataPort;
|
||||
SDRDaemonSuperBlock *txBlockx = dataBlock.m_superBlocks;
|
||||
@ -168,17 +164,6 @@ void DaemonSinkThread::handleDataBlock(SDRDaemonDataBlock& dataBlock)
|
||||
dataBlock.m_txControlBlock.m_processed = true;
|
||||
}
|
||||
|
||||
void DaemonSinkThread::handleData()
|
||||
{
|
||||
SDRDaemonDataBlock* dataBlock;
|
||||
|
||||
while (m_running && ((dataBlock = m_dataQueue->pop()) != 0))
|
||||
{
|
||||
handleDataBlock(*dataBlock);
|
||||
delete dataBlock;
|
||||
}
|
||||
}
|
||||
|
||||
void DaemonSinkThread::handleInputMessages()
|
||||
{
|
||||
Message* message;
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include "util/message.h"
|
||||
#include "util/messagequeue.h"
|
||||
|
||||
class SDRDaemonDataQueue;
|
||||
class SDRDaemonDataBlock;
|
||||
class CM256;
|
||||
class QUdpSocket;
|
||||
@ -58,7 +57,7 @@ public:
|
||||
{ }
|
||||
};
|
||||
|
||||
DaemonSinkThread(SDRDaemonDataQueue *dataQueue, QObject* parent = 0);
|
||||
DaemonSinkThread(QObject* parent = 0);
|
||||
~DaemonSinkThread();
|
||||
|
||||
void startStop(bool start);
|
||||
@ -71,7 +70,6 @@ private:
|
||||
QWaitCondition m_startWaiter;
|
||||
bool m_running;
|
||||
|
||||
SDRDaemonDataQueue *m_dataQueue;
|
||||
CM256 m_cm256;
|
||||
CM256 *m_cm256p;
|
||||
|
||||
@ -87,6 +85,5 @@ private:
|
||||
void handleDataBlock(SDRDaemonDataBlock& dataBlock);
|
||||
|
||||
private slots:
|
||||
void handleData();
|
||||
void handleInputMessages();
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user