summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicewebrtc.cpp
AgeCommit message (Collapse)Author
2024-09-04Fix some race conditions on connection shutdown.Roxie Linden
In a few locations, there were cases where connection shutdown would stall, leaving the connection in place. This was due to bad handling of the outstanding operations counter.
2024-08-22Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into ↵Brad Linden
release/2024.08-DeltaFPS # Conflicts: # indra/newview/featuretable_mac.txt
2024-08-20removed unnecessary commentRoxie Linden
2024-08-20Fix hang when incoming p2p or group calls throw up dialog.Roxie Linden
There were changes in atlasaurus that resulted in a hang for incoming p2p and group calls which throw up dialogs. The changes revolved around mutex, coroutines, job queues, and such. The fix was to do any processing that may result in callbacks from the webrtc code in a queued job instead of a coroutine.
2024-08-20Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into developBrad Linden
# Conflicts: # autobuild.xml # indra/newview/llvoicewebrtc.cpp
2024-08-16Log WebRTC devices on webrtc initialization.Roxie Linden
2024-08-15Merge remote-tracking branch 'origin/release/webrtc-voice' into ↵Brad Linden
release/2024.06-atlasaurus # Conflicts: # indra/newview/llpanelpeople.cpp
2024-08-14Don't call virtual functions in a derived class constructorRoxie Linden
2024-08-14Voice dot not always visible after crossing region boundaries.Roxie Linden
For issue #2064 The connection to the voice server was not upgraded/downgraded to primary/secondary when crossing region boundaries, so the server sent the wrong value and the viewer chose not to display a voice dot.
2024-08-14viewer#2204 crash at connectionStateMachineAndrey Kleshchev
2024-08-13viewer-private#262 webrtc crashes on shutdown #2Andrey Kleshchev
2024-08-09Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into developBrad Linden
# Conflicts: # .github/workflows/build.yaml # indra/llui/llscrolllistctrl.cpp
2024-08-09Merge remote-tracking branch 'origin/release/webrtc-voice' into ↵Brad Linden
release/2024.06-atlasaurus # Conflicts: # .github/workflows/build.yaml # indra/newview/CMakeLists.txt # indra/newview/llspeakers.cpp # indra/newview/llvoicechannel.cpp # indra/newview/llvoicechannel.h # indra/newview/llvoiceclient.cpp # indra/newview/llvoiceclient.h # indra/newview/llvoicewebrtc.cpp
2024-08-07viewer-private#262 viewer crashes on exit if the call is not completedAndrey Kleshchev
2024-08-07Replace boost::shared_ptr with std in voice classesAndrey Kleshchev
2024-08-07viewer#2203 Crash at breakVoiceConnectionCoroAndrey Kleshchev
bar webrtc's coroutines from necromancy
2024-08-01Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into developBrad Linden
2024-08-01Merge remote-tracking branch 'origin/release/webrtc-voice' into ↵Brad Linden
release/2024.06-atlasaurus
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-07-29Update boost to 1.85 and fix deprecation warningsRye Mutt
2024-07-17Merge remote-tracking branch 'origin/release/webrtc-voice' into ↵Brad Linden
release/2024.06-atlasaurus # Conflicts: # autobuild.xml # indra/newview/llvoicechannel.cpp
2024-07-09Update tracy profiler to 0.10 (#1946)Rye Mutt
2024-07-08Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h ↵Ansariel
and llunittype.h for now
2024-07-01Remove include of format library that isn't used and can't be used without ↵Ansariel
C++20 support anyway
2024-06-28Merge remote-tracking branch 'origin/release/webrtc-voice' into developBrad Linden
# Conflicts: # indra/newview/llvoicechannel.cpp
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-06-21Fix some BOOL oversights during WebRTC mergeAnsariel
2024-06-18Fix whitespace for pre-commit hooksBrad Linden
2024-06-13Merge branch 'develop' of github.com:secondlife/viewer into roxie/webrtc-voiceRoxie Linden
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