mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-27 07:58:50 -05:00
KiwiSDR: moved thread start and quit/wait to start and stop methods respectively
This commit is contained in:
parent
997a7da292
commit
250144bb0e
@ -49,8 +49,6 @@ KiwiSDRInput::KiwiSDRInput(DeviceAPI *deviceAPI) :
|
|||||||
m_masterTimer(deviceAPI->getMasterTimer())
|
m_masterTimer(deviceAPI->getMasterTimer())
|
||||||
{
|
{
|
||||||
m_sampleFifo.setLabel(m_deviceDescription);
|
m_sampleFifo.setLabel(m_deviceDescription);
|
||||||
m_kiwiSDRWorkerThread.start();
|
|
||||||
|
|
||||||
m_deviceAPI->setNbSourceStreams(1);
|
m_deviceAPI->setNbSourceStreams(1);
|
||||||
|
|
||||||
if (!m_sampleFifo.setSize(getSampleRate() * 2)) {
|
if (!m_sampleFifo.setSize(getSampleRate() * 2)) {
|
||||||
@ -79,9 +77,6 @@ KiwiSDRInput::~KiwiSDRInput()
|
|||||||
if (m_running) {
|
if (m_running) {
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
m_kiwiSDRWorkerThread.quit();
|
|
||||||
m_kiwiSDRWorkerThread.wait();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void KiwiSDRInput::destroy()
|
void KiwiSDRInput::destroy()
|
||||||
@ -102,6 +97,7 @@ bool KiwiSDRInput::start()
|
|||||||
|
|
||||||
m_kiwiSDRWorker = new KiwiSDRWorker(&m_sampleFifo);
|
m_kiwiSDRWorker = new KiwiSDRWorker(&m_sampleFifo);
|
||||||
m_kiwiSDRWorker->moveToThread(&m_kiwiSDRWorkerThread);
|
m_kiwiSDRWorker->moveToThread(&m_kiwiSDRWorkerThread);
|
||||||
|
m_kiwiSDRWorkerThread.start();
|
||||||
|
|
||||||
connect(this, &KiwiSDRInput::setWorkerCenterFrequency, m_kiwiSDRWorker, &KiwiSDRWorker::onCenterFrequencyChanged);
|
connect(this, &KiwiSDRInput::setWorkerCenterFrequency, m_kiwiSDRWorker, &KiwiSDRWorker::onCenterFrequencyChanged);
|
||||||
connect(this, &KiwiSDRInput::setWorkerServerAddress, m_kiwiSDRWorker, &KiwiSDRWorker::onServerAddressChanged);
|
connect(this, &KiwiSDRInput::setWorkerServerAddress, m_kiwiSDRWorker, &KiwiSDRWorker::onServerAddressChanged);
|
||||||
@ -122,10 +118,12 @@ void KiwiSDRInput::stop()
|
|||||||
|
|
||||||
setWorkerStatus(0);
|
setWorkerStatus(0);
|
||||||
|
|
||||||
if (m_kiwiSDRWorker != 0)
|
if (m_kiwiSDRWorker)
|
||||||
{
|
{
|
||||||
|
m_kiwiSDRWorkerThread.quit();
|
||||||
|
m_kiwiSDRWorkerThread.wait();
|
||||||
m_kiwiSDRWorker->deleteLater();
|
m_kiwiSDRWorker->deleteLater();
|
||||||
m_kiwiSDRWorker = 0;
|
m_kiwiSDRWorker = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_running = false;
|
m_running = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user