Age | Commit message (Collapse) | Author |
|
mute icons were not showing during group call when user was muted
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
release/2024.08-DeltaFPS
# Conflicts:
# indra/newview/featuretable_mac.txt
|
|
|
|
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.
|
|
# Conflicts:
# autobuild.xml
# indra/newview/llvoicewebrtc.cpp
|
|
|
|
release/2024.06-atlasaurus
# Conflicts:
# indra/newview/llpanelpeople.cpp
|
|
|
|
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.
|
|
|
|
|
|
# Conflicts:
# .github/workflows/build.yaml
# indra/llui/llscrolllistctrl.cpp
|
|
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
|
|
|
|
|
|
bar webrtc's coroutines from necromancy
|
|
|
|
release/2024.06-atlasaurus
|
|
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.
|
|
|
|
|
|
release/2024.06-atlasaurus
# Conflicts:
# autobuild.xml
# indra/newview/llvoicechannel.cpp
|
|
|
|
and llunittype.h for now
|
|
C++20 support anyway
|
|
# Conflicts:
# indra/newview/llvoicechannel.cpp
|
|
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.
|
|
|
|
|
|
|
|
|
|
other jobs might be using it.
|
|
|
|
This is because the button enable state was updated before the
call had fully established.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
The server will send an update with new voice credentials
when another peer comes in requiring vivox, if the channel
was initially webrtc.
|
|
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.
|
|
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.
|
|
voice
|
|
|
|
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.
|