summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicewebrtc.cpp
AgeCommit message (Collapse)Author
2024-07-31Implement a Logging Sink for WebRTCRoxie Linden
WebRTC logs now pass out of the webrtc library into a logging sink, which converts them into SecondLife.log compatable logging calls. This includes fatal errors and asserts, which are now logged into SecondLife.log, and should be available in the crash logger.
2024-07-30viewer-private#255 p2p outgoing calls did not work correctly #2Andrey Kleshchev
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-19More session shutdown cleanupRoxie Linden
2024-05-16Race condition resulted in close causing removal of peer connection while ↵Roxie Linden
other jobs might be using it.
2024-05-08Fix some session shutdown/error handling codeRoxie Linden
2024-05-06The IM Floater speak button was disabled when making group callsRoxie Linden
This is because the button enable state was updated before the call had fully established.
2024-05-02Update the participant's region when crossing region boundaries.Roxie Linden
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-30Can't delete from a map while iterating over it.Roxie Linden
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-28Reconnects to the voice server weren't happening.Roxie Linden
2024-04-26attempt to access participant after it's deletedRoxie Linden
2024-04-26Renegotiate voice if the voice server type has changed.Roxie Linden
The server will send an update with new voice credentials when another peer comes in requiring vivox, if the channel was initially webrtc.
2024-04-23Before login, voice device preferences were not populated.Roxie Linden
Before login, when the user shows voice device preferences, the dropdowns were not populated. This is because WebRTC's view of the main queue was not configured.
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-04-16Fix cases where voice outstanding requests could be dropped, resulting in no ↵Roxie Linden
voice
2024-04-08Show mute/unmute status in group voiceRoxie Linden
2024-04-06Tell the user the peer has declined and shut down voice channelRoxie Linden
When the server sends up a notification that a peer is not doing voice in adhoc-style p2p chat, shut down the voice call and notify the user the peer has declined.
2024-04-04An explicit "decline" message for P2PRoxie Linden
When declining a P2P voice call for webrtc, instead of relying on vivox to stop "ringing," we need to send an explicit decline message from the peer through the server infrastructure.
2024-04-01Fix "default" audio device handling.Roxie Linden
Windows and Mac/Linux behave slightly differently with respect to Default devices, in that mac/linux (I think) simply assumes the device at index 0 is the default one, and windows has a separate API for enabling the default device.
2024-03-30Merge branch 'roxie/webrtc-voice' of https://github.com/secondlife/viewer ↵Roxie Linden
into roxie/webrtc-voice
2024-03-30Renegotiate on remote description errorRoxie Linden
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-24Not sending proper voice server type down when breaking a connectionRoxie Linden
2024-03-24Not sending proper voice server type down when breaking a connectionRoxie Linden
2024-03-22Validate that we're not shutting down after coroutine processingRoxie Linden
Coroutine yields can end after shutdown is requested and voice connections are removed, so we need to check that a shutdown hasn't occured before attempting to touch connection objects. (CR issue)
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-16Fix crash in setting peer volume/muteRoxie Linden
Also fix issue where moving to a 'voice disabled' parcel and back to the region (with voice) resulted in the voice dot not showing up.
2024-03-14Refactor device selection logicRoxie Linden
This refactor fixed a few bugs. There is an annoying 'click' when changing devices, however. This will be addressed in the future.
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-07Fix issue with spatial and p2p being up at the same timeRoxie Linden
Also, fix issue with voice still happening in parcels where voice is disabled.
2024-03-05The response from the provision account call was being called twice for some ↵Roxie Linden
reason
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-22Initialize versionsRoxie Linden
2024-02-22For spatial voice, determine voice provider based on server setting.Roxie Linden
2024-02-09Fix ad-hoc voiceRoxie Linden
2024-02-08another rebase merge issueRoxie Linden
2024-02-08P2P checkpointRoxie Linden
2024-02-08race between session established and data channel readyRoxie Linden