From fc633fce71c6bdd43ab009558c7556f528335fe0 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 14 Jan 2010 18:24:38 +0200 Subject: 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 --- indra/newview/llvoiceclient.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview/llvoiceclient.cpp') 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& 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) { -- cgit v1.2.3