diff options
Diffstat (limited to 'indra/newview/llvoicevivox.cpp')
-rw-r--r-- | indra/newview/llvoicevivox.cpp | 106 |
1 files changed, 56 insertions, 50 deletions
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 3bb23bf126..3c2a0ef6a3 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -1957,7 +1957,7 @@ bool LLVivoxVoiceClient::terminateAudioSession(bool wait) << " VoiceEnabled " << mVoiceEnabled << " IsInitialized " << mIsInitialized << " RelogRequested " << mRelogRequested - << " ShuttingDown " << (sShuttingDown ? "TRUE" : "FALSE") + << " ShuttingDown " << (sShuttingDown ? "true" : "false") << " returning " << status << LL_ENDL; return status; @@ -5171,16 +5171,16 @@ bool LLVivoxVoiceClient::isVoiceWorking() const // Returns true if the indicated participant in the current audio session is really an SL avatar. // Currently this will be false only for PSTN callers into group chats, and PSTN p2p calls. -BOOL LLVivoxVoiceClient::isParticipantAvatar(const LLUUID &id) +bool LLVivoxVoiceClient::isParticipantAvatar(const LLUUID &id) { - BOOL result = TRUE; + bool result = true; sessionStatePtr_t session(findSession(id)); if(session) { // this is a p2p session with the indicated caller, or the session with the specified UUID. if(session->mSynthesizedCallerID) - result = FALSE; + result = false; } else { @@ -5200,9 +5200,9 @@ BOOL LLVivoxVoiceClient::isParticipantAvatar(const LLUUID &id) // Returns true if calling back the session URI after the session has closed is possible. // Currently this will be false only for PSTN P2P calls. -BOOL LLVivoxVoiceClient::isSessionCallBackPossible(const LLUUID &session_id) +bool LLVivoxVoiceClient::isSessionCallBackPossible(const LLUUID &session_id) { - BOOL result = TRUE; + bool result = true; sessionStatePtr_t session(findSession(session_id)); if(session != NULL) @@ -5215,9 +5215,9 @@ BOOL LLVivoxVoiceClient::isSessionCallBackPossible(const LLUUID &session_id) // Returns true if the session can accept text IM's. // Currently this will be false only for PSTN P2P calls. -BOOL LLVivoxVoiceClient::isSessionTextIMPossible(const LLUUID &session_id) +bool LLVivoxVoiceClient::isSessionTextIMPossible(const LLUUID &session_id) { - bool result = TRUE; + bool result = true; sessionStatePtr_t session(findSession(session_id)); if(session != NULL) @@ -5333,7 +5333,7 @@ std::string LLVivoxVoiceClient::nameFromID(const LLUUID &uuid) LLStringUtil::replaceChar(result, '+', '-'); LLStringUtil::replaceChar(result, '/', '_'); - // If you need to transform a GUID to this form on the Mac OS X command line, this will do so: + // If you need to transform a GUID to this form on the macOS command line, this will do so: // echo -n x && (echo e669132a-6c43-4ee1-a78d-6c82fff59f32 |xxd -r -p |openssl base64|tr '/+' '_-') // The reverse transform can be done with: @@ -5646,12 +5646,12 @@ bool LLVivoxVoiceClient::voiceEnabled() !gNonInteractive; } -void LLVivoxVoiceClient::setLipSyncEnabled(BOOL enabled) +void LLVivoxVoiceClient::setLipSyncEnabled(bool enabled) { mLipSyncEnabled = enabled; } -BOOL LLVivoxVoiceClient::lipSyncEnabled() +bool LLVivoxVoiceClient::lipSyncEnabled() { if ( mVoiceEnabled ) @@ -5660,7 +5660,7 @@ BOOL LLVivoxVoiceClient::lipSyncEnabled() } else { - return FALSE; + return false; } } @@ -5706,15 +5706,15 @@ void LLVivoxVoiceClient::setMicGain(F32 volume) ///////////////////////////// // Accessors for data related to nearby speakers -BOOL LLVivoxVoiceClient::getVoiceEnabled(const LLUUID& id) +bool LLVivoxVoiceClient::getVoiceEnabled(const LLUUID& id) { - BOOL result = FALSE; + bool result = false; participantStatePtr_t participant(findParticipantByID(id)); if(participant) { // I'm not sure what the semantics of this should be. // For now, if we have any data about the user that came through the chat channel, assume they're voice-enabled. - result = TRUE; + result = true; } return result; @@ -5734,16 +5734,16 @@ std::string LLVivoxVoiceClient::getDisplayName(const LLUUID& id) -BOOL LLVivoxVoiceClient::getIsSpeaking(const LLUUID& id) +bool LLVivoxVoiceClient::getIsSpeaking(const LLUUID& id) { - BOOL result = FALSE; + bool result = false; participantStatePtr_t participant(findParticipantByID(id)); if(participant) { if (participant->mSpeakingTimeout.getElapsedTimeF32() > SPEAKING_TIMEOUT) { - participant->mIsSpeaking = FALSE; + participant->mIsSpeaking = false; } result = participant->mIsSpeaking; } @@ -5751,9 +5751,9 @@ BOOL LLVivoxVoiceClient::getIsSpeaking(const LLUUID& id) return result; } -BOOL LLVivoxVoiceClient::getIsModeratorMuted(const LLUUID& id) +bool LLVivoxVoiceClient::getIsModeratorMuted(const LLUUID& id) { - BOOL result = FALSE; + bool result = false; participantStatePtr_t participant(findParticipantByID(id)); if(participant) @@ -5778,9 +5778,9 @@ F32 LLVivoxVoiceClient::getCurrentPower(const LLUUID& id) -BOOL LLVivoxVoiceClient::getUsingPTT(const LLUUID& id) +bool LLVivoxVoiceClient::getUsingPTT(const LLUUID& id) { - BOOL result = FALSE; + bool result = false; participantStatePtr_t participant(findParticipantByID(id)); if(participant) @@ -5793,9 +5793,9 @@ BOOL LLVivoxVoiceClient::getUsingPTT(const LLUUID& id) return result; } -BOOL LLVivoxVoiceClient::getOnMuteList(const LLUUID& id) +bool LLVivoxVoiceClient::getOnMuteList(const LLUUID& id) { - BOOL result = FALSE; + bool result = false; participantStatePtr_t participant(findParticipantByID(id)); if(participant) @@ -5863,7 +5863,7 @@ std::string LLVivoxVoiceClient::getGroupID(const LLUUID& id) return result; } -BOOL LLVivoxVoiceClient::getAreaVoiceDisabled() +bool LLVivoxVoiceClient::getAreaVoiceDisabled() { return mAreaVoiceDisabled; } @@ -6444,30 +6444,36 @@ void LLVivoxVoiceClient::notifyStatusObservers(LLVoiceClientStatusObserver::ESta << ", proximal is " << inSpatialChannel() << LL_ENDL; - for (status_observer_set_t::iterator it = mStatusObservers.begin(); - it != mStatusObservers.end(); - ) - { - LLVoiceClientStatusObserver* observer = *it; - observer->onChange(status, getAudioSessionURI(), inSpatialChannel()); - // In case onError() deleted an entry. - it = mStatusObservers.upper_bound(observer); - } + // this function is called from a coroutine, shuttle application hook back to main loop + auto work = [=]() + { + for (status_observer_set_t::iterator it = mStatusObservers.begin(); + it != mStatusObservers.end(); + ) + { + LLVoiceClientStatusObserver* observer = *it; + observer->onChange(status, getAudioSessionURI(), inSpatialChannel()); + // In case onError() deleted an entry. + it = mStatusObservers.upper_bound(observer); + } - // skipped to avoid speak button blinking - if ( status != LLVoiceClientStatusObserver::STATUS_JOINING - && status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL - && status != LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED) - { - bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); + // skipped to avoid speak button blinking + if (status != LLVoiceClientStatusObserver::STATUS_JOINING + && status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL + && status != LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED) + { + bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); - gAgent.setVoiceConnected(voice_status); + gAgent.setVoiceConnected(voice_status); - if (voice_status) - { - LLFirstUse::speak(true); - } - } + if (voice_status) + { + LLFirstUse::speak(true); + } + } + }; + + LLAppViewer::instance()->postToMainCoro(work); } void LLVivoxVoiceClient::addObserver(LLFriendObserver* observer) @@ -7098,7 +7104,7 @@ void LLVivoxVoiceClient::updateVoiceMorphingMenu() const voice_effect_list_t& effect_list = effect_interfacep->getVoiceEffectList(); if (!effect_list.empty()) { - LLMenuGL * voice_morphing_menup = gMenuBarView->findChildMenuByName("VoiceMorphing", TRUE); + LLMenuGL * voice_morphing_menup = gMenuBarView->findChildMenuByName("VoiceMorphing", true); if (NULL != voice_morphing_menup) { @@ -7389,8 +7395,8 @@ LLIOPipe::EStatus LLVivoxProtocolParser::process_impl( } // Look for input delimiter(s) in the input buffer. If one is found, send the message to the xml parser. - int start = 0; - int delim; + size_t start = 0; + size_t delim; while((delim = mInput.find("\n\n\n", start)) != std::string::npos) { @@ -7401,7 +7407,7 @@ LLIOPipe::EStatus LLVivoxProtocolParser::process_impl( XML_SetElementHandler(parser, ExpatStartTag, ExpatEndTag); XML_SetCharacterDataHandler(parser, ExpatCharHandler); XML_SetUserData(parser, this); - XML_Parse(parser, mInput.data() + start, delim - start, false); + XML_Parse(parser, mInput.data() + start, static_cast<int>(delim - start), false); LL_DEBUGS("VivoxProtocolParser") << "parsing: " << mInput.substr(start, delim - start) << LL_ENDL; start = delim + 3; |