summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicewebrtc.cpp
AgeCommit message (Collapse)Author
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
2024-02-08Fix initial user gain send on joinRoxie Linden
2024-02-08Add server-generate VADRoxie Linden
2024-02-08Handle 'device changed' callbackRoxie Linden
2024-02-08small logic errors in mute/volume for others codeRoxie 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-08Treat adhoc/p2p as primary connectionsRoxie Linden