diff options
author | Roxie Linden <roxie@lindenlab.com> | 2024-01-25 20:53:19 -0800 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2024-02-22 23:11:36 -0800 |
commit | bb2994d9ba89f199c08d88d89257f7944117a234 (patch) | |
tree | 8851a608d63e69a95281ae13f00b59ba32500a9c /indra/newview/llimview.cpp | |
parent | e8edfbf3d488e1981a876a40714f36dafad5414a (diff) |
Checkpoint Ad-Hoc voice.
Unlike vivox, P2P uses the ad-hoc voice mechanism, which is also used by
group voice.
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r-- | indra/newview/llimview.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 61a01d7418..3e03dbef8f 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -665,8 +665,11 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string& // set P2P type by default mSessionType = P2P_SESSION; - if (IM_NOTHING_SPECIAL == mType || IM_SESSION_P2P_INVITE == mType) + if ((IM_NOTHING_SPECIAL == mType || IM_SESSION_P2P_INVITE == mType) && LLVoiceClient::getInstance()->hasP2PInterface()) { + // only use LLVoiceChannelP2P if the provider can handle the special P2P interface, + // which uses the voice server to relay calls and invites. Otherwise, + // we use the group voice provider. mVoiceChannel = new LLVoiceChannelP2P(session_id, name, other_participant_id); } else @@ -2034,7 +2037,8 @@ bool LLIMModel::sendStartSession( return true; } - else if ( dialog == IM_SESSION_CONFERENCE_START ) + else if (( dialog == IM_SESSION_CONFERENCE_START ) || + (((dialog == IM_SESSION_P2P_INVITE) || (dialog == IM_NOTHING_SPECIAL)) && !LLVoiceClient::getInstance()->hasP2PInterface())) { LLSD agents; for (int i = 0; i < (S32) ids.size(); i++) |