diff --git a/src/blackcore/context/contextaudio.cpp b/src/blackcore/context/contextaudio.cpp index 5dc919e22..3209502ba 100644 --- a/src/blackcore/context/contextaudio.cpp +++ b/src/blackcore/context/contextaudio.cpp @@ -165,10 +165,13 @@ namespace BlackCore void CContextAudioBase::initVoiceClient() { if (m_voiceClient) { return; } - m_voiceClient = new CAfvClient(CVoiceSetup().getAfvVoiceServerUrl(), this); - const CVoiceSetup vs = m_voiceSettings.getThreadLocal(); - m_voiceClient->updateVoiceServerUrl(vs.getAfvVoiceServerUrl()); + const CAudioDeviceInfoList devices = CAudioDeviceInfoList::allDevices(); + if (devices != m_activeLocalDevices) + { + m_activeLocalDevices = devices; + emit this->changedLocalAudioDevices(devices); + } #ifdef Q_OS_WIN if (!m_winCoInitialized) @@ -188,6 +191,10 @@ namespace BlackCore } #endif + m_voiceClient = new CAfvClient(CVoiceSetup().getAfvVoiceServerUrl(), this); + const CVoiceSetup vs = m_voiceSettings.getThreadLocal(); + m_voiceClient->updateVoiceServerUrl(vs.getAfvVoiceServerUrl()); + Q_ASSERT_X(CThreadUtils::isApplicationThread(m_voiceClient->thread()), Q_FUNC_INFO, "Should be in main thread"); m_voiceClient->start(); // thread Q_ASSERT_X(m_voiceClient->owner() == this, Q_FUNC_INFO, "Wrong owner"); @@ -201,13 +208,6 @@ namespace BlackCore connect(m_voiceClient, &CAfvClient::stoppedAudio, this, &CContextAudioBase::stoppedAudio, Qt::QueuedConnection); connect(m_voiceClient, &CAfvClient::ptt, this, &CContextAudioBase::ptt, Qt::QueuedConnection); connect(m_voiceClient, &CAfvClient::connectionStatusChanged, this, &CContextAudioBase::onAfvConnectionStatusChanged, Qt::QueuedConnection); - - const CAudioDeviceInfoList devices = CAudioDeviceInfoList::allDevices(); - if (devices != m_activeLocalDevices) - { - m_activeLocalDevices = devices; - emit this->changedLocalAudioDevices(devices); - } } void CContextAudioBase::terminateVoiceClient() diff --git a/src/swiftcore/main.cpp b/src/swiftcore/main.cpp index 0e6bfc2a4..e7e380cd7 100644 --- a/src/swiftcore/main.cpp +++ b/src/swiftcore/main.cpp @@ -33,7 +33,7 @@ int main(int argc, char *argv[]) QApplication qa(argc, argv); Q_UNUSED(qa) // init of qa is required, but qa not used - initWindowsAudioDevices(); + // initWindowsAudioDevices(); CCrashHandler::instance()->init(); CGuiApplication a(CApplicationInfo::swiftCore(), CApplicationInfo::PilotClientCore, CIcons::swiftCore24()); a.addWindowStateOption(); diff --git a/src/swiftguistandard/main.cpp b/src/swiftguistandard/main.cpp index 86eed8d33..c8969af3f 100644 --- a/src/swiftguistandard/main.cpp +++ b/src/swiftguistandard/main.cpp @@ -30,7 +30,7 @@ int main(int argc, char *argv[]) QApplication qa(argc, argv); Q_UNUSED(qa) // application init needed - initWindowsAudioDevices(); + // initWindowsAudioDevices(); CCrashHandler::instance()->init(); CSwiftGuiStdApplication a; // application with contexts a.setSignalStartupAutomatically(false); // application will signal startup on its own