diff options
| -rw-r--r-- | .github/workflows/build.yaml | 2 | ||||
| -rw-r--r-- | indra/llwebrtc/llwebrtc.cpp | 18 | ||||
| -rw-r--r-- | indra/llwebrtc/llwebrtc_impl.h | 2 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llvoiceclient.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llvoicewebrtc.cpp | 2 | 
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();  | 
