Skip to content

Add 'Mic Stop On Mute' checkbox to change behavior of handsfree mode for bluetooth headsets - #6447

Merged
roxanneskelly merged 6 commits into
release/26.5from
roxie/mic_stop_on_mute
Oct 21, 2026
Merged

roxanneskelly merged 6 commits into
release/26.5from
roxie/mic_stop_on_mute

Conversation

@roxanneskelly

Copy link
Copy Markdown
Contributor

Description

Bluetooth drops it's bandwidth and goes mono when the microphone is enabled. It's just an artifact of the bluetooth technology, and there's nothing that can be done about it. In secondlife, this results in poor audio quality when listening if voice is enabled, as the viewer activates the microphone to prepare for input while voice is enabled.

In 26.2, we only activated the microphone when mute was toggled. This results in a 'hiss' when you start speaking, and can result in a disruptive delay and audio artifact when toggling the mute button. The only thing that can be done about that is to keep the microphone active (but not listening) at all times, which is what we did in 26.3.

Unfortunately, this results in poor quality (lower bitrate, mono) when listening to other sources like DJs, music from mp3s, etc.

The fix is to give users a choice as to whether they want to favor voice behavior, or other audio like music.

Issue Link: #6433

Test Guidance:
See #6433

Kudos to @Hecklezz for this work.

Comment thread indra/llwebrtc/CMakeLists.txt Outdated
"-framework CoreMedia"
"-framework CoreVideo"
"-framework Foundation"
"-framework Security"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mixed tab and space indenting making it not line up

Comment thread indra/llwebrtc/llwebrtc_impl.h Outdated
Comment on lines +248 to +250
// Ignore webrtc.lib's InitRecording (sent when a send stream starts), as
// with StartRecording/StopRecording: it would leave capture initialised even
// while we hold capture off. The app initialises capture itself via ForceInitRecording.

@Hecklezz Hecklezz Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments need indenting (I fixed it right after you pulled the changes into this branch :) )

…sequences

we were calling workerStartRecording when unmuting when configured to go out
of hands free mode on bluetooth devices when muting.  telling libwebrtc to
change devices might be a bit overkill and have unintended consequences.

Also, fixed some formatting.
@roxanneskelly
roxanneskelly marked this pull request as draft October 15, 2026 18:53
@roxanneskelly

Copy link
Copy Markdown
Contributor Author

Back to draft as we need some product and design decisions as to what the default is, and on the copy.

@roxanneskelly
roxanneskelly marked this pull request as ready for review October 21, 2026 16:19
@roxanneskelly
roxanneskelly merged commit 14539cf into release/26.5 Oct 21, 2026
16 checks passed
@roxanneskelly
roxanneskelly deleted the roxie/mic_stop_on_mute branch October 21, 2026 17:21
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants