summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicechannel.cpp
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2024-04-26 21:31:06 -0700
committerRoxie Linden <roxie@lindenlab.com>2024-04-26 21:31:06 -0700
commit4c4d23acb00960d1bc812eab4656d3f4cdcd70e3 (patch)
tree5fdda9c6e74df212f24d2cbad75392c3514d8fa0 /indra/newview/llvoicechannel.cpp
parent534ddc52900261789416034a621b8b1d5617920e (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.cpp10
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)
{