Commit Graph

53155 Commits (c847a5eaac635604a2490872c0ee8cc947273cf5)

Author SHA1 Message Date
Andrey Kleshchev 3b3c85d1f3 #4651 Try distinguishing freezes from crashes 2025-09-15 11:16:24 +03: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
Andrey Kleshchev 8eb015666e #4651 Handle window's sessions termination 2025-09-12 23:32:51 +03:00
Maxim Nikolenko cf3352e6f2
#3957 Add indication to a folder's context menu that it is the default upload location 2025-09-12 15:54:21 +03:00
Andrey Kleshchev ac2cbdcc02 #4660 Unable to upload GLTF+bin with spaces in the name 2025-09-12 09:40:20 +03:00
Rye 452c8e0ea4
Follow up fixes for Apple Silicon (#4662)
* Remove GLM sse flag from cmake that was moved to llpreprocessor.h

* Further reduce performance loss of HDR and Sharpening on bandwith-constrained gpu by combining gamma correction into tonemap/sharpening shader passes

* Update SSE2NEON to 1.8.0 to fix random render nans

* Fix occasional startup crash from LLCachedControl being declared in global scope
2025-09-11 20:54:32 -04:00
Andrey Kleshchev c3c45e00ab #1825 Use html as a default type for nosniff mime probes 2025-09-11 15:23:09 +03:00
Jonathan "Geenz" Goodman 3ab18e8545
Merge pull request #4657 from secondlife/brad/mac_universal
Improvements found in reviewing mac_arm branch #4629
2025-09-10 19:08:34 -04:00
Alexander Gavriliuk cf75c9c958 #2618 Roles and Members tab is a mess 2025-09-10 23:30:40 +03:00
Alexander Gavriliuk 2ef17ab9d6 #2618 Roles and Members tab is a mess (fix XML indents for readability) 2025-09-10 23:30:40 +03:00
Brad Linden f98a61be70 Improvements found in reviewing mac_arm branch #4629 2025-09-10 13:04:04 -07:00
Jonathan "Geenz" Goodman 5b97823db6
Merge pull request #4636 from secondlife/project/mac_universal
Apple Silicon Support
2025-09-10 15:53:59 -04:00
Andrey Kleshchev 0030929554 viewer#2172 AM/PM selector 2025-09-10 22:48:16 +03: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
Andrey Kleshchev 92c3cbbb04 #1965 Properly terminate particles when HUD is off #2 2025-09-09 23:40:38 +03:00
Andrey Kleshchev 79e4b7b53d p#428 'multiple textures' sometimes not present
when opening picker for the first time
2025-09-09 20:01:02 +03:00
Callum Linden 28b544251a
Merge pull request #4644 from RyeMutt/project/mac_universal
Fix macos build arch and deploy target due to cmake behavior changes
2025-09-05 18:50:07 -07:00
Rye 8f43b5b77b Fix macos build arch and deploy target due to cmake behavior changes 2025-09-05 19:35:22 -04:00
Andrey Kleshchev d97cb0f18c #4639 Crash at getDimensionsF32 2025-09-06 00:53:47 +03:00
Andrey Kleshchev 6b0b8ce196 #4536 Fix clipped setting descriptions 2025-09-06 00:52:52 +03:00
Callum Linden 40e2b67db5
Merge pull request #4640 from secondlife/callum/mac_universal
Updates to macOS universal build
2025-09-05 14:18:07 -07:00
Callum Prentice 789a64b0de Incorporate the latest buld of KDU 8.4.1 with the universal macos libs 2025-09-05 13:45:47 -07:00
Callum Prentice 94cfce4a4d Revert "Replace boost filesystem with std filesystem"
This reverts commit 94e45ca2e6.
2025-09-05 13:44:57 -07:00
Andrey Kleshchev 12704b9411 viewer-cef build fixes 2025-09-05 19:00:05 +03:00
Andrey Kleshchev 94e45ca2e6 Replace boost filesystem with std filesystem
Build fixes, instead of resolving unclear boost filesystem errors just
updated to std in affected places.
2025-09-05 19:00:05 +03:00
Callum Linden d885e73ddd
Merge pull request #4633 from secondlife/callum/viewer-cef-2025-08
Incorporate latest version of Dullahan that is built using CEF 139 and target the Universal Mac build branch
2025-09-04 15:17:55 -07:00
Callum Linden 66ccfabdd3
Merge branch 'project/mac_universal' into callum/viewer-cef-2025-08 2025-09-04 14:51:34 -07:00
Andrey Kleshchev f5c872a12d p#470 Fix wrong release notes being shown. 2025-09-04 23:10:38 +03:00
Andrey Kleshchev a4f58810f4 #4623 Shared Media on HUDs not loading
Looks like a merge between a commit that affected mScreenPixelArea and a
commit that added a return value resulted in reordered calls.
2025-09-04 00:16:54 +03:00
Andrey Kleshchev 90aa693f2a
Merge Changes for support of apple silicon on macOS
Mac Arm
2025-09-03 20:30:12 +03:00
Andrey Kleshchev 5593cde0e8
Merge pull request #4625 from secondlife/andreyk/viewer_4587
#4587 Shaders sometimes do not match the shader settings
2025-09-03 19:09:48 +03:00
Andrey Kleshchev 46f325b7db #4587 Make shader cache reading faster 2025-09-02 23:29:15 +03:00
Andrey Kleshchev 3ea1d87a42 #4587 Shaders sometimes do not match the shader settings
Ensure versions get matched reliably
2025-09-02 23:29:15 +03:00
Andrey Kleshchev 3e4f112c03
Merge from main into develop
Update develop branch from main to pick up 2025.05 and 2025.06 merge commits and version bump.
2025-09-02 22:34:44 +03:00
Andrey Kleshchev e81b1de01e Increment viewer version after 2024.06 2025-09-02 22:29:55 +03:00
Rye 0ae3de8f1e Fix cmake to ${CMAKE_COMMAND} to avoid cmake error 2025-09-02 19:50:57 +03:00
Rye 012c0705bd MacOS companion changes for dullahan 1.21 including package structure and linkage fixes 2025-09-02 19:50:57 +03:00
Rye 0fe641a3f2 Changes to support dullahan 1.21 undo/redo/delete/select all edit handlers 2025-09-02 19:50:57 +03:00
Andrey Kleshchev e5b7e8a9a8 #4621 Crash at LLMeshRepoThread::run(1060)
Fix a missed mutex
2025-09-02 19:31:33 +03:00
Andrey Kleshchev 9959f51741 #4619 Don't crash on LLHUDEffect::render
LLHUDEffectResetSkeleton needs to override LLHUDEffect::render to not
cause an LL_ERRS if it stays alive for too long.
2025-09-02 19:31:33 +03:00
Andrey Kleshchev 5d50a660bc #4588 Unable to direct silent installation 2025-09-01 19:23:12 +03:00
Callum Prentice db69b09d82 Merge branch 'develop' into callum/viewer-cef-2025-08 2025-08-29 14:51:08 -07:00
Andrey Kleshchev e77eb6b531 #4598 Fix variables being inited before settings are ready 2025-08-29 20:38:43 +03:00
Andrey Kleshchev 479fee984a #4604 Warn user off high settings when on low-RAM hardware 2025-08-29 19:56:04 +03:00
Andrey Kleshchev e23aa06049 #4604 Reduce draw distance when low on RAM 2025-08-29 19:56:04 +03:00
Jonathan "Geenz" Goodman 842ac1e150
Merge pull request #4379 from secondlife/release/2025.06
Release/2025.06
2025-08-29 12:48:44 -04:00
Rye 5ffcd3dc88 Fixes for GHA build 2025-08-28 17:58:33 -04:00
Rye d010e55b88 Tabs to spaces 2025-08-28 06:21:38 -04:00