Commit Graph

166 Commits (d4e9604700a1dbae3dbce58a3be0fda1465fd39c)

Author SHA1 Message Date
Ansariel 830eeaa6ff Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/llagentwearables.cpp
#	indra/newview/llface.cpp
#	indra/newview/llpanelpeople.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llviewertexturelist.cpp
2024-08-21 00:46:46 +02:00
Brad Linden 68f712615f Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into develop
# Conflicts:
 #	autobuild.xml
 #	indra/newview/llvoicewebrtc.cpp
2024-08-20 09:44:14 -07:00
Roxie Linden de0b5afa25 Merge branch 'roxie/webrtc-airpod-fixes' of github.com:secondlife/viewer into roxie/webrtc-airpod-fixes 2024-08-18 23:10:00 -07:00
Roxie Linden 226f7bc5b7 Use the release build of webrtc to avoid pedantic asserts which are handled properly anyway. 2024-08-18 23:07:29 -07:00
Roxie Linden 28fdd6e786 Update webrtc to fix loss of stereo in bluetooth issue.
When transitioning from mic-on hands-free mode to mic off,
it's expected that the audio stream would return to stereo.
Inproper logic in the mac device code in webrtc was preventing
that.
2024-08-18 00:30:16 -07:00
Roxie Linden 63d17b395b Microphone was being prematurely enabled on login for a short period.
The microphone issue was causing a short moment of sound, and was
causing bluetooth headsets to switch to hands-free/one channel mode
which is disruptive.

Also, update webrtc to deal with issue where airpods were garbled
after coming out of hands-free mode.
2024-08-17 20:11:46 -07:00
Roxie Linden 2efad2182a Fixes to managing device start/stop playout/recording.
Fixes prevent attempting to start playout/recording before the devices
are set up, to prevent restarting playout/recording, to prevent
attempts to stop when not playing/recording, and so on...

This should address the case where audio device changes can cause
an assert.  It should also address the case where audio was unnecessarily played
or transmitted when connecting.

And, when voice is disabled, the audio devices are not set up to play/record
so there should be no disruption of bluetooth music from other apps.
2024-08-17 00:26:07 -07:00
Ansariel 028933621e Merge branch 'master' of https://bitbucket.org/Ansariel/phoenix-firestorm-atlasaurus
# Conflicts:
#	indra/llui/llscrolllistctrl.cpp
2024-08-10 13:57:24 +02:00
Ansariel b35e4d26d1 Merge branch 'release/webrtc-voice' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/CMakeLists.txt
#	indra/newview/lleventpoll.cpp
#	indra/newview/llvoiceclient.cpp
#	indra/newview/llvoicewebrtc.cpp
2024-08-10 12:51:51 +02:00
Brad Linden c106221726 Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into develop
# Conflicts:
 #	.github/workflows/build.yaml
 #	indra/llui/llscrolllistctrl.cpp
2024-08-09 15:43:06 -07:00
Roxie Linden f1f3aa42e8 CR fixes 2024-08-08 09:34:48 -07:00
Roxie Linden 530bc29753 build debug symbols for llwebrtc even for release 2024-08-07 16:33:00 -07:00
Roxie Linden 63a4ad9b98 Add Windows multi-pdb upload capability 2024-08-07 14:16:11 -07:00
Roxie Linden ece9cb8022 Build an xcarchive for mac symbol upload. 2024-08-06 18:41:46 -07:00
Roxie Linden 293187e04b Build mac symbols for multiple binaries/dynamic libraries and upload them all to bugsplat 2024-08-05 18:17:03 -07:00
Ansariel 04bed35215 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llwebrtc/llwebrtc.h
#	indra/newview/llfloateremojipicker.cpp
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvoavatar.h
2024-08-02 13:01:06 +02:00
Ansariel d3ba6ca08c Merge branch 'master' of https://bitbucket.org/Ansariel/phoenix-firestorm-atlasaurus 2024-08-02 12:04:58 +02:00
Ansariel fa4ad236fc Merge branch 'release/webrtc-voice' of https://github.com/secondlife/viewer 2024-08-02 11:59:06 +02:00
Brad Linden 0ff2bd1a40 Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into develop 2024-08-01 15:42:22 -07:00
Roxie Linden b9c222dfae Implement a Logging Sink for WebRTC
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-31 21:23:30 -06:00
Ansariel 02680c6a8f Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/cmake/Boost.cmake
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/llaudio/llaudiodecodemgr.cpp
#	indra/llxml/llxmltree.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterworldmap.cpp
#	indra/newview/llfloaterworldmap.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llinventorygallerymenu.cpp
#	indra/newview/llpanelgroup.cpp
#	indra/newview/llpanelgroup.h
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llvoavatar.cpp
#	indra/newview/viewer_manifest.py
2024-07-30 12:32:41 +02:00
Andrey Lihatskiy b746e78c78 Fix trailing whitespaces in webrtc code to pass pre-commit 2024-07-29 12:28:33 +03:00
Rye Mutt c7c7342ed3 Update boost to 1.85 and fix deprecation warnings 2024-07-29 08:20:32 +03:00
Ansariel e17c906698 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/newview/llcontrolavatar.cpp
#	indra/newview/lldrawpoolterrain.cpp
#	indra/newview/llmeshrepository.cpp
#	indra/newview/llviewerdisplay.cpp
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llvoavatar.cpp
2024-07-22 20:58:53 +02:00
Alexander Gavriliuk f0d7ccdbe0 #2053 BugSplat Crash #1494325: LLVOVolume::getReflectionProbeNearClip() 2024-07-19 13:07:26 +02:00
Ansariel f04ed0e5e4 Merge branch 'release/webrtc-voice' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/newview/llspeakers.cpp
#	indra/newview/llvocache.cpp
#	indra/newview/llvoiceclient.cpp
#	indra/newview/skins/default/xui/de/menu_viewer.xml
#	indra/newview/skins/default/xui/en/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/es/menu_viewer.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/menu_viewer.xml
#	indra/newview/skins/default/xui/ru/menu_viewer.xml
#	indra/newview/skins/default/xui/tr/menu_viewer.xml
#	indra/newview/skins/default/xui/zh/menu_viewer.xml
2024-07-18 20:27:40 +02:00
Andrey Lihatskiy 88f52f1b90 Fix trailing whitespaces in webrtc code to pass pre-commit 2024-07-18 10:41:09 +03: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
Andrey Lihatskiy 1142c2c79b Fix trailing spaces to make pre-commit happy 2024-07-01 17:16:16 +03: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 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
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 c7461061b8 Get rid of a deprecated warning in Linux builds 2024-05-19 22:59:09 -07:00
Roxie Linden ddbd1ab47e More session shutdown cleanup 2024-05-19 02:30:45 -07:00
Roxie Linden 2b275d43fb Clean up some shutdown code. 2024-05-17 13:27: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 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 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 cf13866da9 Don't default the tracks to unmuted 2024-04-28 18:43:48 -07:00
Roxie Linden d4fce4990a Reconnects to the voice server weren't happening. 2024-04-28 17:43:15 -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
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 648741470f CR suggestions 2024-04-07 19:23:00 -07:00
Roxie Linden 34ed990fa3 Show 'decline' when peer declines p2p voice
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-07 14:13:00 -07:00
Roxie Linden fdf0fbce5b oopse 2024-04-01 22:39:59 -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 c6e673cda1 Fix windows crashes
* 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-30 23:19:38 -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