diff options
| author | Rider Linden <rider@lindenlab.com> | 2016-01-06 12:56:55 -0800 | 
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2016-01-06 12:56:55 -0800 | 
| commit | 334d13f332eadab26d51ed42a482633a3ffe46bf (patch) | |
| tree | 05c0c05dc414b7f4daccf903565047ee8c7981a5 | |
| parent | 27bc0e049b896973a0269751cc7622a681b190e9 (diff) | |
MAINT-5976: Handle connect and disconnect for P2P calls.
| -rwxr-xr-x | indra/newview/llvoicevivox.cpp | 19 | 
1 files changed, 9 insertions, 10 deletions
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index e1d8c232d7..2627c37bf6 100755 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -1433,12 +1433,12 @@ bool LLVivoxVoiceClient::addAndJoinSession(sessionState *nextSession)          mSpatialJoiningNum++;      } -    // joinedAudioSession() will transition from here to stateSessionJoined.      if (!mVoiceEnabled && mIsInitialized)      {          mIsJoiningSession = false;          // User bailed out during connect -- jump straight to teardown.          terminateAudioSession(true); +        notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED);          return false;      }      else if (mSessionTerminateRequested) @@ -1451,6 +1451,7 @@ bool LLVivoxVoiceClient::addAndJoinSession(sessionState *nextSession)              {                  terminateAudioSession(true);                  mIsJoiningSession = false; +                notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL);                  return false;              }          } @@ -1484,10 +1485,10 @@ bool LLVivoxVoiceClient::addAndJoinSession(sessionState *nextSession)                  added = true;              else if (message == "joined")                  joined = true; -            else if (message == "failed") -            { +            else if ((message == "failed") || (message == "removed")) +            {   // we will get a removed message if a voice call is declined. +                notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL);                  mIsJoiningSession = false; -                setState(stateJoinSessionFailed);                  return false;              }          } @@ -1598,7 +1599,6 @@ bool LLVivoxVoiceClient::terminateAudioSession(bool wait)      }      notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL); -    setState(stateSessionTerminated);      // Always reset the terminate request flag when we get here.      // Some slower PCs have a race condition where they can switch to an incoming  P2P call faster than the state machine leaves  @@ -1699,7 +1699,6 @@ bool LLVivoxVoiceClient::waitForChannel()  bool LLVivoxVoiceClient::runSession(sessionState *session)  {      LL_INFOS("Voice") << "running new voice session " << session->mHandle << LL_ENDL; -    bool doTerminate(true);      if (!addAndJoinSession(session))      { @@ -1792,7 +1791,7 @@ bool LLVivoxVoiceClient::runSession(sessionState *session)              if (message == "removed")              { -                doTerminate = false; +                notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL);                  break;              }          } @@ -1800,8 +1799,8 @@ bool LLVivoxVoiceClient::runSession(sessionState *session)      }      mIsInChannel = false; -    if (doTerminate) -        terminateAudioSession(true); +    terminateAudioSession(true); +      return true;  } @@ -3764,7 +3763,7 @@ void LLVivoxVoiceClient::participantUpdatedEvent(  		if(participant)  		{ -            LL_INFOS("Voice") << "Participant Update for " << participant->mDisplayName << LL_ENDL; +            //LL_INFOS("Voice") << "Participant Update for " << participant->mDisplayName << LL_ENDL;  			participant->mIsSpeaking = isSpeaking;  			participant->mIsModeratorMuted = isModeratorMuted;  | 
