Add API method to enable audio loopback in IVoice and

audio context

refs #136
This commit is contained in:
Roland Winklmeier
2014-05-20 16:55:35 +02:00
parent 70c7aa4a94
commit 9c81322137
8 changed files with 52 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ namespace BlackCore
m_audioOutput(new QAudioOutput()),
m_inputSquelch(-1),
m_micTestResult(Cvatlib_Voice_Simple::agc_Ok),
m_isAudioLoopbackEnabled(false),
m_temporaryUserRoomIndex(CVoiceVatlib::InvalidRoomIndex),
m_lockVoiceRooms(QReadWriteLock::Recursive),
m_lockCallsigns(QReadWriteLock::Recursive),
@@ -239,6 +240,26 @@ namespace BlackCore
}
}
void CVoiceVatlib::enableAudioLoopback(bool enable)
{
if (enable == m_isAudioLoopbackEnabled)
return;
QMutexLocker lockerVatlib(&m_mutexVatlib);
Q_ASSERT_X(m_voice->IsValid() && m_voice->IsSetup(), "CVoiceVatlib", "Cvatlib_Voice_Simple invalid or not setup!");
try
{
m_voice->SetAudioLoopback(0, enable);
}
catch (...)
{
this->exceptionDispatcher(Q_FUNC_INFO);
}
// bools are atomic. No need to protect it with a mutex
m_isAudioLoopbackEnabled = enable;
}
/*
* Squelch test
*/