summaryrefslogtreecommitdiff
path: root/indra/newview/llvoiceclient.cpp
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2024-05-16 13:34:13 -0700
committerRoxie Linden <roxie@lindenlab.com>2024-05-16 13:34:13 -0700
commitcfd358f93350bf0ea487480d5c39bf48605b115b (patch)
tree955089cd26c9e04cd207360dae343f8ecd992990 /indra/newview/llvoiceclient.cpp
parentc6e147ff224e1adc9a498d4a06ad54fff710d704 (diff)
WebRTC clients calling Vivox clients should handle P2P
Diffstat (limited to 'indra/newview/llvoiceclient.cpp')
-rw-r--r--indra/newview/llvoiceclient.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 8bd3897761..a4a6922fd2 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -540,9 +540,11 @@ LLVoiceP2POutgoingCallInterface *LLVoiceClient::getOutgoingCallInterface(const L
LLVoiceVersionInfo versionInfo = LLVoiceClient::getInstance()->getVersion();
voice_server_type = versionInfo.internalVoiceServerType;
}
- if (voiceChannelInfo.has("voice_server_type"))
+ if (voiceChannelInfo.has("voice_server_type") && voiceChannelInfo["voice_server_type"] != voice_server_type)
{
- voice_server_type = voiceChannelInfo["voice_server_type"].asString();
+ // there's a mismatch between what the peer is offering and what our server
+ // can handle, so downgrade to vivox
+ voice_server_type = VIVOX_VOICE_SERVER_TYPE;
}
LLVoiceModuleInterface *module = getVoiceModule(voice_server_type);
return dynamic_cast<LLVoiceP2POutgoingCallInterface *>(module);