summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicewebrtc.h
AgeCommit message (Collapse)Author
2024-06-24[WebRTC] control microphone gain via custom audio processor.Roxie Linden
Previously, there were two places audio gain could be controlled: - the device manager - the audio track The device manager audio gain control sets the system gain for all applications, not just the webrtc application. The audio track gain happens well after the audio processing where we want it to happen. So, gain control was added to the existing custom audio processor, which previously only handled calculating and retrieving the audio levels. After these changes, the microphone gain slider does impact the audio volume heard by peers.
2024-05-20Merge branch 'spaces-merge' into roxie/webrtc-voiceRoxie Linden
2024-05-16Race condition resulted in close causing removal of peer connection while ↵Roxie Linden
other jobs might be using it.
2024-05-02Unregister requested data channel when using the negotiated one.Roxie Linden
When creating a new connection, the viewer builds a data channel interface. It then gets a new one, which is a proxy. The viewer uses the new one, and therefore must unregister the callbacks from the old one. Also, update the position data before sending it after the join is sent.
2024-04-30Remove voice participants for a connection when shutting it down.Roxie Linden
When teleporting or moving around, connections to regions are shut down. We need to track which participants are associated with the given connections and remove those participants when the connection is shut down.
2024-04-21Reconnect when parcel voice params change.Roxie Linden
When parcel voice permissions and region/parcel-only voice settings change, a callback will be made to the viewer with new voice credential information. For webrtc, this means either just the uuid of the voice channel, or nothing if voice is disabled. This change looks at that callback and the channel id, and sets the appropriate flags on the parcel/region as needed which will cause voice to be renegotiated. Also, there was a race condition if the voice connect attempt was made before caps were retrieved, which would have resulted in full renegotiate attempts. Now, just wait until the cap comes in and continue.
2024-03-30Merge branch 'roxie/webrtc-voice' of https://github.com/secondlife/viewer ↵Roxie Linden
into roxie/webrtc-voice
2024-03-30Add UI for managing echo cancellation, AGC, and noise control.Roxie Linden
Plumb audio settings through from webrtc to the sound preferences UI (still needs some tweaking, of course.) Also, choose stun servers based on grid. Ultimately, the stun stun servers will be passed up via login or something.
2024-03-24Throw 'area full' message when the voice server reports max users for voiceRoxie Linden
2024-03-22Add Tracy categories for WebRTC VoiceRoxie Linden
Also: * Fix a few crashes. * Only send position data when it changes.
2024-03-20Turn procesIceUpdates into a coroutine to chop up the work a bit.Roxie Linden
2024-03-19Simplify workqueue calls. Fix issue with webrtc blocking on destruction.Roxie Linden
2024-03-18Use LL::WorkQueue to handle transitions from llwebrtc threads to the main threadRoxie Linden
2024-03-13Add increasing random timeout to retries.Roxie Linden
2024-03-11Fixup some logic relating to teleporting and new regionsRoxie Linden
2024-03-10Remove trailing spaces. Other code cleanup.Roxie Linden
2024-03-09code beautification/commentsRoxie Linden
2024-03-09Code cleanup and commentingRoxie Linden
2024-03-05For webrtc, 'calling' dialog should remain up, disappearing when peer ↵Roxie Linden
connects (p2p)
2024-03-03fix webrtc logic bugs and suchRoxie Linden
2024-03-03Refactor for vivox spatial and p2pRoxie Linden
General refactoring to improve vivox spacial and p2p voice including generalizing voice info instead of just using sip uri and credentials. Voice server type is also passed around in the generalized voice info blob.
2024-02-08race between session established and data channel readyRoxie Linden
2024-02-08Handle 'device changed' callbackRoxie Linden
2024-02-08Checkpoint mute/volumeRoxie Linden
2024-02-08Hang up when peer hangs up in ad-hoc driven p2p callRoxie Linden
2024-02-08checkpoint p2p/adhoc voiceRoxie Linden
2024-02-08mac build fixesRoxie Linden
2024-02-08Treat adhoc/p2p as primary connectionsRoxie Linden
2024-02-08Checkpoint Ad-Hoc voice.Roxie Linden
Unlike vivox, P2P uses the ad-hoc voice mechanism, which is also used by group voice.
2024-02-08OSX build fixesRoxie Linden
2024-02-08checkpoint for adhoc voiceRoxie Linden
2024-02-08some commentsRoxie Linden
2024-02-08Add viewer-visible session ID to allow multiple sessions under same agent idRoxie Linden
2024-02-08Don't need to send level data up to the server anymoreRoxie Linden
2024-02-08add concept of primary/secondary connectionsRoxie Linden
2024-02-08Connect to close neighboring regions and mute outgoing to themRoxie Linden
2024-02-08Touch up parcel voice enable/disable.Roxie Linden
2024-02-08Better renegotiation support for parcel voiceRoxie Linden
Better handle starting up and shutting down WebRTC connections simultaneously.
2024-02-08Rework VU meter level processing to be closer to VivoxRoxie Linden
2024-02-08Fix crash when disconnecting.Roxie Linden
When disconnecting, we need to wait for any outstanding http calls to complete as the handlers may use the session objects. Also, reap empty sessions.
2024-02-08Mute using enable.Roxie Linden
Muting using the device module microphone mute was muting other applications, speakers, and so on. Instead, we mute by enabling/disabling the input and output streams.
2024-02-08Using the device module to set speaker/mic volume set the system mic/volumeRoxie Linden
for all applications. Instead, modify the volume on the various streams.
2024-02-08Refactor/clean-up WebRTC voice to handle multiple voice streamsRoxie Linden
This is useful for cross-region voice, quick voice switching, etc.
2024-02-08Remove a bunch of unnecessary code.Roxie Linden
2024-02-08SL-20543 - voice over region boundaries.Roxie Linden
This commit includes code to allow the llwebrtc.dll/dylib to allow multiple connections at once.
2024-02-08quicker turnaround on re-establishing voice when server goes down.Roxie Linden
2024-02-08Transmit position and power when joiningRoxie Linden
2024-02-08send position and rotation data to voice server.Roxie Linden
2024-02-08only send volume updates when volume has changed.Roxie Linden
2024-02-08Fix shutdown crash issue.Roxie Linden