Commit Graph

232 Commits (ecbf70877e7803412f520d2185fe2c7979754763)

Author SHA1 Message Date
Ansariel 5e5a3f4102 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llui/lltextbase.cpp
#	indra/newview/llappviewerwin32.cpp
#	indra/newview/lleventpoll.cpp
2025-09-22 23:11:55 +02:00
Andrey Kleshchev 0fb6dc22ff Fix builds after update of build-variables branch 2025-09-19 15:45:59 +03:00
Jonathan "Geenz" Goodman 82e431e090 Merge remote-tracking branch 'origin/release/2025.07' into geenz/2025.07-develop 2025-09-18 15:23:26 -04:00
Andrey Lihatskiy badeccbebc
NSIS build fix (#4698) 2025-09-18 21:37:12 +03:00
Ansariel 5fdef7863e Merge branch 'release/2025.07' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/skins/default/xui/en/menu_inventory.xml
2025-09-16 18:33:02 +02:00
Roxanne Skelly a6d4c1d394
[WebRTC] Rework device handling sequence so that we can handle unplugging/re-plugging devices (#4593)
* [WebRTC] Rework device handling sequence so that we can handle unplugging/re-plugging devices

The device handling was not processing device updates in the proper sequence as
things like AEC use both input and output devices.  Devices like headsets are both
so unplugging them resulted in various mute conditions and sometimes even a crash.

Now, we update both capture and render devices at once in the proper sequence.

Test Guidance:
* Bring two users in the same place in webrtc regions.
* The 'listening' one should have a headset or something set oas 'Default'
* Press 'talk' on one, and verify the other can hear.
* Unplug the headset from the listening one.
* Validate that audio changes from the headset to the speakers.
* Plug the headset back in.
* Validate that audio changes from speakers to headset.
* Do the same type of test with the headset viewer talking.
* The microphone used should switch from the headset to the computer (it should have one)

Do other various device tests, such as setting devices explicitly, messing with the device selector, etc.

* Fix race condition when multiple change device requests might come in at once

* Update to m137

The primary feature of this commit is to update libwebrtc from m114
to m137.  This is needed to make webrtc buildable, as m114 is not buildable
by the current toolset.

m137 had some changes to the API, which required renaming or changing namespace
of some of the calls.

Additionally, this PR moves from a callback mechanism for gathering the energy
levels for tuning to a wrapper AudioDeviceModule, which gives us more control
over the audio stream.

Finally, the new m137-based webrtc has been updated to allow for 192khz audio
streams.

* Properly pass the observer setting into the inner audio device module

* Update to m137 and get rid of some noise

    This change updates to m137 from m114, which required a few API changes.

    Additionally, this fixes the hiss that happens shortly after someone unmutes: https://github.com/secondlife/server/issues/2094

    There was also an issue with a slight amount of repeated after unmuting if there was audio right before unmuting.  This is because
    the audio processing and buffering still had audio from the previous speaking session.  Now, we inject nearly a half second of
    silence into the audio buffers/processor after unmuting to flush things.

* Install nsis on windows

* Use the newer digital AGC pipeline

m137 improved the AGC pipeline and the existing analog style is going away
so move to the new digital pipeline.

Also, some tweaking for audio levels so that we don't see inworld bars when tuning,
so one's own bars seem a reasonable size, etc.

* Install NSIS during windows sisgning and package build step

* Try pinning the packaging to windows 2022 to deal with missing nsis

* Adjust gain calculation and audio level calculations for tuning and peer connections

* Update with mac universal webrtc build

* Tuning of voice indicators for both tuning mode and inworld for self.

* Redo device deployment to handle cases where multiple deploy requests pile up

Also, mute when leaving webrtc-enabled regions or parcels,
and unmute when voice comes back.

* pre commit issue
2025-09-12 20:07:51 -04:00
Jonathan "Geenz" Goodman 42695904d6
Use XL mac runners due to the unibin build time. (#4674)
Temporary until we can better parallelize architecture specific builds.
2025-09-12 19:17:58 -04:00
Ansariel 651665235f Merge branch 'release/2025.07' of https://github.com/secondlife/viewer 2025-09-10 23:39:58 +02:00
Jonathan "Geenz" Goodman dd1113ba2b
Merge branch 'release/2025.07' into project/mac_universal 2025-09-10 13:29:51 -04:00
Andrey Kleshchev 1754002308 Fix build failing due to missing nsis
Temporary switch to windows 2022, latest 2025 doesn't have nsis
2025-09-10 00:29:06 +03:00
Ansariel b99cf9fb86 Merge branch 'project/mac_universal' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/cmake/00-Common.cmake
#	indra/cmake/APR.cmake
#	indra/cmake/Audio.cmake
#	indra/cmake/Boost.cmake
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/cmake/LLKDU.cmake
#	indra/cmake/LLPrimitive.cmake
#	indra/cmake/Meshoptimizer.cmake
#	indra/cmake/NGHTTP2.cmake
#	indra/cmake/OPENAL.cmake
#	indra/llaudio/llvorbisencode.cpp
#	indra/llcommon/linden_common.h
#	indra/llcommon/llcommon.cpp
#	indra/llcommon/llfasttimer.cpp
#	indra/llcommon/llfasttimer.h
#	indra/llcommon/llfile.cpp
#	indra/llcommon/llmemory.h
#	indra/llcommon/llprofiler.h
#	indra/llcommon/llthreadsafequeue.h
#	indra/llfilesystem/lldir_win32.cpp
#	indra/llkdu/llimagej2ckdu.cpp
#	indra/llkdu/llimagej2ckdu.h
#	indra/llkdu/llkdumem.h
#	indra/llplugin/slplugin/CMakeLists.txt
#	indra/llrender/llfontfreetype.cpp
#	indra/llrender/llfontfreetype.h
#	indra/llwindow/CMakeLists.txt
#	indra/llwindow/llopenglview-objc.mm
#	indra/llwindow/llwindowmacosx-objc.h
#	indra/llwindow/llwindowwin32.cpp
#	indra/media_plugins/cef/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/llappviewer.cpp
#	indra/newview/llface.cpp
#	indra/newview/pipeline.cpp
#	indra/newview/viewer_manifest.py
2025-09-05 14:55:37 +02:00
Ansariel Hiller 1f53ef9808
Merge pull request #158 from FirestormViewer/dependabot/github_actions/actions/download-artifact-5
Bump actions/download-artifact from 4 to 5
2025-09-01 23:42:20 +02:00
dependabot[bot] a21813339a
Bump actions/download-artifact from 4 to 5
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 18:29:37 +00:00
dependabot[bot] 1afff91ed2
Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 18:14:06 +00:00
Rye 2b44464a14 Fix up windows build error in GHA 2025-08-28 06:08:13 -04:00
Jonathan "Geenz" Goodman 6dd8a02ed1 Merge branch 'project/gltf_mesh_import' into geenz/develop-to-gltf-mesh 2025-06-27 17:18:00 -04:00
Andrey Lihatskiy 781d9fa481 Use latest release for changelog 2025-06-24 01:29:58 +03:00
Andrey Lihatskiy 03b6d09ae5
Use windows-latest runner for sign-and-package-windows (#4263) 2025-06-12 03:40:20 +03:00
Andrey Lihatskiy 7aea88fb84 Use awk to make PV channel name 2025-05-31 01:40:34 +03:00
Jonathan "Geenz" Goodman 3c96bd2c69
Switch to smaller runners (#3722)
* Switch to smaller runners

* Make the runner conditional based upon a specific tag.

Co-authored-by: Andrey Lihatskiy <alihatskiy@productengine.com>
2025-03-21 05:54:08 -04:00
Andrey Lihatskiy 34c3eed88a Bump macos runner to os version 15 with xcode 16.1 2025-02-13 17:40:40 +02:00
Brad Linden bb5fa35900
Roll back to Xcode 14.0.1 to fix secondlife/viewer-private#347 (#3297) 2024-12-16 15:41:39 -08:00
Brad Linden 3f6d55f4fe
unbreak mac build due to actions/runner-images#10721 (#3204) 2024-12-03 16:33:32 -08:00
Brad Linden 1adf2d00eb Fix usage of $branch before it was initialized in build. 2024-08-22 15:46:48 -07:00
Andrey Lihatskiy b93529526b
ReleaseOS build fix (#2299) 2024-08-15 00:56:39 +03:00
nat-goodspeed 633e200af1
Merge pull request #2275 from secondlife/nat/edu-channel
Allow triggering an EDU build with a tag containing "edu"
2024-08-14 15:35:19 -04:00
Brad Linden 2921deed78
Skip windows symbol upload if there was no Release config build. (#2280) 2024-08-13 13:42:52 -07:00
Nat Goodspeed 23f2631d59 Merge branch 'develop' into nat/edu-channel 2024-08-13 15:32:47 -04:00
Signal Linden 8ce3323269
CI: Upload ReleaseOS app (#2252)
Upload the built app on ReleaseOS builds. Not sure why we wouldn't want this.
2024-08-13 12:12:48 -07:00
Nat Goodspeed dc314602d5 Allow triggering an EDU build with a tag containing "edu" 2024-08-13 11:30:41 -04:00
Signal Linden dff3fdbfd7
Adopt NSIS 3.0 (#2248) 2024-08-11 16:44:39 -07: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
Brad Linden 3b2c32fdf9 Merge remote-tracking branch 'origin/release/webrtc-voice' into 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-09 15:10:13 -07:00
Roxie Linden d46c444aee Use the secondlife-3p fork of symbol upload, which has vMAJOR tags 2024-08-08 12:05:16 -07:00
Roxie Linden cfe84b7f38 Merge branch 'roxie/webrtc-symbols' of github.com:secondlife/viewer into roxie/webrtc-symbols 2024-08-08 09:35:36 -07:00
Roxie Linden f1f3aa42e8 CR fixes 2024-08-08 09:34:48 -07:00
Roxie Linden 83390094f1 test llwebrtc.dll for additional symbols 2024-08-07 22:01:46 -07:00
Roxie Linden 60003cf077 include viewer exe in uploaded symbols 2024-08-07 19:09:19 -07:00
Roxie Linden 530bc29753 build debug symbols for llwebrtc even for release 2024-08-07 16:33:00 -07:00
Roxie Linden f6f3d7e048 spacing issue 2024-08-07 14:24:00 -07:00
Roxie Linden 63a4ad9b98 Add Windows multi-pdb upload capability 2024-08-07 14:16:11 -07:00
Andrey Kleshchev 399eb2104e viewer#2043 bugsplat symbol upload update 2024-08-07 20:12:59 +03:00
Roxie Linden 753cf01ef0 don't need to post dylib as we're using xcarchive 2024-08-06 22:24:38 -07:00
Roxie Linden fc0e70e77b upload xcarchive to bugsplat 2024-08-06 21:00:48 -07:00
Roxie Linden c52c25e10d As bugspat upload is broken for dylibs within .dSYM bundles, upload the dylibs directly 2024-08-06 12:06:40 -07:00
Roxie Linden 83c1f45dba Download osx artifacts to working directory 2024-08-06 00:26:43 -07:00
Roxie Linden 07573f7e10 allow paths with spaces 2024-08-05 23:16:48 -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
Andrey Lihatskiy 01688e5216
Use dedicated property to determine if build is called from a fork (#2183) 2024-08-02 20:48:06 +03:00
Signal Linden dfa7d60a72
build.yaml: Fix FROM_FORK value, ReleaseOS PR builds (#2147) 2024-07-30 10:09:49 -07:00