summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2023-09-22 11:22:41 -0700
committerRoxie Linden <roxie@lindenlab.com>2024-02-22 23:11:34 -0800
commitfc5075dda58be36133b5795e056be7ff2f1e822b (patch)
tree37fa69ef8116c2e7420232cb0f3c3bd022066ec2 /indra
parentc087b8648dc85cffdc4d9a5eb85d989a9b4aa51b (diff)
only send volume updates when volume has changed.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llvoicewebrtc.cpp15
-rw-r--r--indra/newview/llvoicewebrtc.h2
2 files changed, 12 insertions, 5 deletions
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index e6877063b5..3942f4171d 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -2359,12 +2359,17 @@ void LLWebRTCVoiceClient::sendPositionAndVolumeUpdate(void)
if (mWebRTCDataInterface && mWebRTCAudioInterface)
{
- Json::FastWriter writer;
- Json::Value root;
- root["p"] = (uint32_t) ((F32)mWebRTCDeviceInterface->getAudioLevel() * 256);
- std::string json_data = writer.write(root);
+ uint32_t audio_level = (uint32_t) ((F32) mWebRTCDeviceInterface->getAudioLevel() * 256);
+ if (audio_level != mAudioLevel)
+ {
+ Json::FastWriter writer;
+ Json::Value root;
+ root["p"] = (uint32_t) ((F32) mWebRTCDeviceInterface->getAudioLevel() * 256);
+ std::string json_data = writer.write(root);
- mWebRTCDataInterface->sendData(json_data, false);
+ mWebRTCDataInterface->sendData(json_data, false);
+ mAudioLevel = audio_level;
+ }
}
diff --git a/indra/newview/llvoicewebrtc.h b/indra/newview/llvoicewebrtc.h
index 518fee53ef..e3aa33bfd9 100644
--- a/indra/newview/llvoicewebrtc.h
+++ b/indra/newview/llvoicewebrtc.h
@@ -786,6 +786,8 @@ private:
std::vector<llwebrtc::LLWebRTCIceCandidate> mIceCandidates;
bool mIceCompleted;
+ uint32_t mAudioLevel;
+
bool mIsInitialized;
bool mShutdownComplete;