1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-10 18:43:28 -05:00

BladeRF2Output: removed applySettings from stop method

This commit is contained in:
f4exb 2024-08-19 00:42:57 +02:00 committed by Edouard Griffiths
parent 7b4e751ba1
commit 1b37a4f504

View File

@ -399,14 +399,14 @@ void BladeRF2Output::stop()
qDebug("BladeRF2Output::stop: SO mode. Just stop and delete the thread"); qDebug("BladeRF2Output::stop: SO mode. Just stop and delete the thread");
bladeRF2OutputThread->stopWork(); bladeRF2OutputThread->stopWork();
delete bladeRF2OutputThread; delete bladeRF2OutputThread;
m_thread = 0; m_thread = nullptr;
// remove old thread address from buddies (reset in all buddies) // remove old thread address from buddies (reset in all buddies)
const std::vector<DeviceAPI*>& sinkBuddies = m_deviceAPI->getSinkBuddies(); const std::vector<DeviceAPI*>& sinkBuddies = m_deviceAPI->getSinkBuddies();
std::vector<DeviceAPI*>::const_iterator it = sinkBuddies.begin(); std::vector<DeviceAPI*>::const_iterator it = sinkBuddies.begin();
for (; it != sinkBuddies.end(); ++it) { for (; it != sinkBuddies.end(); ++it) {
((DeviceBladeRF2Shared*) (*it)->getBuddySharedPtr())->m_sink->setThread(0); ((DeviceBladeRF2Shared*) (*it)->getBuddySharedPtr())->m_sink->setThread(nullptr);
} }
m_deviceShared.m_dev->closeTx(0); // close the unique channel m_deviceShared.m_dev->closeTx(0); // close the unique channel
@ -422,7 +422,7 @@ void BladeRF2Output::stop()
for (int i = 0; i < nbOriginalChannels-1; i++) // save original FIFO references for (int i = 0; i < nbOriginalChannels-1; i++) // save original FIFO references
{ {
fifos[i] = bladeRF2OutputThread->getFifo(i); fifos[i] = bladeRF2OutputThread->getFifo(i);
stillActiveFIFO = stillActiveFIFO || (bladeRF2OutputThread->getFifo(i) != 0); stillActiveFIFO = stillActiveFIFO || (bladeRF2OutputThread->getFifo(i) != nullptr);
log2Interps[i] = bladeRF2OutputThread->getLog2Interpolation(i); log2Interps[i] = bladeRF2OutputThread->getLog2Interpolation(i);
} }
@ -450,7 +450,7 @@ void BladeRF2Output::stop()
std::vector<DeviceAPI*>::const_iterator it = sinkBuddies.begin(); std::vector<DeviceAPI*>::const_iterator it = sinkBuddies.begin();
for (; it != sinkBuddies.end(); ++it) { for (; it != sinkBuddies.end(); ++it) {
((DeviceBladeRF2Shared*) (*it)->getBuddySharedPtr())->m_sink->setThread(0); ((DeviceBladeRF2Shared*) (*it)->getBuddySharedPtr())->m_sink->setThread(nullptr);
} }
// close all channels // close all channels
@ -479,11 +479,9 @@ void BladeRF2Output::stop()
else // remove channel from existing thread else // remove channel from existing thread
{ {
qDebug("BladeRF2Output::stop: MO mode. Not changing MO configuration. Just remove FIFO reference"); qDebug("BladeRF2Output::stop: MO mode. Not changing MO configuration. Just remove FIFO reference");
bladeRF2OutputThread->setFifo(requestedChannel, 0); // remove FIFO bladeRF2OutputThread->setFifo(requestedChannel, nullptr); // remove FIFO
} }
applySettings(m_settings, QList<QString>(), true); // re-apply forcibly to set sample rate with the new number of channels
m_running = false; m_running = false;
} }