summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-05-02Merge branch 'roxie/webrtc-voice' of github.com:secondlife/viewer into ↵Roxie Linden
roxie/webrtc-voice
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-30don't register callbacks from the data channel twice.Roxie Linden
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-28tabbingRoxie Linden
2024-04-28Don't default the tracks to unmutedRoxie Linden
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-20Vivox wasn't ren-enabling voice after ending a p2p callRoxie Linden
2024-04-20Adjust logic for determine what voice server type to use.Roxie Linden
2024-04-20re-enabling vivox voice didn't bring it back as it thought it was still in ↵Roxie Linden
the region and parcel.
2024-04-19For p2p/adhoc/group calls, prefer voice server type based on what's running ↵Roxie Linden
on the region
2024-04-16Merge branch 'roxie/webrtc-voice' of https://github.com/secondlife/viewer ↵Roxie Linden
into roxie/webrtc-voice
2024-04-16Fix cases where voice outstanding requests could be dropped, resulting in no ↵Roxie Linden
voice
2024-04-16Issue in WebRTC was disabling custom audio processing (level detection)Roxie Linden
There is a case where the custom audio processor, which is used to determine audio levels, was disabled on connection shutdown even when another connection was established. This issue has been patched in the webrtc library.
2024-04-09Merge pull request #1164 from secondlife/roxie/webrtc-voiceRoxanne Skelly
2024-04-08Merge branch 'roxie/webrtc-voice' of https://github.com/secondlife/viewer ↵Roxie Linden
into roxie/webrtc-voice
2024-04-08Show mute/unmute status in group voiceRoxie Linden
2024-04-08Merge pull request #1150 from secondlife/roxie/webrtc-voiceRoxanne Skelly
2024-04-07CR suggestionsRoxie Linden
2024-04-07missed a fileRoxie Linden
2024-04-07Show 'decline' when peer declines p2p voiceRoxie Linden
The simulator will send a chatterbox notification that voice is no longer in use for a given channel, and the viewer should take that as a case where the peer does not want voice, hence it's a decline.
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-04checkpoint p2p im decline/accept workRoxie Linden
2024-04-04Merge branch 'roxie/webrtc-voice' of github.com:secondlife/viewer into ↵Roxie Linden
roxie/webrtc-voice
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-02Merge pull request #1108 from secondlife/roxie/webrtc-voiceRoxanne Skelly
2024-04-01oopseRoxie Linden
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-04-01Merge pull request #1100 from secondlife/roxie/webrtc-voiceRoxanne Skelly
[WebRTC] Add UI for AGC, Echo Cancellation, and Noise Reduction; use Linden STUN servers.
2024-03-30Fix windows crashesRoxie Linden
* sampling rate was set to 8khz for audio processing, which was causing a 'bands' mismatch with the echo cancler. * Some funnybusiness with lambdas and captures and such was causing a heap crash with respect to function parameters.
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-24Merge pull request #1039 from secondlife/roxie/webrtc-voiceRoxanne Skelly
WebRTC: Throw 'area full' message when voice server indicates the channel is at capacity.
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-22Merge pull request #1036 from secondlife/roxie/webrtc-voice-workqueueRoxanne Skelly
Move processIceUpdates into a coroutine
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-19Merge pull request #1021 from secondlife/roxie/webrtc-voice-workqueueRoxanne Skelly
WebRTC: Make callbacks from webrtc-proper launch workqueue jobs to run code on the main thread, instead of relying on mutexes and such.
2024-03-19Clear out observers when terminating a connectionRoxie Linden
2024-03-19Simplify workqueue calls. Fix issue with webrtc blocking on destruction.Roxie Linden
2024-03-18Merge pull request #119 from secondlife/roxie/webrtc-voiceRoxanne Skelly
Update webrtc path; fix crash; fix region voice not always working issue.