summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicevivox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llvoicevivox.cpp')
-rw-r--r--indra/newview/llvoicevivox.cpp106
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;