summaryrefslogtreecommitdiff
path: root/indra/llwebrtc/llwebrtc.h
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2023-09-21 15:28:58 -0700
committerRoxie Linden <roxie@lindenlab.com>2024-02-22 23:11:34 -0800
commit1cd8f6f4f88f7717f0fcafbb5d47de0af59d5fb7 (patch)
tree671957c7ccbdf2dcca6913ca107952e1259f1b21 /indra/llwebrtc/llwebrtc.h
parent8859312b1f0d975793c6c2a3d7b23b9880c657c5 (diff)
Stream audio levels to and from viewers via DataChannels
Diffstat (limited to 'indra/llwebrtc/llwebrtc.h')
-rw-r--r--indra/llwebrtc/llwebrtc.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/indra/llwebrtc/llwebrtc.h b/indra/llwebrtc/llwebrtc.h
index a6e754684e..f1ba1620e3 100644
--- a/indra/llwebrtc/llwebrtc.h
+++ b/indra/llwebrtc/llwebrtc.h
@@ -45,6 +45,7 @@
namespace llwebrtc
{
LLSYMEXPORT void init();
+LLSYMEXPORT void terminate();
struct LLWebRTCIceCandidate
{
@@ -69,8 +70,7 @@ typedef std::vector<LLWebRTCVoiceDevice> LLWebRTCVoiceDeviceList;
class LLWebRTCDevicesObserver
{
public:
- virtual void OnRenderDevicesChanged(const LLWebRTCVoiceDeviceList &render_devices) = 0;
- virtual void OnCaptureDevicesChanged(const LLWebRTCVoiceDeviceList &capture_devices) = 0;
+ virtual void OnDevicesChanged(const LLWebRTCVoiceDeviceList &render_devices, const LLWebRTCVoiceDeviceList &capture_devices) = 0;
};
class LLWebRTCDeviceInterface
@@ -89,11 +89,20 @@ class LLWebRTCDeviceInterface
virtual double getTuningMicrophoneEnergy() = 0;
};
+class LLWebRTCAudioObserver
+{
+ public:
+ virtual void OnAudioLevel(float level) = 0;
+};
+
class LLWebRTCAudioInterface
{
public:
+ virtual void setAudioObserver(LLWebRTCAudioObserver *observer) = 0;
+ virtual void unsetAudioObserver(LLWebRTCAudioObserver *observer) = 0;
virtual void setMute(bool mute) = 0;
virtual void setSpeakerVolume(float volume) = 0; // volume between 0.0 and 1.0
+ virtual void requestAudioLevel() = 0;
};
class LLWebRTCDataObserver