summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicewebrtc.cpp
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2025-10-17 19:30:49 -0400
committerGitHub <noreply@github.com>2025-10-17 19:30:49 -0400
commit3ca323db9e71a342bf1ca895e23ab180ce048add (patch)
treecd52ee85740d6cf788e918187c2b7c196407a7a6 /indra/newview/llvoicewebrtc.cpp
parent01a799495b93cb9f7d5b9298bfb57afc99e47e1b (diff)
parentbbc2ad8fc50b2efb19a40a2db57043690addc492 (diff)
Merge pull request #4850 from secondlife/geenz/main-to-develop
Catch some commits that didn't make it back to develop.
Diffstat (limited to 'indra/newview/llvoicewebrtc.cpp')
-rw-r--r--indra/newview/llvoicewebrtc.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index 83f104ef01..e6fcc7bd6b 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -273,6 +273,11 @@ void LLWebRTCVoiceClient::cleanupSingleton()
void LLWebRTCVoiceClient::init(LLPumpIO* pump)
{
// constructor will set up LLVoiceClient::getInstance()
+ initWebRTC();
+}
+
+void LLWebRTCVoiceClient::initWebRTC()
+{
llwebrtc::init(this);
mWebRTCDeviceInterface = llwebrtc::getDeviceInterface();
@@ -293,6 +298,8 @@ void LLWebRTCVoiceClient::terminate()
mVoiceEnabled = false;
sShuttingDown = true; // so that coroutines won't post more work.
llwebrtc::terminate();
+
+ mWebRTCDeviceInterface = nullptr;
}
//---------------------------------------------------
@@ -1804,6 +1811,15 @@ void LLWebRTCVoiceClient::onChangeDetailed(const LLMute& mute)
}
}
+void LLWebRTCVoiceClient::userAuthorized(const std::string& user_id, const LLUUID& agentID)
+{
+ if (sShuttingDown)
+ {
+ sShuttingDown = false; // was terminated, restart
+ initWebRTC();
+ }
+}
+
void LLWebRTCVoiceClient::predSetUserMute(const LLWebRTCVoiceClient::sessionStatePtr_t &session, const LLUUID &id, bool mute)
{
session->setUserMute(id, mute);