summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llnearbyvoicemoderation.cpp3
-rwxr-xr-xindra/newview/llviewerregion.cpp10
-rw-r--r--indra/newview/llviewerregion.h2
-rw-r--r--indra/newview/llvoicewebrtc.cpp2
4 files changed, 14 insertions, 3 deletions
diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp
index 2b4fd26afc..10f92502a5 100644
--- a/indra/newview/llnearbyvoicemoderation.cpp
+++ b/indra/newview/llnearbyvoicemoderation.cpp
@@ -189,6 +189,7 @@ void LLNearbyVoiceModeration::showMutedNotification(bool is_muted)
bool LLNearbyVoiceModeration::isNearbyChatModerator()
{
- return gAgent.canManageEstate() || LLViewerParcelMgr::getInstance()->allowVoiceModeration();
+ return gAgent.getRegion() && gAgent.getRegion()->isRegionWebRTCEnabled() &&
+ (gAgent.canManageEstate() || LLViewerParcelMgr::getInstance()->allowVoiceModeration());
}
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index fa60c36834..98440d96ae 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -3798,6 +3798,16 @@ std::string LLViewerRegion::getSimHostName()
return std::string("...");
}
+
+bool LLViewerRegion::isRegionWebRTCEnabled()
+{
+ if (mSimulatorFeaturesReceived && mSimulatorFeatures.has("VoiceServerType"))
+ {
+ return mSimulatorFeatures["VoiceServerType"].asString() == "webrtc";
+ }
+ return false;
+}
+
void LLViewerRegion::applyCacheMiscExtras(LLViewerObject* obj)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h
index 244e2b7835..bde0fa13ce 100644
--- a/indra/newview/llviewerregion.h
+++ b/indra/newview/llviewerregion.h
@@ -424,6 +424,8 @@ public:
std::string getSimHostName();
+ bool isRegionWebRTCEnabled();
+
static bool isNewObjectCreationThrottleDisabled() {return sNewObjectCreationThrottle < 0;}
// rebuild reflection probe list
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index c57557079e..be2e840f63 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -3168,8 +3168,6 @@ void LLVoiceWebRTCConnection::OnDataReceivedImpl(const std::string &data, bool b
participant->mIsSpeaking = participant_obj["v"].as_bool();
}
- // Currently, viewer doesn't receive this info when the user is muted in Nearby chat,
- // but it *does* receive it when muted in Group chat. A server-side change is required.
if (participant_obj.contains("m") && participant_obj["m"].is_bool())
{
participant->mIsModeratorMuted = participant_obj["m"].as_bool();