summaryrefslogtreecommitdiff
path: root/indra/newview/llvoiceclient.cpp
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2010-01-14 18:24:38 +0200
committerMike Antipov <mantipov@productengine.com>2010-01-14 18:24:38 +0200
commitfc633fce71c6bdd43ab009558c7556f528335fe0 (patch)
treee52544e4c846efe60a684c2f451f1a9c99c72e2e /indra/newview/llvoiceclient.cpp
parent2029bf92e2ba846274f99cb740cf0fade4ea2796 (diff)
Work on major bug EXT-3976 (Voice chat speaking indicators should only display when users are in the same voice channel)
-- improvements: replace std::vector with std::set to avoid duplicated speaker UUIDs. Added method to get a set of voice participants UUIDs --HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llvoiceclient.cpp')
-rw-r--r--indra/newview/llvoiceclient.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 423c46e14c..42b8a1c2b6 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -5004,6 +5004,17 @@ LLVoiceClient::participantMap *LLVoiceClient::getParticipantList(void)
return result;
}
+void LLVoiceClient::getParticipantsUUIDSet(std::set<LLUUID>& participant_uuids)
+{
+ if (NULL == mAudioSession) return;
+
+ participantUUIDMap::const_iterator it = mAudioSession->mParticipantsByUUID.begin(),
+ it_end = mAudioSession->mParticipantsByUUID.end();
+ for (; it != it_end; ++it)
+ {
+ participant_uuids.insert((*(*it).first));
+ }
+}
LLVoiceClient::participantState *LLVoiceClient::sessionState::findParticipant(const std::string &uri)
{