diff options
author | Roxie Linden <roxie@lindenlab.com> | 2024-04-26 21:31:06 -0700 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2024-04-26 21:31:06 -0700 |
commit | 4c4d23acb00960d1bc812eab4656d3f4cdcd70e3 (patch) | |
tree | 5fdda9c6e74df212f24d2cbad75392c3514d8fa0 /indra/newview/llvoicechannel.cpp | |
parent | 534ddc52900261789416034a621b8b1d5617920e (diff) |
Renegotiate voice if the voice server type has changed.
The server will send an update with new voice credentials
when another peer comes in requiring vivox, if the channel
was initially webrtc.
Diffstat (limited to 'indra/newview/llvoicechannel.cpp')
-rw-r--r-- | indra/newview/llvoicechannel.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index 92b00fe854..7138a8b391 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -152,13 +152,16 @@ void LLVoiceChannel::handleStatusChange(EStatusType type) case STATUS_LOGGED_IN: break; case STATUS_LEFT_CHANNEL: - if (callStarted() && !mIgnoreNextSessionLeave && !sSuspended) + if (callStarted() && !sSuspended) { // if forceably removed from channel // update the UI and revert to default channel + // deactivate will set the State to STATE_HUNG_UP + // so when handleStatusChange is called again during + // shutdown callStarted will return false and deactivate + // won't be called again. deactivate(); } - mIgnoreNextSessionLeave = FALSE; break; case STATUS_JOINING: if (callStarted()) @@ -433,7 +436,7 @@ void LLVoiceChannelGroup::activate() // Adding ad-hoc call participants to Recent People List. // If it's an outgoing ad-hoc, we can use mInitialTargetIDs that holds IDs of people we // called(both online and offline) as source to get people for recent (STORM-210). - if (session->isOutgoingAdHoc()) + if (session && session->isOutgoingAdHoc()) { for (uuid_vec_t::iterator it = session->mInitialTargetIDs.begin(); it != session->mInitialTargetIDs.end(); ++it) { @@ -471,6 +474,7 @@ void LLVoiceChannelGroup::requestChannelInfo() void LLVoiceChannelGroup::setChannelInfo(const LLSD& channelInfo) { mChannelInfo = channelInfo; + LL_INFOS("Voice") << "setChannelInfo: " << channelInfo << LL_ENDL; if (mState == STATE_NO_CHANNEL_INFO) { |