diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llvoicewebrtc.cpp | 42 | 
1 files changed, 22 insertions, 20 deletions
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index 9835a69e4e..627d759df4 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -336,35 +336,37 @@ void LLWebRTCVoiceClient::updateSettings()      LL_PROFILE_ZONE_SCOPED_CATEGORY_VOICE;      setVoiceEnabled(LLVoiceClient::getInstance()->voiceEnabled()); -    static LLCachedControl<S32> sVoiceEarLocation(gSavedSettings, "VoiceEarLocation"); -    setEarLocation(sVoiceEarLocation); - -    static LLCachedControl<std::string> sInputDevice(gSavedSettings, "VoiceInputAudioDevice"); -    setCaptureDevice(sInputDevice); +    if (mVoiceEnabled) +    { +        static LLCachedControl<S32> sVoiceEarLocation(gSavedSettings, "VoiceEarLocation"); +        setEarLocation(sVoiceEarLocation); -    static LLCachedControl<std::string> sOutputDevice(gSavedSettings, "VoiceOutputAudioDevice"); -    setRenderDevice(sOutputDevice); +        static LLCachedControl<std::string> sInputDevice(gSavedSettings, "VoiceInputAudioDevice"); +        setCaptureDevice(sInputDevice); -    LL_INFOS("Voice") << "Input device: " << std::quoted(sInputDevice()) << ", output device: " << std::quoted(sOutputDevice()) << LL_ENDL; +        static LLCachedControl<std::string> sOutputDevice(gSavedSettings, "VoiceOutputAudioDevice"); +        setRenderDevice(sOutputDevice); -    static LLCachedControl<F32> sMicLevel(gSavedSettings, "AudioLevelMic"); -    setMicGain(sMicLevel); +        LL_INFOS("Voice") << "Input device: " << std::quoted(sInputDevice()) << ", output device: " << std::quoted(sOutputDevice()) << LL_ENDL; -    llwebrtc::LLWebRTCDeviceInterface::AudioConfig config; +        static LLCachedControl<F32> sMicLevel(gSavedSettings, "AudioLevelMic"); +        setMicGain(sMicLevel); -    static LLCachedControl<bool> sEchoCancellation(gSavedSettings, "VoiceEchoCancellation", true); -    config.mEchoCancellation = sEchoCancellation; +        llwebrtc::LLWebRTCDeviceInterface::AudioConfig config; -    static LLCachedControl<bool> sAGC(gSavedSettings, "VoiceAutomaticGainControl", true); -    config.mAGC = sAGC; +        static LLCachedControl<bool> sEchoCancellation(gSavedSettings, "VoiceEchoCancellation", true); +        config.mEchoCancellation = sEchoCancellation; -    static LLCachedControl<U32> sNoiseSuppressionLevel(gSavedSettings, -                                                       "VoiceNoiseSuppressionLevel", -                                                       llwebrtc::LLWebRTCDeviceInterface::AudioConfig::ENoiseSuppressionLevel::NOISE_SUPPRESSION_LEVEL_VERY_HIGH); -    config.mNoiseSuppressionLevel = (llwebrtc::LLWebRTCDeviceInterface::AudioConfig::ENoiseSuppressionLevel) (U32)sNoiseSuppressionLevel; +        static LLCachedControl<bool> sAGC(gSavedSettings, "VoiceAutomaticGainControl", true); +        config.mAGC = sAGC; -    mWebRTCDeviceInterface->setAudioConfig(config); +        static LLCachedControl<U32> sNoiseSuppressionLevel(gSavedSettings, +            "VoiceNoiseSuppressionLevel", +            llwebrtc::LLWebRTCDeviceInterface::AudioConfig::ENoiseSuppressionLevel::NOISE_SUPPRESSION_LEVEL_VERY_HIGH); +        config.mNoiseSuppressionLevel = (llwebrtc::LLWebRTCDeviceInterface::AudioConfig::ENoiseSuppressionLevel)(U32)sNoiseSuppressionLevel; +        mWebRTCDeviceInterface->setAudioConfig(config); +    }  }  // Observers  | 
