diff options
| author | Jonathan "Geenz" Goodman <geenz@geenzo.com> | 2025-10-17 17:06:39 -0400 |
|---|---|---|
| committer | Jonathan "Geenz" Goodman <geenz@geenzo.com> | 2025-10-17 17:06:39 -0400 |
| commit | bbc2ad8fc50b2efb19a40a2db57043690addc492 (patch) | |
| tree | cd52ee85740d6cf788e918187c2b7c196407a7a6 /indra/newview/llvoicewebrtc.cpp | |
| parent | 01a799495b93cb9f7d5b9298bfb57afc99e47e1b (diff) | |
| parent | aec7bf19ebffd9d6b60c68e31de723eabd6aa98a (diff) | |
Merge remote-tracking branch 'origin/main' into geenz/main-to-develop
Diffstat (limited to 'indra/newview/llvoicewebrtc.cpp')
| -rw-r--r-- | indra/newview/llvoicewebrtc.cpp | 16 |
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); |
