summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicewebrtc.h
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-10-22 14:46:15 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-10-22 14:46:15 -0400
commitbfe759584f63c0587a2dc6a0086ad9d5b6c63a56 (patch)
tree84653a1211908c7dd2ce5bc4877e79f8e6515099 /indra/newview/llvoicewebrtc.h
parent62fc3ceaf5251458239f91192a05edc64bedf33b (diff)
parent394f7b37f2ec05c7cfb32c350432886f1c493c85 (diff)
Merge branch 'develop' into marchcat/xcode-16
Diffstat (limited to 'indra/newview/llvoicewebrtc.h')
-rw-r--r--indra/newview/llvoicewebrtc.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/indra/newview/llvoicewebrtc.h b/indra/newview/llvoicewebrtc.h
index ff82d2739d..88ead98950 100644
--- a/indra/newview/llvoicewebrtc.h
+++ b/indra/newview/llvoicewebrtc.h
@@ -30,6 +30,7 @@ class LLWebRTCProtocolParser;
#include "lliopipe.h"
#include "llpumpio.h"
+#include "llcallbacklist.h"
#include "llchainio.h"
#include "lliosocket.h"
#include "v3math.h"
@@ -113,7 +114,7 @@ public:
/// @name Devices
//@{
// This returns true when it's safe to bring up the "device settings" dialog in the prefs.
- bool deviceSettingsAvailable() override;
+ bool deviceSettingsAvailable() override { return mDeviceSettingsAvailable; }
bool deviceSettingsUpdated() override; //return if the list has been updated and never fetched, only to be called from the voicepanel.
// Requery the WebRTC daemon for the current list of input/output devices.
@@ -125,6 +126,9 @@ public:
void setCaptureDevice(const std::string& name) override;
void setRenderDevice(const std::string& name) override;
+ bool isCaptureNoDevice() override;
+ bool isRenderNoDevice() override;
+
LLVoiceDeviceList& getCaptureDevices() override;
LLVoiceDeviceList& getRenderDevices() override;
//@}
@@ -447,19 +451,23 @@ private:
// Coroutine support methods
//---
- void voiceConnectionCoro();
+ void connectionTimer();
//---
/// Clean up objects created during a voice session.
void cleanUp();
+ // stop state machine
+ void stopTimer();
+
LL::WorkQueue::weak_t mMainQueue;
bool mTuningMode;
F32 mTuningMicGain;
int mTuningSpeakerVolume;
+ bool mDeviceSettingsAvailable;
bool mDevicesListUpdated; // set to true when the device list has been updated
- // and false when the panelvoicedevicesettings has queried for an update status.
+ // and false when the panelvoicedevicesettings has queried for an update status.
std::string mSpatialSessionCredentials;
std::string mMainSessionGroupHandle; // handle of the "main" session group.
@@ -534,7 +542,8 @@ private:
bool mIsInTuningMode;
bool mIsProcessingChannels;
- bool mIsCoroutineActive;
+ bool mIsTimerActive;
+ LL::Timers::handle_t mVoiceTimerHandle;
// These variables can last longer than WebRTC in coroutines so we need them as static
static bool sShuttingDown;