summaryrefslogtreecommitdiff
path: root/indra/newview/llvoiceclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llvoiceclient.h')
-rw-r--r--indra/newview/llvoiceclient.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h
index bddd18dee8..a29c386182 100644
--- a/indra/newview/llvoiceclient.h
+++ b/indra/newview/llvoiceclient.h
@@ -101,6 +101,10 @@ class LLVoiceClient: public LLSingleton<LLVoiceClient>
static F32 OVERDRIVEN_POWER_LEVEL;
+ static const F32 VOLUME_MIN;
+ static const F32 VOLUME_DEFAULT;
+ static const F32 VOLUME_MAX;
+
void updateSettings(); // call after loading settings and whenever they change
void getCaptureDevicesSendMessage();
@@ -188,15 +192,20 @@ static void updatePosition(void);
void setUserPTTState(bool ptt);
bool getUserPTTState();
void toggleUserPTTState(void);
+ void inputUserControlState(bool down); // interpret any sort of up-down mic-open control input according to ptt-toggle prefs
void setVoiceEnabled(bool enabled);
static bool voiceEnabled();
+ // Checks is voice working judging from mState
+ // Returns true if vivox has successfully logged in and is not in error state
+ bool voiceWorking();
void setUsePTT(bool usePTT);
void setPTTIsToggle(bool PTTIsToggle);
+ bool getPTTIsToggle();
void setPTTKey(std::string &key);
void setEarLocation(S32 loc);
void setVoiceVolume(F32 volume);
void setMicGain(F32 volume);
- void setUserVolume(const LLUUID& id, F32 volume); // set's volume for specified agent, from 0-1 (where .5 is nominal)
+ void setUserVolume(const LLUUID& id, F32 volume); // sets volume for specified agent, from 0-1 (where .5 is nominal)
void setLipSyncEnabled(BOOL enabled);
BOOL lipSyncEnabled();
@@ -204,6 +213,9 @@ static void updatePosition(void);
void keyDown(KEY key, MASK mask);
void keyUp(KEY key, MASK mask);
void middleMouseState(bool down);
+
+ // Return the version of the Vivox library
+ std::string getAPIVersion() const { return mAPIVersion; }
/////////////////////////////
// Accessors for data related to nearby speakers
@@ -261,7 +273,7 @@ static void updatePosition(void);
public:
participantState(const std::string &uri);
- bool updateMuteState();
+ bool updateMuteState(); // true if mute state has changed
bool isAvatar();
std::string mURI;
@@ -271,13 +283,13 @@ static void updatePosition(void);
LLFrameTimer mSpeakingTimeout;
F32 mLastSpokeTimestamp;
F32 mPower;
- int mVolume;
+ F32 mVolume;
std::string mGroupID;
- int mUserVolume;
bool mPTT;
bool mIsSpeaking;
bool mIsModeratorMuted;
bool mOnMuteList; // true if this avatar is on the user's mute list (and should be muted)
+ bool mVolumeSet; // true if incoming volume messages should not change the volume
bool mVolumeDirty; // true if this participant needs a volume command sent (either mOnMuteList or mUserVolume has changed)
bool mAvatarIDValid;
bool mIsSelf;
@@ -341,6 +353,7 @@ static void updatePosition(void);
// Set to true when the mute state of someone in the participant list changes.
// The code will have to walk the list to find the changed participant(s).
bool mVolumeDirty;
+ bool mMuteDirty;
bool mParticipantsChanged;
participantMap mParticipantsByURI;
@@ -349,6 +362,7 @@ static void updatePosition(void);
participantState *findParticipantByID(const LLUUID& id);
participantMap *getParticipantList(void);
+ void getParticipantsUUIDSet(std::set<LLUUID>& participant_uuids);
typedef std::map<const std::string*, sessionState*, stringMapComparitor> sessionMap;
typedef std::set<sessionState*> sessionSet;
@@ -577,6 +591,10 @@ static void updatePosition(void);
state mState;
bool mSessionTerminateRequested;
bool mRelogRequested;
+ // Number of times (in a row) "stateJoiningSession" case for spatial channel is reached in stateMachine().
+ // The larger it is the greater is possibility there is a problem with connection to voice server.
+ // Introduced while fixing EXT-4313.
+ int mSpatialJoiningNum;
void setState(state inState);
state getState(void) { return mState; };
@@ -739,6 +757,8 @@ static std::string nameFromsipURI(const std::string &uri);
BOOL mLipSyncEnabled;
+ std::string mAPIVersion;
+
typedef std::set<LLVoiceClientParticipantObserver*> observer_set_t;
observer_set_t mParticipantObservers;