diff options
author | Roxie Linden <roxie@lindenlab.com> | 2024-04-30 11:45:21 -0700 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2024-04-30 11:45:21 -0700 |
commit | 2c503997204043fcd24d70854799509c0675d76d (patch) | |
tree | 0aff42953b5ec5a873fa5a30f4dc0f62240d3639 /indra/newview/llvoicewebrtc.h | |
parent | 57182b2ac01007d3d5d11c98e811e05d2c50405c (diff) |
Remove voice participants for a connection when shutting it down.
When teleporting or moving around, connections to regions are shut down.
We need to track which participants are associated with the given
connections and remove those participants when the connection is
shut down.
Diffstat (limited to 'indra/newview/llvoicewebrtc.h')
-rw-r--r-- | indra/newview/llvoicewebrtc.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/indra/newview/llvoicewebrtc.h b/indra/newview/llvoicewebrtc.h index 67e4a4ea6f..af1efa5fe5 100644 --- a/indra/newview/llvoicewebrtc.h +++ b/indra/newview/llvoicewebrtc.h @@ -228,7 +228,7 @@ public: struct participantState { public: - participantState(const LLUUID& agent_id); + participantState(const LLUUID& agent_id, const LLUUID& region); bool isAvatar(); @@ -240,12 +240,13 @@ public: F32 mVolume; // the gain applied to the participant bool mIsSpeaking; bool mIsModeratorMuted; + LLUUID mRegion; }; typedef boost::shared_ptr<participantState> participantStatePtr_t; participantStatePtr_t findParticipantByID(const std::string &channelID, const LLUUID &id); - participantStatePtr_t addParticipantByID(const std::string& channelID, const LLUUID &id); - void removeParticipantByID(const std::string& channelID, const LLUUID &id); + participantStatePtr_t addParticipantByID(const std::string& channelID, const LLUUID &id, const LLUUID& region); + void removeParticipantByID(const std::string& channelID, const LLUUID &id, const LLUUID& region); protected: @@ -262,9 +263,9 @@ public: static void addSession(const std::string &channelID, ptr_t& session); virtual ~sessionState(); - participantStatePtr_t addParticipant(const LLUUID& agent_id); + participantStatePtr_t addParticipant(const LLUUID& agent_id, const LLUUID& region); void removeParticipant(const participantStatePtr_t &participant); - void removeAllParticipants(); + void removeAllParticipants(const LLUUID& region = LLUUID()); participantStatePtr_t findParticipantByID(const LLUUID& id); |