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

Reply via email to