mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-05 09:45:44 +08:00
Ref T730, Ref T739, as follow up of RR's fix, use a default device if device name is NOT found
* it can happen the name is empty, or becomes invalid * an invalid name is a device which has been unplugged
This commit is contained in:
committed by
Mat Sutcliffe
parent
47475f1a18
commit
98726e4c06
@@ -331,20 +331,10 @@ namespace BlackCore
|
|||||||
void IContextAudio::changeDeviceSettings()
|
void IContextAudio::changeDeviceSettings()
|
||||||
{
|
{
|
||||||
const QString inputDeviceName = m_inputDeviceSetting.get();
|
const QString inputDeviceName = m_inputDeviceSetting.get();
|
||||||
CAudioDeviceInfo input;
|
const CAudioDeviceInfo input = this->getAudioInputDevices().findByNameOrDefault(inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
|
||||||
if (!inputDeviceName.isEmpty())
|
|
||||||
{
|
|
||||||
const CAudioDeviceInfoList inputDevs = this->getAudioInputDevices();
|
|
||||||
input = inputDevs.findByName(inputDeviceName);
|
|
||||||
}
|
|
||||||
|
|
||||||
const QString outputDeviceName = m_outputDeviceSetting.get();
|
const QString outputDeviceName = m_outputDeviceSetting.get();
|
||||||
CAudioDeviceInfo output;
|
const CAudioDeviceInfo output = this->getAudioOutputDevices().findByNameOrDefault(outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
|
||||||
if (!outputDeviceName.isEmpty())
|
|
||||||
{
|
|
||||||
const CAudioDeviceInfoList outputDevs = this->getAudioOutputDevices();
|
|
||||||
output = outputDevs.findByName(outputDeviceName);
|
|
||||||
}
|
|
||||||
|
|
||||||
this->setCurrentAudioDevices(input, output);
|
this->setCurrentAudioDevices(input, output);
|
||||||
}
|
}
|
||||||
@@ -404,23 +394,15 @@ namespace BlackCore
|
|||||||
Q_UNUSED(aircraft)
|
Q_UNUSED(aircraft)
|
||||||
Q_UNUSED(originator)
|
Q_UNUSED(originator)
|
||||||
|
|
||||||
/** NOT NEEDED as CAfvClient is directly "tracking changes"
|
/** NOT NEEDED as CAfvClient is directly "tracking changes" **/
|
||||||
if (CIdentifiable::isMyIdentifier(originator)) { return; }
|
|
||||||
const bool integrated = this->xCtxisComIntegratedWithSimulator();
|
|
||||||
if (integrated)
|
|
||||||
{
|
|
||||||
// set as in cockpit
|
|
||||||
const bool com1Rec = aircraft.getCom1System().isReceiveEnabled();
|
|
||||||
const bool com2Rec = aircraft.getCom2System().isReceiveEnabled();
|
|
||||||
}
|
|
||||||
**/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void IContextAudio::xCtxNetworkConnectionStatusChanged(const CConnectionStatus &from, const CConnectionStatus &to)
|
void IContextAudio::xCtxNetworkConnectionStatusChanged(const CConnectionStatus &from, const CConnectionStatus &to)
|
||||||
{
|
{
|
||||||
|
if (!m_voiceClient) { return; }
|
||||||
|
|
||||||
Q_UNUSED(from)
|
Q_UNUSED(from)
|
||||||
BLACK_VERIFY_X(this->getIContextNetwork(), Q_FUNC_INFO, "Missing network context");
|
BLACK_VERIFY_X(this->getIContextNetwork(), Q_FUNC_INFO, "Missing network context");
|
||||||
if (!m_voiceClient) { return; }
|
|
||||||
|
|
||||||
if (to.isConnected() && this->getIContextNetwork())
|
if (to.isConnected() && this->getIContextNetwork())
|
||||||
{
|
{
|
||||||
@@ -430,20 +412,11 @@ namespace BlackCore
|
|||||||
const CUser connectedUser = this->getIContextNetwork()->getConnectedServer().getUser();
|
const CUser connectedUser = this->getIContextNetwork()->getConnectedServer().getUser();
|
||||||
|
|
||||||
const QString inputDeviceName = m_inputDeviceSetting.get();
|
const QString inputDeviceName = m_inputDeviceSetting.get();
|
||||||
CAudioDeviceInfo input = CAudioDeviceInfo::getDefaultInputDevice();
|
const CAudioDeviceInfo input = this->getAudioInputDevices().findByNameOrDefault(inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
|
||||||
if (!inputDeviceName.isEmpty())
|
|
||||||
{
|
|
||||||
const CAudioDeviceInfoList inputDevs = this->getAudioInputDevices();
|
|
||||||
input = inputDevs.findByName(inputDeviceName);
|
|
||||||
}
|
|
||||||
|
|
||||||
const QString outputDeviceName = m_outputDeviceSetting.get();
|
const QString outputDeviceName = m_outputDeviceSetting.get();
|
||||||
CAudioDeviceInfo output = CAudioDeviceInfo::getDefaultOutputDevice();
|
const CAudioDeviceInfo output = this->getAudioOutputDevices().findByNameOrDefault(outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
|
||||||
if (!outputDeviceName.isEmpty())
|
|
||||||
{
|
|
||||||
const CAudioDeviceInfoList outputDevs = this->getAudioOutputDevices();
|
|
||||||
output = outputDevs.findByName(outputDeviceName);
|
|
||||||
}
|
|
||||||
m_voiceClient->connectTo(connectedUser.getId(), connectedUser.getPassword(), connectedUser.getCallsign().asString());
|
m_voiceClient->connectTo(connectedUser.getId(), connectedUser.getPassword(), connectedUser.getCallsign().asString());
|
||||||
m_voiceClient->startAudio(input, output, {0, 1});
|
m_voiceClient->startAudio(input, output, {0, 1});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user