summaryrefslogtreecommitdiff
path: root/indra/newview/llvoicewebrtc.cpp
AgeCommit message (Collapse)Author
2024-11-01viewer#2985 Odd crash when notifying voice observersAndrey Kleshchev
Crash points at enableDisableCallBtn, but button's floater was cleaned earlier and has a removeObserver call so an observer record should be long gone. Likely something else is going on. Went over various callbacks and made sure they are cleaned. But in case floater somehow remained, added mSession = nullptr.
2024-09-18fix trailing whitespaceRoxie Linden
2024-09-18Mute other / set volume level for other is not working.Roxie Linden
As part of the boost::json conversion, the json that mutes and sets peer gain was not being formed correctly. Also, tweaked the peer gain default.
2024-09-12Merge pull request #2543 from secondlife/roxie/webrtc-285Roxanne Skelly
mute icons were not showing during group call when user was muted
2024-09-11Fix issue with improper reporting as to whether voice is working.Roxie Linden
This fixes #1436, an issue where the 'call button' sometimes got greyed out when it shouldn't have been. Vivox is now 'working' (and the call button can be enabled) when it's logged in. WebRTC is 'working' (and the call button can be enabled) when the coroutine is active.
2024-09-10mute icons were not showing during group call when user was mutedRoxie Linden
This fixes: https://github.com/secondlife/viewer-private/issues/285 When processing messages from the voice server, the volume and not the mute status was being checked with respect to retrieving the mute status.
2024-09-09Voice bars of self and as seen by others do not appear the same.Roxie Linden
The voice server sends up the float power level of peers as an integer multiplied by 128, in order to save character count as the voice power level will likely be only 3 digits, instead of many for a full float. The client was not taking this into account.
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.