diff options
| author | Erik Kundiman <erik@megapahit.org> | 2025-10-03 20:01:44 +0800 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2025-10-03 20:01:44 +0800 |
| commit | 2b610653c8a7b090c677d515894af7318f81ac18 (patch) | |
| tree | 56eb034095fef5320dbb617590ae6cbe9099396a /indra/llwebrtc/llwebrtc.cpp | |
| parent | f5e7c3a874dcbc4ea8ae23248c2685335bf1eacf (diff) | |
| parent | 3ff163887d49363e9d2d48ea343fa1c8da19c061 (diff) | |
Merge tag 'Second_Life_Test#3ff16388-2025.07' into 2025.07
Diffstat (limited to 'indra/llwebrtc/llwebrtc.cpp')
| -rw-r--r-- | indra/llwebrtc/llwebrtc.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
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; } } |
