Ansariel
cb43c1c792
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# autobuild.xml
# indra/llcommon/llprofiler.h
# indra/llcommon/llthread.cpp
# indra/newview/llappviewer.cpp
# indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
2024-07-10 12:36:15 +02:00
Rye Mutt
2a7030992f
Update tracy profiler to 0.10 ( #1946 )
2024-07-09 16:53:43 -05:00
Ansariel
088cc2ea35
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llcommon/llpointer.h
# indra/llcommon/llqueuedthread.cpp
# indra/llfilesystem/llfilesystem.cpp
# indra/llui/llconsole.cpp
# indra/llui/llkeywords.cpp
# indra/llui/llstatgraph.cpp
# indra/llui/llvirtualtrackball.cpp
# indra/newview/llagentcamera.cpp
# indra/newview/llappviewer.cpp
# indra/newview/llfloateremojipicker.cpp
# indra/newview/llfloaterimnearbychathandler.cpp
# indra/newview/llfloatersettingsdebug.cpp
# indra/newview/llfloatersnapshot.cpp
# indra/newview/llglsandbox.cpp
# indra/newview/llnetmap.cpp
# indra/newview/llpanelface.cpp
# indra/newview/llpanelpermissions.cpp
# indra/newview/llpanelplaceprofile.cpp
# indra/newview/llstartup.cpp
# indra/newview/llviewermessage.cpp
# indra/newview/llvocache.cpp
# indra/newview/llworldmapview.cpp
2024-07-09 02:25:42 +02:00
Ansariel
9fdca96f8b
Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now
2024-07-08 20:27:14 +02:00
Ansariel
9a2b83b294
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llcommon/llmemory.cpp
# indra/llmessage/CMakeLists.txt
# indra/llmessage/llfiltersd2xmlrpc.cpp
# indra/newview/lldebugview.cpp
# indra/newview/lldrawpoolbump.cpp
# indra/newview/llheroprobemanager.cpp
# indra/newview/llnetmap.cpp
# indra/newview/llslurl.cpp
# indra/newview/llsurface.cpp
# indra/newview/lltextureview.cpp
# indra/newview/llversioninfo.cpp
# indra/newview/llviewertexture.cpp
# indra/newview/llviewertexturelist.h
# indra/newview/llviewerwindow.cpp
# indra/newview/llvlcomposition.cpp
# indra/newview/llvoiceclient.cpp
# indra/newview/llworld.cpp
# indra/newview/llxmlrpctransaction.cpp
# indra/newview/skins/default/xui/da/floater_about.xml
# indra/newview/skins/default/xui/de/floater_about.xml
# indra/newview/skins/default/xui/de/menu_viewer.xml
# indra/newview/skins/default/xui/en/floater_about.xml
# indra/newview/skins/default/xui/es/floater_about.xml
# indra/newview/skins/default/xui/es/menu_viewer.xml
# indra/newview/skins/default/xui/fr/floater_about.xml
# indra/newview/skins/default/xui/it/floater_about.xml
# indra/newview/skins/default/xui/it/menu_viewer.xml
# indra/newview/skins/default/xui/ja/menu_viewer.xml
# indra/newview/skins/default/xui/pl/menu_viewer.xml
# indra/newview/skins/default/xui/pt/floater_about.xml
# indra/newview/skins/default/xui/pt/menu_viewer.xml
# indra/newview/skins/default/xui/ru/floater_about.xml
# indra/newview/skins/default/xui/ru/menu_viewer.xml
# indra/newview/skins/default/xui/tr/floater_about.xml
# indra/newview/skins/default/xui/tr/menu_viewer.xml
# indra/newview/skins/default/xui/zh/floater_about.xml
# indra/newview/skins/default/xui/zh/menu_viewer.xml
# scripts/messages/message_template.msg.sha1
2024-07-02 18:08:57 +02:00
Ansariel
59cc180281
Remove include of format library that isn't used and can't be used without C++20 support anyway
2024-07-01 17:58:45 +03:00
Brad Linden
35f4de5ebe
Merge remote-tracking branch 'origin/release/webrtc-voice' into develop
...
# Conflicts:
# indra/newview/llvoicechannel.cpp
2024-06-28 12:50:59 -07:00
Roxie Linden
34a2fd525f
[WebRTC] control microphone gain via custom audio processor.
...
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-24 14:42:30 -07:00
Ansariel
364a14a8aa
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/llcommon/llprofilercategories.h
2024-06-21 22:45:12 +02:00
Ansariel
e2c7a4d245
Fix some BOOL oversights during WebRTC merge
2024-06-21 19:48:18 +02:00
Ansariel
684bc1d1ea
Merge branch 'develop' of https://github.com/secondlife/viewer
...
# Conflicts:
# autobuild.xml
# indra/cmake/00-Common.cmake
# indra/llcommon/llsys.cpp
# indra/llwindow/llwindow.cpp
# indra/llwindow/llwindow.h
# indra/llwindow/llwindowmacosx.cpp
# indra/llwindow/llwindowmacosx.h
# indra/llwindow/llwindowwin32.cpp
# indra/llwindow/llwindowwin32.h
# indra/newview/app_settings/logcontrol.xml
# indra/newview/llappviewerwin32.cpp
# indra/newview/llpanelpeople.h
# indra/newview/llspeakers.cpp
# indra/newview/llviewerregion.cpp
# indra/newview/llviewerwindow.cpp
# indra/newview/llvoavatar.cpp
# indra/newview/llvoavatar.h
# indra/newview/llvocache.cpp
# indra/newview/llvoicechannel.cpp
# indra/newview/llvoicechannel.h
# indra/newview/llvoiceclient.h
# indra/newview/llvoicevivox.cpp
# indra/newview/skins/default/xui/en/panel_preferences_sound.xml
# indra/newview/viewer_manifest.py
# scripts/messages/message_template.msg.sha1
2024-06-21 19:46:51 +02:00
Brad Linden
863c541ce0
Fix whitespace for pre-commit hooks
2024-06-18 11:57:11 -07:00
Roxie Linden
5e60392c27
Merge branch 'develop' of github.com:secondlife/viewer into roxie/webrtc-voice
2024-06-13 14:59:28 -07:00
Ansariel
4b0ad849a9
Merge remote-tracking branch 'LL/project/webrtc-voice'
...
# Conflicts:
# autobuild.xml
# indra/cmake/WebRTC.cmake
2024-05-21 00:42:55 +02:00
Roxie Linden
ddbd1ab47e
More session shutdown cleanup
2024-05-19 02:30:45 -07:00
Roxie Linden
c6e147ff22
Race condition resulted in close causing removal of peer connection while other jobs might be using it.
2024-05-16 12:00:45 -07:00
Ansariel
223ac67c75
Merge branch 'project/webrtc-voice' of https://github.com/secondlife/viewer
...
# Conflicts:
# autobuild.xml
# indra/newview/llvoicevivox.cpp
2024-05-12 17:16:46 +02:00
Roxie Linden
c628c1f6e4
Fix some session shutdown/error handling code
2024-05-08 14:22:43 -07:00
Roxie Linden
74028326e8
The IM Floater speak button was disabled when making group calls
...
This is because the button enable state was updated before the
call had fully established.
2024-05-06 18:40:25 -07:00
Ansariel
5e5edd78ed
Merge branch 'webrtc-voice' of https://github.com/secondlife/viewer
...
# Conflicts:
# indra/newview/app_settings/settings.xml
2024-05-03 14:00:17 +02:00
Roxie Linden
05b2dd913f
Update the participant's region when crossing region boundaries.
2024-05-02 13:15:44 -07:00
Roxie Linden
07c3095a78
Unregister requested data channel when using the negotiated one.
...
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-05-02 11:07:36 -07:00
Roxie Linden
f9cb9a2b05
Can't delete from a map while iterating over it.
2024-04-30 12:58:07 -07:00
Roxie Linden
2c50399720
Remove voice participants for a connection when shutting it down.
...
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-30 11:45:21 -07:00
Roxie Linden
d4fce4990a
Reconnects to the voice server weren't happening.
2024-04-28 17:43:15 -07:00
Roxie Linden
62cd262cca
attempt to access participant after it's deleted
2024-04-26 22:00:32 -07:00
Roxie Linden
4c4d23acb0
Renegotiate voice if the voice server type has changed.
...
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-26 21:31:06 -07:00
Roxie Linden
534ddc5290
Before login, voice device preferences were not populated.
...
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-23 10:57:02 -07:00
Roxie Linden
98322d5f07
Reconnect when parcel voice params change.
...
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-21 21:12:06 -07:00
Roxie Linden
53c584e1de
Fix cases where voice outstanding requests could be dropped, resulting in no voice
2024-04-16 23:23:35 -07:00
Ansariel
89b5410d0c
Merge branch 'webrtc-voice' of https://github.com/secondlife/viewer
...
# Conflicts:
# autobuild.xml
# indra/llcommon/llprofilercategories.h
# indra/llwebrtc/llwebrtc.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/llimview.cpp
# indra/newview/skins/default/xui/en/panel_preferences_sound.xml
2024-04-16 12:53:16 +02:00
Roxie Linden
39cb0bca32
Show mute/unmute status in group voice
2024-04-08 21:29:12 -07:00
Roxie Linden
4ecf050439
Tell the user the peer has declined and shut down voice channel
...
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-06 21:58:17 -07:00
Roxie Linden
3ff1f0f951
An explicit "decline" message for P2P
...
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-04 11:32:51 -07:00
Roxie Linden
c826aea079
Fix "default" audio device handling.
...
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-01 21:39:17 -07:00
Roxie Linden
567180508f
Merge branch 'roxie/webrtc-voice' of https://github.com/secondlife/viewer into roxie/webrtc-voice
2024-03-30 22:03:59 -07:00
Roxie Linden
b3bb3d2d51
Renegotiate on remote description error
2024-03-30 22:03:30 -07:00
Roxie Linden
cdae5ebc16
Add UI for managing echo cancellation, AGC, and noise control.
...
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-30 21:58:00 -07:00
Roxie Linden
e272e387d3
Throw 'area full' message when the voice server reports max users for voice
2024-03-24 20:51:08 -07:00
Roxie Linden
92171a42c9
Not sending proper voice server type down when breaking a connection
2024-03-24 20:50:49 -07:00
Roxie Linden
8d14df5984
Not sending proper voice server type down when breaking a connection
2024-03-24 20:42:32 -07:00
Roxie Linden
168081c7e9
Validate that we're not shutting down after coroutine processing
...
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-22 17:00:34 -07:00
Roxie Linden
e242c129f9
Add Tracy categories for WebRTC Voice
...
Also:
* Fix a few crashes.
* Only send position data when it changes.
2024-03-22 16:21:02 -07:00
Roxie Linden
4b709e7944
Turn procesIceUpdates into a coroutine to chop up the work a bit.
2024-03-20 11:15:12 -07:00
Roxie Linden
5bc92b8031
Simplify workqueue calls. Fix issue with webrtc blocking on destruction.
2024-03-19 15:23:43 -07:00
Ansariel
5e75273b49
Merge branch 'webrtc-voice' of https://github.com/secondlife/viewer
...
# Conflicts:
# autobuild.xml
# indra/cmake/00-Common.cmake
# indra/newview/app_settings/settings.xml
# indra/newview/llagent.cpp
# indra/newview/llgroupactions.cpp
# indra/newview/llimview.cpp
# indra/newview/llpanelpeople.h
# indra/newview/llvoavatar.cpp
# indra/newview/llvoavatar.h
# indra/newview/llvoiceclient.cpp
# indra/newview/llvoiceclient.h
# indra/newview/llvoicevivox.cpp
# indra/newview/llvoicevivox.h
# indra/newview/viewer_manifest.py
# scripts/messages/message_template.msg.sha1
2024-03-19 17:09:42 +01:00
Roxie Linden
e4dee511ca
Use LL::WorkQueue to handle transitions from llwebrtc threads to the main thread
2024-03-18 17:47:56 -07:00
Roxie Linden
8530eadd98
Fix crash in setting peer volume/mute
...
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-16 15:17:35 -07:00
Roxie Linden
dbbbbc55af
Refactor device selection logic
...
This refactor fixed a few bugs. There is an annoying 'click' when
changing devices, however. This will be addressed in the future.
2024-03-14 20:04:39 -07:00
Roxie Linden
ef8a3833eb
Add increasing random timeout to retries.
2024-03-13 13:15:50 -07:00