summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorBrad Linden <46733234+brad-linden@users.noreply.github.com>2024-08-21 09:49:54 -0700
committerGitHub <noreply@github.com>2024-08-21 09:49:54 -0700
commit27fa9b81385b2cdce2c4c26cd0c069ccb4d4bc82 (patch)
treeb0bfde435f675ca7a29573a22914d9cf03dfc2c9 /indra
parent738b39fbab2b46b2085c220be7bbced0d43fb823 (diff)
parent7b1d1852c291a9c092961c2f51f0160e0e7da1e6 (diff)
Merge pull request #2372 from secondlife/roxie/webrtc-fix-mac-p2p-hang
Fix hang when incoming p2p or group calls throw up dialog.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llvoicewebrtc.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp
index 387016f9af..4c3ab11623 100644
--- a/indra/newview/llvoicewebrtc.cpp
+++ b/indra/newview/llvoicewebrtc.cpp
@@ -549,13 +549,19 @@ void LLWebRTCVoiceClient::voiceConnectionCoro()
updatePosition();
}
}
-
- sessionState::processSessionStates();
- if (mProcessChannels && voiceEnabled && !mHidden)
- {
- sendPositionUpdate(false);
- updateOwnVolume();
- }
+ LL::WorkQueue::postMaybe(mMainQueue,
+ [=] {
+ if (sShuttingDown)
+ {
+ return;
+ }
+ sessionState::processSessionStates();
+ if (mProcessChannels && voiceEnabled && !mHidden)
+ {
+ sendPositionUpdate(false);
+ updateOwnVolume();
+ }
+ });
}
}
catch (const LLCoros::Stop&)
@@ -2221,6 +2227,7 @@ void LLVoiceWebRTCConnection::OnIceCandidate(const llwebrtc::LLWebRTCIceCandidat
void LLVoiceWebRTCConnection::processIceUpdates()
{
mOutstandingRequests++;
+
LLCoros::getInstance()->launch("LLVoiceWebRTCConnection::processIceUpdatesCoro",
boost::bind(&LLVoiceWebRTCConnection::processIceUpdatesCoro, this->shared_from_this()));
}