From 23b065b0f1f8620e91a41f5538dfc1ff3077037e Mon Sep 17 00:00:00 2001
From: Roxie Linden <roxie@lindenlab.com>
Date: Thu, 4 Jan 2024 13:02:55 -0800
Subject: Enable AEC

---
 indra/llwebrtc/llwebrtc.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

(limited to 'indra')

diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp
index 9b3ec2889b..8e56f9c222 100644
--- a/indra/llwebrtc/llwebrtc.cpp
+++ b/indra/llwebrtc/llwebrtc.cpp
@@ -110,7 +110,7 @@ void LLWebRTCImpl::init()
                                                                           mTaskQueueFactory.get(),
                                                                           std::unique_ptr<webrtc::AudioDeviceDataObserver>(mTuningAudioDeviceObserver));
                                 mTuningDeviceModule->Init();
-                                mTuningDeviceModule->SetStereoRecording(false);
+                                mTuningDeviceModule->SetStereoRecording(true);
                                 mTuningDeviceModule->SetStereoPlayout(true);
                                 mTuningDeviceModule->EnableBuiltInAEC(false);
                                 updateDevices();
@@ -118,7 +118,7 @@ void LLWebRTCImpl::init()
     
     rtc::scoped_refptr<webrtc::AudioProcessing> apm = webrtc::AudioProcessingBuilder().Create();
     webrtc::AudioProcessing::Config             apm_config;
-    apm_config.echo_canceller.enabled         = false;
+    apm_config.echo_canceller.enabled         = true;
     apm_config.echo_canceller.mobile_mode     = false;
     apm_config.gain_controller1.enabled       = true;
     apm_config.gain_controller1.mode          = webrtc::AudioProcessing::Config::GainController1::kAdaptiveAnalog;
@@ -141,7 +141,7 @@ void LLWebRTCImpl::init()
                                     mPeerDeviceModule->Init();
                                     mPeerDeviceModule->SetPlayoutDevice(mPlayoutDevice);
                                     mPeerDeviceModule->SetRecordingDevice(mRecordingDevice);
-                                    mPeerDeviceModule->SetStereoRecording(false);
+                                    mPeerDeviceModule->SetStereoRecording(true);
                                     mPeerDeviceModule->SetStereoPlayout(true);
                                     mPeerDeviceModule->EnableBuiltInAEC(false);
                                     mPeerDeviceModule->InitMicrophone();
@@ -515,7 +515,7 @@ bool LLWebRTCPeerConnectionImpl::initializeConnection()
 
             cricket::AudioOptions audioOptions;
             audioOptions.auto_gain_control = true;
-            audioOptions.echo_cancellation = false;  // incompatible with opus stereo
+            audioOptions.echo_cancellation = true;  // incompatible with opus stereo
             audioOptions.noise_suppression = true;
 
             mLocalStream = mPeerConnectionFactory->CreateLocalMediaStream("SLStream");
@@ -878,7 +878,7 @@ void LLWebRTCPeerConnectionImpl::OnSuccess(webrtc::SessionDescriptionInterface *
         else if (sdp_line.find("a=fmtp:" + opus_payload) == 0)
         {
             sdp_mangled_stream << sdp_line << "a=fmtp:" << opus_payload
-            << " minptime=10;useinbandfec=1;stereo=1;sprop-stereo=1;maxplaybackrate=48000\n";
+            << " minptime=10;useinbandfec=1;stereo=1;sprop-stereo=1;maxplaybackrate=48000;sprop-maxcapturerate=48000;sprop-maxplaybackrate=48000\n";
         }
         else
         {
-- 
cgit v1.2.3