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-08 18:34:01 -0800
commitf1f1bccad299f6cb70cb9f439872a5f702e8f972 (patch)
tree4633fc78fac764c3d0b3d2ad0ecccca0d87e7e06 /indra/llwebrtc/llwebrtc.h
parentfd8119c550bea19bbcf26e5426f259010f54c43e (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