diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2024-08-07 09:54:31 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2024-08-07 14:19:49 +0300 | 
| commit | 9094d0281d362bd2caab5a34f42222aa1e24d9c2 (patch) | |
| tree | 685b0b3571fe6d2031b7b9dbfef2e1255ea8bd9a | |
| parent | ae7f7cd6701ae9fed57c687b03aabad0d954b230 (diff) | |
Adjust some LLVoiceClient functions
Feels like I should have made isParticipant and getParticipantList
static to minimize singleton dependency/calls
| -rw-r--r-- | indra/newview/lloutputmonitorctrl.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llspeakers.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/llvoicechannel.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llvoicechannel.h | 6 | ||||
| -rw-r--r-- | indra/newview/llvoiceclient.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llvoiceclient.h | 8 | 
6 files changed, 34 insertions, 30 deletions
| diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp index db43c57139..28433b36f4 100644 --- a/indra/newview/lloutputmonitorctrl.cpp +++ b/indra/newview/lloutputmonitorctrl.cpp @@ -126,29 +126,31 @@ void LLOutputMonitorCtrl::draw()      const F32 LEVEL_1 = LLVoiceClient::OVERDRIVEN_POWER_LEVEL * 2.f / 3.f;      const F32 LEVEL_2 = LLVoiceClient::OVERDRIVEN_POWER_LEVEL; +    LLVoiceClient* vocie_client = LLVoiceClient::getInstance(); +      if (getVisible() && mAutoUpdate && !getIsMuted() && mSpeakerId.notNull())      { -        setPower(LLVoiceClient::getInstance()->getCurrentPower(mSpeakerId)); +        setPower(vocie_client->getCurrentPower(mSpeakerId));          if(mIsAgentControl)          { -            setIsTalking(LLVoiceClient::getInstance()->getUserPTTState()); +            setIsTalking(vocie_client->getUserPTTState());          }          else          { -            setIsTalking(LLVoiceClient::getInstance()->getIsSpeaking(mSpeakerId)); +            setIsTalking(vocie_client->getIsSpeaking(mSpeakerId));          }      }      if ((mPower == 0.f && !mIsTalking) && mShowParticipantsSpeaking)      {          std::set<LLUUID> participant_uuids; -        LLVoiceClient::instance().getParticipantList(participant_uuids); +        vocie_client->getParticipantList(participant_uuids);          std::set<LLUUID>::const_iterator part_it = participant_uuids.begin();          F32 power = 0;          for (; part_it != participant_uuids.end(); ++part_it)          { -            power = LLVoiceClient::instance().getCurrentPower(*part_it); +            power = vocie_client->getCurrentPower(*part_it);              if (power)              {                  mPower = power; diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp index b12e8d15fc..cbccc79f4e 100644 --- a/indra/newview/llspeakers.cpp +++ b/indra/newview/llspeakers.cpp @@ -377,16 +377,17 @@ void LLSpeakerMgr::update(BOOL resort_ok)      }      // update status of all current speakers -    BOOL voice_channel_active = (!mVoiceChannel && LLVoiceClient::getInstance()->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive()); +    LLVoiceClient* voice_client = LLVoiceClient::getInstance(); +    bool voice_channel_active = (!mVoiceChannel && voice_client->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive());      for (speaker_map_t::iterator speaker_it = mSpeakers.begin(); speaker_it != mSpeakers.end(); speaker_it++)      {          LLUUID speaker_id = speaker_it->first;          LLSpeaker* speakerp = speaker_it->second; -        if (voice_channel_active && LLVoiceClient::getInstance()->getVoiceEnabled(speaker_id)) +        if (voice_channel_active && voice_client->getVoiceEnabled(speaker_id))          { -            speakerp->mSpeechVolume = LLVoiceClient::getInstance()->getCurrentPower(speaker_id); -            BOOL moderator_muted_voice = LLVoiceClient::getInstance()->getIsModeratorMuted(speaker_id); +            speakerp->mSpeechVolume = voice_client->getCurrentPower(speaker_id); +            BOOL moderator_muted_voice = voice_client->getIsModeratorMuted(speaker_id);              if (moderator_muted_voice != speakerp->mModeratorMutedVoice)              {                  speakerp->mModeratorMutedVoice = moderator_muted_voice; @@ -394,11 +395,11 @@ void LLSpeakerMgr::update(BOOL resort_ok)                  speakerp->fireEvent(new LLSpeakerVoiceModerationEvent(speakerp));              } -            if (LLVoiceClient::getInstance()->getOnMuteList(speaker_id) || speakerp->mModeratorMutedVoice) +            if (voice_client->getOnMuteList(speaker_id) || speakerp->mModeratorMutedVoice)              {                  speakerp->mStatus = LLSpeaker::STATUS_MUTED;              } -            else if (LLVoiceClient::getInstance()->getIsSpeaking(speaker_id)) +            else if (voice_client->getIsSpeaking(speaker_id))              {                  // reset inactivity expiration                  if (speakerp->mStatus != LLSpeaker::STATUS_SPEAKING) @@ -481,17 +482,18 @@ void LLSpeakerMgr::update(BOOL resort_ok)  void LLSpeakerMgr::updateSpeakerList()  {      // Are we bound to the currently active voice channel? -    if ((!mVoiceChannel && LLVoiceClient::getInstance()->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive())) +    LLVoiceClient* vocie_client = LLVoiceClient::getInstance(); +    if ((!mVoiceChannel && vocie_client->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive()))      {          std::set<LLUUID> participants; -        LLVoiceClient::getInstance()->getParticipantList(participants); +        vocie_client->getParticipantList(participants);          // If we are, add all voice client participants to our list of known speakers          for (std::set<LLUUID>::iterator participant_it = participants.begin(); participant_it != participants.end(); ++participant_it)          {                  setSpeaker(*participant_it, -                           LLVoiceClient::getInstance()->getDisplayName(*participant_it), +                    vocie_client->getDisplayName(*participant_it),                             LLSpeaker::STATUS_VOICE_ACTIVE, -                           (LLVoiceClient::getInstance()->isParticipantAvatar(*participant_it)?LLSpeaker::SPEAKER_AGENT:LLSpeaker::SPEAKER_EXTERNAL)); +                           (vocie_client->isParticipantAvatar(*participant_it)?LLSpeaker::SPEAKER_AGENT:LLSpeaker::SPEAKER_EXTERNAL));          }      }      else if (mVoiceChannel) diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index 5a9c0d103f..9b144048f7 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -187,13 +187,13 @@ void LLVoiceChannel::handleError(EStatusType type)      setState(STATE_ERROR);  } -BOOL LLVoiceChannel::isActive() +bool LLVoiceChannel::isActive() const  {      // only considered active when currently bound channel matches what our channel      return callStarted() && LLVoiceClient::getInstance()->isCurrentChannel(mChannelInfo);  } -BOOL LLVoiceChannel::callStarted() +bool LLVoiceChannel::callStarted() const  {      return mState >= STATE_CALL_STARTED;  } @@ -662,7 +662,7 @@ LLVoiceChannelProximal::LLVoiceChannelProximal() :  {  } -BOOL LLVoiceChannelProximal::isActive() +bool LLVoiceChannelProximal::isActive() const  {      return callStarted() && LLVoiceClient::getInstance()->inProximalChannel();  } diff --git a/indra/newview/llvoicechannel.h b/indra/newview/llvoicechannel.h index eb16cc22ba..46a3f552cb 100644 --- a/indra/newview/llvoicechannel.h +++ b/indra/newview/llvoicechannel.h @@ -74,8 +74,8 @@ public:      virtual void activate();      virtual void setChannelInfo(const LLSD &channelInfo);      virtual void requestChannelInfo(); -    virtual BOOL isActive(); -    virtual BOOL callStarted(); +    virtual bool isActive() const; +    virtual bool callStarted() const;      // Session name is a UI label used for feedback about which person,      // group, or phone number you are talking to @@ -170,7 +170,7 @@ class LLVoiceChannelProximal : public LLVoiceChannel, public LLSingleton<LLVoice      void onChange(EStatusType status, const LLSD &channelInfo, bool proximal) override;      void handleStatusChange(EStatusType status) override;      void handleError(EStatusType status) override; -    BOOL isActive() override; +    bool isActive() const override;      void activate() override;      void deactivate() override;  }; diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 0cf4a64c3d..495d521894 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -408,13 +408,13 @@ const LLVoiceDeviceList& LLVoiceClient::getRenderDevices()  //--------------------------------------------------  // participants -void LLVoiceClient::getParticipantList(std::set<LLUUID> &participants) +void LLVoiceClient::getParticipantList(std::set<LLUUID> &participants) const  {      LLWebRTCVoiceClient::getInstance()->getParticipantList(participants);      LLVivoxVoiceClient::getInstance()->getParticipantList(participants);  } -bool LLVoiceClient::isParticipant(const LLUUID &speaker_id) +bool LLVoiceClient::isParticipant(const LLUUID &speaker_id) const  {      return LLWebRTCVoiceClient::getInstance()->isParticipant(speaker_id) ||             LLVivoxVoiceClient::getInstance()->isParticipant(speaker_id); @@ -718,12 +718,12 @@ void LLVoiceClient::toggleUserPTTState(void)  //-------------------------------------------  // nearby speaker accessors -BOOL LLVoiceClient::getVoiceEnabled(const LLUUID& id) +bool LLVoiceClient::getVoiceEnabled(const LLUUID& id) const  { -    return isParticipant(id) ? TRUE : FALSE; +    return isParticipant(id);  } -std::string LLVoiceClient::getDisplayName(const LLUUID& id) +std::string LLVoiceClient::getDisplayName(const LLUUID& id) const  {      std::string result = LLWebRTCVoiceClient::getInstance()->getDisplayName(id);      if (result.empty()) diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h index a263333bd3..fdc00a98e8 100644 --- a/indra/newview/llvoiceclient.h +++ b/indra/newview/llvoiceclient.h @@ -452,8 +452,8 @@ public:      /////////////////////////////      // Accessors for data related to nearby speakers -    BOOL getVoiceEnabled(const LLUUID& id);     // true if we've received data for this avatar -    std::string getDisplayName(const LLUUID& id); +    bool getVoiceEnabled(const LLUUID& id) const;     // true if we've received data for this avatar +    std::string getDisplayName(const LLUUID& id) const;      BOOL isOnlineSIP(const LLUUID &id);      BOOL isParticipantAvatar(const LLUUID &id);      BOOL getIsSpeaking(const LLUUID& id); @@ -463,8 +463,8 @@ public:      F32 getUserVolume(const LLUUID& id);      ///////////////////////////// -    void getParticipantList(std::set<LLUUID> &participants); -    bool isParticipant(const LLUUID& speaker_id); +    void getParticipantList(std::set<LLUUID> &participants) const; +    bool isParticipant(const LLUUID& speaker_id) const;      //////////////////////////      /// @name text chat | 
