Environment
Second Life Release 26.2.0.25386466510 (64bit)
Release Notes
You are at 129.1, 128.5, 2.0 in Suduffco located at simhost-0a97dff61f4695132.agni
SLURL: https://maps.secondlife.com/secondlife/Suduffco/129/129/2
(global coordinates 257409.0, 258945.0, 2.0)
Second Life Server 2026-05-12.25766421211
Release Notes
CPU: Apple M1 Pro (2400 MHz)
Memory: 16384 MB
OS Version: macOS 26.5.0 Darwin 25.5.0 Darwin Kernel Version 25.5.0: Mon Apr 27 20:38:56 PDT 2026; root:xnu-12377.121.6~2/RELEASE_ARM64_T6000 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M1 Pro
OpenGL Version: 4.1 Metal - 90.5
Window size: 1076x650
Font Size Adjustment: 96pt
UI Scaling: 0.75
Draw distance: 120m
Bandwidth: 10000kbit/s
LOD factor: 1.125
Render quality: 1
Texture memory: 12124MB
Disk cache: Max size 2150.4 MB (101.0% used)
HiDPI display mode:
J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway
Packets Lost: 0/5185 (0.0%)
June 01 2026 10:02:16
Description
If a user disables the 'Echo Cancellation' setting in Voice preferences while other voice preferences remain at default, echo cancellation appears to remain enabled, in terms of what other users hear. It would appear that the audio filter pipeline isn't updated when the preference is toggled in either direction.
This might affect the other preferences too, but 'Echo Cancellation' is one of the more obvious preferences to test with.
Other notes:
Soft took a quick look with an AI tool and reported:
LLWebRTCVoiceClient::updateSettings() builds a fresh llwebrtc::LLWebRTCDeviceInterface::AudioConfig, then only calls setAudioConfig() if saved prefs differ from that freshly defaulted object.
But AudioConfig defaults are:
- echo cancellation: true
- AGC: true
- noise suppression: VERY_HIGH
So if the user setting matches those defaults, the code may decide nothing changed and skip applying the config, even though the actual WebRTC audio processor may currently be in a different state. This is especially suspicious because the native WebRTC APM is initialized with echo cancellation disabled, while the viewer pref defaults it enabled.
Reproduction steps
- UserA: Set up your system to use non-headphone speakers for voice audio output
- I used the built-in mic and speakers of my Macbook for this purpose, which can be great for generating an annoyingly echoing audio stream for others to hear.
- UserA: Launch the viewer and use default voice settings:
- Echo Cancellation: enabled
- Automatic Gain Control: enabled
- Microphone Noise Suppression: Max
- UserA: Login to any in-world location with voice enabled
- UserA: Press the 'Speak' button and speak continuously- Alternatively, use some other device to broadcast voices continuously (e.g. news radio), at the same loudness and distance from the mic as a human would)
- UserB: Login to UserA's location and listen to them over voice
- UserB: Start speaking in spatial voice, and note:
- If UserB ever hears their own voice echo'ed while speaking (UserA's "Echo Cancellation" preference should suppress this)
- If UserA's voice is suppressed to UserB whenever UserB starts to speak
- UserA: Open your voice preferences and disable "Echo Cancellation"
- UserA: Resume your spatial voice broadcast
- UserB: Repeat step (6) and note if results are any different.
Expected results:
- In (6), UserB should hear the effects of noise cancellation enabled, good or bad
- In (8), UserB should hear the effects of noise cancellation disabled, including a ~200ms echo of UserB's voice (annoying) but fewer artifacts like suppression of UserA's stream
Actual results:
- In (6), UserB hears:
- No echo of their own voice (good)
- A suppression of UserA's voice when they speak (bad). I think this might be an artifact of echo cancellation
- In (8), behavior is unchanged to UserB - "Echo Cancellation" on UserA's viewer doesn't appear to matter
Other notes:
If the test is repeated, but UserA sets non-default voice settings (e.g. "Microphone Noise Suppression: None") this bug does not reproduce - toggling 'Echo Cancellation' has the immediate expected effect.
Environment
Second Life Release 26.2.0.25386466510 (64bit)
Release Notes
You are at 129.1, 128.5, 2.0 in Suduffco located at simhost-0a97dff61f4695132.agni
SLURL: https://maps.secondlife.com/secondlife/Suduffco/129/129/2
(global coordinates 257409.0, 258945.0, 2.0)
Second Life Server 2026-05-12.25766421211
Release Notes
CPU: Apple M1 Pro (2400 MHz)
Memory: 16384 MB
OS Version: macOS 26.5.0 Darwin 25.5.0 Darwin Kernel Version 25.5.0: Mon Apr 27 20:38:56 PDT 2026; root:xnu-12377.121.6~2/RELEASE_ARM64_T6000 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M1 Pro
OpenGL Version: 4.1 Metal - 90.5
Window size: 1076x650
Font Size Adjustment: 96pt
UI Scaling: 0.75
Draw distance: 120m
Bandwidth: 10000kbit/s
LOD factor: 1.125
Render quality: 1
Texture memory: 12124MB
Disk cache: Max size 2150.4 MB (101.0% used)
HiDPI display mode:
J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway
Packets Lost: 0/5185 (0.0%)
June 01 2026 10:02:16
Description
If a user disables the 'Echo Cancellation' setting in Voice preferences while other voice preferences remain at default, echo cancellation appears to remain enabled, in terms of what other users hear. It would appear that the audio filter pipeline isn't updated when the preference is toggled in either direction.
This might affect the other preferences too, but 'Echo Cancellation' is one of the more obvious preferences to test with.
Other notes:
Soft took a quick look with an AI tool and reported:
Reproduction steps
Expected results:
Actual results:
Other notes:
If the test is repeated, but UserA sets non-default voice settings (e.g. "Microphone Noise Suppression: None") this bug does not reproduce - toggling 'Echo Cancellation' has the immediate expected effect.