Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a1aedbea4cfe885239f6af96b937de0f2c995b2e
https://github.com/WebKit/WebKit/commit/a1aedbea4cfe885239f6af96b937de0f2c995b2e
Author: Youenn Fablet <[email protected]>
Date: 2025-11-06 (Thu, 06 Nov 2025)
Changed paths:
M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureUnit.cpp
Log Message:
-----------
Microphone capture can be muted when capturing with and without echo
cancellation and using applyConstraints to switch dynamically between the two
rdar://164086015
https://bugs.webkit.org/show_bug.cgi?id=302005
Reviewed by Eric Carlson.
When a web page has two tracks, one with echo cancellation and one without echo
cancellation on the same device,
the web page is running two CoreAudioCaptureUnits.
If it renders audio, the VPIO unit may also be rendering audio.
If the VPIO unit is stopping to capture (both tracks go to no echo
cancellation), it will continue running to render audio.
It will then mute capture as it does not need to capture and to remove the OS
microphone capture indicator.
But, this prevents the other unit to actually capture.
We update CoreAudioCaptureUnit::updateMutedState by making sure to set muted to
true only if there is no other audio unit doing capture.
We also update CoreAudioCaptureUnit::updateMutedState to only set
kAUVoiceIOProperty_MuteOutput on the VPIO unit since it fails with non VPIO
units.
Manually tested.
Canonical link: https://commits.webkit.org/302637@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications