summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2009-12-17 13:00:16 +0200
committerMike Antipov <mantipov@productengine.com>2009-12-17 13:00:16 +0200
commit82929ee43b4fb7db6435f419d3e2818684b49eae (patch)
treef8bf265f8eaa5694a88b533a156756b8d0273f2c
parentd2b0245d5886d823bf8ad343d61c6c6f0babc274 (diff)
Work on EXT-3431 Implement 'mute/unmute everyone else' moderation in the voice control panel
-- added comment to test scenario when "Moderator sends the same second request before first response is come" --HG-- branch : product-engine
-rw-r--r--indra/newview/llspeakers.cpp34
1 files changed, 18 insertions, 16 deletions
diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp
index 6e5a867426..3861a96355 100644
--- a/indra/newview/llspeakers.cpp
+++ b/indra/newview/llspeakers.cpp
@@ -659,25 +659,27 @@ void LLIMSpeakerMgr::moderateVoiceParticipant(const LLUUID& avatar_id, bool unmu
void LLIMSpeakerMgr::moderateVoiceOtherParticipants(const LLUUID& excluded_avatar_id, bool unmute_everyone_else)
{
- // TODO: mantipov: add more intellectual processing of several following requests
+ // *TODO: mantipov: add more intellectual processing of several following requests if it is needed.
+ /*
+ Such situation should be tested:
+ "Moderator sends the same second request before first response is come"
+ Moderator sends "mute everyone else" for A and then for B
+ two requests to disallow voice chat are sent
+ UUID of B is stored.
+ Then first response (to disallow voice chat) is come
+ request to allow voice for stored avatar (B)
+ Then second response (to disallow voice chat) is come
+ have nothing to do, the latest selected speaker is already enabled
+
+ What can happen?
+ If request to allow voice for stored avatar (B) is processed on server BEFORE
+ second request to disallow voice chat all speakers will be disabled on voice.
+ But I'm not sure such situation is possible.
+ See EXT-3431.
+ */
mReverseVoiceModeratedAvatarID = excluded_avatar_id;
moderateVoiceSession(getSessionID(), !unmute_everyone_else);
-/*
- LLSpeakerMgr::speaker_list_t speakers;
- getSpeakerList(&speakers, FALSE);
-
- for (LLSpeakerMgr::speaker_list_t::iterator iter = speakers.begin();
- iter != speakers.end(); ++iter)
- {
- LLSpeaker* speakerp = (*iter).get();
- LLUUID speaker_id = speakerp->mID;
-
- if (excluded_avatar_id == speaker_id) continue;
-
- moderateVoiceParticipant(speaker_id, unmute_everyone_else);
- }
-*/
}
void LLIMSpeakerMgr::processSessionUpdate(const LLSD& session_update)