[AFV] Ref T730, check for same device

This commit is contained in:
Klaus Basan
2019-10-13 00:14:52 +02:00
parent 10a64c0330
commit 541ce76fb6
5 changed files with 31 additions and 8 deletions

View File

@@ -59,6 +59,8 @@ namespace BlackCore
connect(m_connection, &CClientConnection::audioReceived, this, &CAfvClient::audioOutDataAvailable);
connect(m_voiceServerPositionTimer, &QTimer::timeout, this, &CAfvClient::onPositionUpdateTimer);
m_updateTimer.stop(); // not used
// deferred init - use BlackMisc:: singleShot to call in correct thread, "myself" NOT needed
BlackMisc::singleShot(1000, this, [ = ]
{
@@ -264,7 +266,6 @@ namespace BlackCore
m_connection->setReceiveAudio(false);
// stop input/output
m_updateTimer.stop();
m_input->stop();
m_output->stop();
CLogMessage(this).info(u"Client stopped");
@@ -910,6 +911,18 @@ namespace BlackCore
return nullDevice;
}
bool CAfvClient::usesSameDevices(const CAudioDeviceInfo &inputDevice, const CAudioDeviceInfo &outputDevice)
{
QMutexLocker lock(&m_mutex);
if (!m_output || !m_input) { return false; }
const CAudioDeviceInfo i = m_input->device();
const CAudioDeviceInfo o = m_output->device();
lock.unlock();
return i.matchesNameTypeHostName(inputDevice) &&
o.matchesNameTypeHostName(outputDevice);
}
CAfvClient::ConnectionStatus CAfvClient::getConnectionStatus() const
{
return m_connection->isConnected() ? Connected : Disconnected;

View File

@@ -209,6 +209,7 @@ namespace BlackCore
//! @{
const BlackMisc::Audio::CAudioDeviceInfo &getInputDevice() const;
const BlackMisc::Audio::CAudioDeviceInfo &getOutputDevice() const;
bool usesSameDevices(const BlackMisc::Audio::CAudioDeviceInfo &inputDevice, const BlackMisc::Audio::CAudioDeviceInfo &outputDevice);
//! @}
//! Callsigns currently received