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

Device engines: stop device before channels when going idle

This commit is contained in:
f4exb 2019-10-06 09:54:07 +02:00
parent 0bc4db5f89
commit d6382fbbaa
3 changed files with 4 additions and 3 deletions

View File

@ -389,6 +389,8 @@ DSPDeviceMIMOEngine::State DSPDeviceMIMOEngine::gotoIdle()
// stop everything // stop everything
m_deviceSampleMIMO->stop();
std::vector<BasebandSampleSinks>::const_iterator vbit = m_basebandSampleSinks.begin(); std::vector<BasebandSampleSinks>::const_iterator vbit = m_basebandSampleSinks.begin();
for (; vbit != m_basebandSampleSinks.end(); ++vbit) for (; vbit != m_basebandSampleSinks.end(); ++vbit)
@ -428,7 +430,6 @@ DSPDeviceMIMOEngine::State DSPDeviceMIMOEngine::gotoIdle()
(*it)->stop(); (*it)->stop();
} }
m_deviceSampleMIMO->stop();
m_deviceDescription.clear(); m_deviceDescription.clear();
return StIdle; return StIdle;

View File

@ -232,6 +232,7 @@ DSPDeviceSinkEngine::State DSPDeviceSinkEngine::gotoIdle()
} }
// stop everything // stop everything
m_deviceSampleSink->stop();
for(BasebandSampleSources::const_iterator it = m_basebandSampleSources.begin(); it != m_basebandSampleSources.end(); it++) for(BasebandSampleSources::const_iterator it = m_basebandSampleSources.begin(); it != m_basebandSampleSources.end(); it++)
{ {
@ -251,7 +252,6 @@ DSPDeviceSinkEngine::State DSPDeviceSinkEngine::gotoIdle()
m_spectrumSink->stop(); m_spectrumSink->stop();
} }
m_deviceSampleSink->stop();
m_deviceDescription.clear(); m_deviceDescription.clear();
m_sampleRate = 0; m_sampleRate = 0;

View File

@ -435,6 +435,7 @@ DSPDeviceSourceEngine::State DSPDeviceSourceEngine::gotoIdle()
} }
// stop everything // stop everything
m_deviceSampleSource->stop();
for(BasebandSampleSinks::const_iterator it = m_basebandSampleSinks.begin(); it != m_basebandSampleSinks.end(); it++) for(BasebandSampleSinks::const_iterator it = m_basebandSampleSinks.begin(); it != m_basebandSampleSinks.end(); it++)
{ {
@ -446,7 +447,6 @@ DSPDeviceSourceEngine::State DSPDeviceSourceEngine::gotoIdle()
(*it)->stop(); (*it)->stop();
} }
m_deviceSampleSource->stop();
m_deviceDescription.clear(); m_deviceDescription.clear();
m_sampleRate = 0; m_sampleRate = 0;