diff options
| author | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-09-14 11:38:40 +0300 |
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-09-17 17:44:43 +0300 |
| commit | c8e39fa4bda02c23f5cd7c1eef2d278e3c3ee583 (patch) | |
| tree | 2d6a93f2a494ce9148d63c50d08a3d3dda31a27b | |
| parent | f2586370166a41b0be95c607df2f8df98589458f (diff) | |
#6109 StopPlayout crash
| -rw-r--r-- | indra/llwebrtc/llwebrtc.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp index b6b205e858..3b3e7ea3ba 100644 --- a/indra/llwebrtc/llwebrtc.cpp +++ b/indra/llwebrtc/llwebrtc.cpp @@ -768,8 +768,14 @@ void LLWebRTCImpl::workerDeployDevices() // Stop first so the start helpers (which no-op when already running) will // re-select the now-current device. - mDeviceModule->StopPlayout(); - mDeviceModule->ForceStopRecording(); + if (mDeviceModule->Playing()) + { + mDeviceModule->StopPlayout(); + } + if (mDeviceModule->Recording()) + { + mDeviceModule->ForceStopRecording(); + } workerStartRecording(); workerStartPlayout(); @@ -1061,7 +1067,10 @@ void LLWebRTCImpl::freePeerConnection(LLWebRTCPeerConnectionInterface* peer_conn { if (mDeviceModule) { - mDeviceModule->StopPlayout(); + if (mDeviceModule->Playing()) + { + mDeviceModule->StopPlayout(); + } if (!mVoiceEnabled) { mDeviceModule->ForceStopRecording(); |
