From 83e1b84c38a5d4f8523e36a44596e2bd83f38e1b Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 18 May 2016 10:51:42 +0200 Subject: [PATCH] Multi device support: methods to start/stop audio immediately --- sdrbase/dsp/dspengine.cpp | 11 +++++++++++ sdrbase/dsp/dspengine.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/sdrbase/dsp/dspengine.cpp b/sdrbase/dsp/dspengine.cpp index d89d3720c..43c06642d 100644 --- a/sdrbase/dsp/dspengine.cpp +++ b/sdrbase/dsp/dspengine.cpp @@ -110,6 +110,17 @@ void DSPEngine::stopAudio() } } +void DSPEngine::startAudioImmediate() +{ + m_audioOutput.start(-1, m_audioSampleRate); + m_audioSampleRate = m_audioOutput.getRate(); // update with actual rate +} + +void DSPEngine::stopAudioImmediate() +{ + m_audioOutput.stop(); +} + void DSPEngine::addAudioSink(AudioFifo* audioFifo) { qDebug("DSPEngine::addAudioSink"); diff --git a/sdrbase/dsp/dspengine.h b/sdrbase/dsp/dspengine.h index 67eb08dab..e12147d28 100644 --- a/sdrbase/dsp/dspengine.h +++ b/sdrbase/dsp/dspengine.h @@ -47,6 +47,8 @@ public: void startAudio(); void stopAudio(); + void startAudioImmediate(); + void stopAudioImmediate(); DSPDeviceEngine *getDeviceEngineByIndex(uint deviceIndex) { return m_deviceEngines[deviceIndex]; } DSPDeviceEngine *getDeviceEngineByUID(uint uid);