diff options
author | Mike Antipov <mantipov@productengine.com> | 2009-12-17 13:00:16 +0200 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2009-12-17 13:00:16 +0200 |
commit | 82929ee43b4fb7db6435f419d3e2818684b49eae (patch) | |
tree | f8bf265f8eaa5694a88b533a156756b8d0273f2c | |
parent | d2b0245d5886d823bf8ad343d61c6c6f0babc274 (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.cpp | 34 |
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) |