summaryrefslogtreecommitdiff
path: root/indra/llwebrtc/llwebrtc.cpp
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2025-08-08 18:43:32 -0400
committerGitHub <noreply@github.com>2025-08-08 18:43:32 -0400
commit5b1c783be7506a745c618e3bbc8a5578026e2fd5 (patch)
treeb4d5928717a283b46f9a85c9489c1f31db3d1963 /indra/llwebrtc/llwebrtc.cpp
parent8ef660a7450dad60e5f73cd2cc50aeb6b9f8a356 (diff)
parentbab2c12d048e7faf021ee3a9df39251e91973abf (diff)
Merge pull request #4494 from secondlife/roxie/fix-4419
Straighten out muting to prevent echo when crossing from vivox to webrtc regions near a webrtc region boundary.
Diffstat (limited to 'indra/llwebrtc/llwebrtc.cpp')
-rw-r--r--indra/llwebrtc/llwebrtc.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp
index 28639b9af0..20951ff816 100644
--- a/indra/llwebrtc/llwebrtc.cpp
+++ b/indra/llwebrtc/llwebrtc.cpp
@@ -904,12 +904,12 @@ void LLWebRTCPeerConnectionImpl::enableSenderTracks(bool enable)
// set_enabled shouldn't be done on the worker thread.
if (mPeerConnection)
{
+ mPeerConnection->SetAudioRecording(enable);
auto senders = mPeerConnection->GetSenders();
for (auto &sender : senders)
{
sender->track()->set_enabled(enable);
}
- mPeerConnection->SetAudioRecording(enable);
}
}
@@ -964,6 +964,9 @@ void LLWebRTCPeerConnectionImpl::setMute(bool mute)
{
if (mPeerConnection)
{
+ // SetAudioRecording must be called before enabling/disabling tracks.
+ mPeerConnection->SetAudioRecording(enable);
+
auto senders = mPeerConnection->GetSenders();
RTC_LOG(LS_INFO) << __FUNCTION__ << (mMute ? "disabling" : "enabling") << " streams count " << senders.size();
@@ -982,7 +985,6 @@ void LLWebRTCPeerConnectionImpl::setMute(bool mute)
track->set_enabled(enable);
}
}
- mPeerConnection->SetAudioRecording(enable);
}
});
}