summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2025-10-03 20:01:44 +0800
committerErik Kundiman <erik@megapahit.org>2025-10-03 20:01:44 +0800
commit2b610653c8a7b090c677d515894af7318f81ac18 (patch)
tree56eb034095fef5320dbb617590ae6cbe9099396a
parentf5e7c3a874dcbc4ea8ae23248c2685335bf1eacf (diff)
parent3ff163887d49363e9d2d48ea343fa1c8da19c061 (diff)
Merge tag 'Second_Life_Test#3ff16388-2025.07' into 2025.07
-rw-r--r--.github/workflows/build.yaml2
-rw-r--r--indra/llwebrtc/llwebrtc.cpp18
-rw-r--r--indra/llwebrtc/llwebrtc_impl.h2
-rw-r--r--indra/newview/llappviewer.cpp2
-rw-r--r--indra/newview/llvoiceclient.cpp9
-rw-r--r--indra/newview/llvoicewebrtc.cpp2
6 files changed, 29 insertions, 6 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 42fd44cf9c..8f89db0923 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -97,7 +97,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: secondlife/build-variables
- ref: universal
+ ref: master
path: .build-variables
- name: Checkout master-message-template
diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp
index 23e1076765..828896f620 100644
--- a/indra/llwebrtc/llwebrtc.cpp
+++ b/indra/llwebrtc/llwebrtc.cpp
@@ -342,8 +342,11 @@ void LLWebRTCImpl::init()
mWorkerThread->PostTask(
[this]()
{
- mDeviceModule->EnableBuiltInAEC(false);
- updateDevices();
+ if (mDeviceModule)
+ {
+ mDeviceModule->EnableBuiltInAEC(false);
+ updateDevices();
+ }
});
}
@@ -449,6 +452,11 @@ void LLWebRTCImpl::unsetDevicesObserver(LLWebRTCDevicesObserver *observer)
// must be run in the worker thread.
void LLWebRTCImpl::workerDeployDevices()
{
+ if (!mDeviceModule)
+ {
+ return;
+ }
+
int16_t recordingDevice = RECORD_DEVICE_DEFAULT;
int16_t recording_device_start = 0;
@@ -571,6 +579,11 @@ void LLWebRTCImpl::setRenderDevice(const std::string &id)
// updateDevices needs to happen on the worker thread.
void LLWebRTCImpl::updateDevices()
{
+ if (!mDeviceModule)
+ {
+ return;
+ }
+
int16_t renderDeviceCount = mDeviceModule->PlayoutDevices();
mPlayoutDeviceList.clear();
@@ -1491,6 +1504,7 @@ void terminate()
if (gWebRTCImpl)
{
gWebRTCImpl->terminate();
+ delete gWebRTCImpl;
gWebRTCImpl = nullptr;
}
}
diff --git a/indra/llwebrtc/llwebrtc_impl.h b/indra/llwebrtc/llwebrtc_impl.h
index 6526c24f18..34d5e577ed 100644
--- a/indra/llwebrtc/llwebrtc_impl.h
+++ b/indra/llwebrtc/llwebrtc_impl.h
@@ -75,7 +75,7 @@ public:
LLWebRTCLogSink(LLWebRTCLogCallback* callback) : mCallback(callback) {}
// Destructor: close the log file
- ~LLWebRTCLogSink() override {}
+ ~LLWebRTCLogSink() override { mCallback = nullptr; }
void OnLogMessage(const std::string& msg, webrtc::LoggingSeverity severity) override
{
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 6422d1befa..c3dc821b13 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3444,7 +3444,7 @@ LLSD LLAppViewer::getViewerInfo() const
info["FONT_SIZE_ADJUSTMENT"] = gSavedSettings.getF32("FontScreenDPI");
info["UI_SCALE"] = gSavedSettings.getF32("UIScaleFactor");
info["DRAW_DISTANCE"] = gSavedSettings.getF32("RenderFarClip");
- info["NET_BANDWITH"] = gSavedSettings.getF32("ThrottleBandwidthKBPS");
+ info["NET_BANDWITH"] = LLViewerThrottle::getMaxBandwidthKbps();
info["LOD_FACTOR"] = gSavedSettings.getF32("RenderVolumeLODFactor");
info["RENDER_QUALITY"] = (F32)gSavedSettings.getU32("RenderQualityPerformance");
info["TEXTURE_MEMORY"] = LLSD::Integer(gGLManager.mVRAM);
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 9b1f54437e..d8413ce776 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -302,7 +302,14 @@ void LLVoiceClient::setHidden(bool hidden)
void LLVoiceClient::terminate()
{
- if (mSpatialVoiceModule) mSpatialVoiceModule->terminate();
+ if (LLVivoxVoiceClient::instanceExists())
+ {
+ LLWebRTCVoiceClient::getInstance()->terminate();
+ }
+ if (LLVivoxVoiceClient::instanceExists())
+ {
+ LLVivoxVoiceClient::getInstance()->terminate();
+ }
mSpatialVoiceModule = NULL;
m_servicePump = NULL;
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index f13d4caa19..a56305599d 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -288,6 +288,8 @@ void LLWebRTCVoiceClient::terminate()
return;
}
+ LL_INFOS("Voice") << "Terminating WebRTC" << LL_ENDL;
+
mVoiceEnabled = false;
llwebrtc::terminate();