summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2024-03-07 23:13:11 -0800
committerRoxie Linden <roxie@lindenlab.com>2024-03-07 23:13:11 -0800
commit42c7a335f840acf1b927b1ed6c8e06a6f00534d0 (patch)
tree30fb306e57196ace15b4a035266e561642ffc9d9
parent425f089ffcfa715b4e85dd65c91bec1b8e2beb10 (diff)
Fix issue with spatial and p2p being up at the same time
Also, fix issue with voice still happening in parcels where voice is disabled.
-rw-r--r--indra/newview/llvoiceclient.cpp10
-rw-r--r--indra/newview/llvoicewebrtc.cpp47
2 files changed, 27 insertions, 30 deletions
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index b642c43f34..9f99549829 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -400,14 +400,8 @@ BOOL LLVoiceClient::isSessionTextIMPossible(const LLUUID& id)
BOOL LLVoiceClient::isSessionCallBackPossible(const LLUUID& id)
{
- if (mSpatialVoiceModule)
- {
- return mSpatialVoiceModule->isSessionCallBackPossible(id);
- }
- else
- {
- return FALSE;
- }
+ // we don't support PSTN calls anymore. (did we ever?)
+ return TRUE;
}
//----------------------------------------------
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index d593d5aca7..fe4c4129c5 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -523,33 +523,36 @@ LLWebRTCVoiceClient::adhocSessionState::adhocSessionState(const std::string &cha
bool LLWebRTCVoiceClient::estateSessionState::processConnectionStates()
{
- // Estate voice requires connection to neighboring regions.
- std::set<LLUUID> neighbor_ids = LLWebRTCVoiceClient::getInstance()->getNeighboringRegions();
-
- for (auto& connection : mWebRTCConnections)
+ if (!mShuttingDown)
{
- boost::shared_ptr<LLVoiceWebRTCSpatialConnection> spatialConnection =
- boost::static_pointer_cast<LLVoiceWebRTCSpatialConnection>(connection);
+ // Estate voice requires connection to neighboring regions.
+ std::set<LLUUID> neighbor_ids = LLWebRTCVoiceClient::getInstance()->getNeighboringRegions();
- LLUUID regionID = spatialConnection.get()->getRegionID();
-
- if (neighbor_ids.find(regionID) == neighbor_ids.end())
+ for (auto &connection : mWebRTCConnections)
{
- // shut down connections to neighbors that are too far away.
- spatialConnection.get()->shutDown();
+ boost::shared_ptr<LLVoiceWebRTCSpatialConnection> spatialConnection =
+ boost::static_pointer_cast<LLVoiceWebRTCSpatialConnection>(connection);
+
+ LLUUID regionID = spatialConnection.get()->getRegionID();
+
+ if (neighbor_ids.find(regionID) == neighbor_ids.end())
+ {
+ // shut down connections to neighbors that are too far away.
+ spatialConnection.get()->shutDown();
+ }
+ neighbor_ids.erase(regionID);
}
- neighbor_ids.erase(regionID);
- }
- // add new connections for new neighbors
- for (auto &neighbor : neighbor_ids)
- {
- connectionPtr_t connection(new LLVoiceWebRTCSpatialConnection(neighbor, INVALID_PARCEL_ID, mChannelID));
+ // add new connections for new neighbors
+ for (auto &neighbor : neighbor_ids)
+ {
+ connectionPtr_t connection(new LLVoiceWebRTCSpatialConnection(neighbor, INVALID_PARCEL_ID, mChannelID));
- mWebRTCConnections.push_back(connection);
- connection->setMicGain(mMicGain);
- connection->setMuteMic(mMuted);
- connection->setSpeakerVolume(mSpeakerVolume);
+ mWebRTCConnections.push_back(connection);
+ connection->setMicGain(mMicGain);
+ connection->setMuteMic(mMuted);
+ connection->setSpeakerVolume(mSpeakerVolume);
+ }
}
return LLWebRTCVoiceClient::sessionState::processConnectionStates();
}
@@ -636,7 +639,7 @@ void LLWebRTCVoiceClient::voiceConnectionCoro()
}
}
}
- else
+ if (!voiceEnabled)
{
// voice is disabled, so leave and disable PTT
leaveChannel(true);