Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 837bc76bb9ea8bf42aead392034e6d4c421ee798
      
https://github.com/WebKit/WebKit/commit/837bc76bb9ea8bf42aead392034e6d4c421ee798
  Author: Youenn Fablet <[email protected]>
  Date:   2025-05-21 (Wed, 21 May 2025)

  Changed paths:
    M Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp

  Log Message:
  -----------
  CoreAudioSharedUnit should reset AVAudioApplication inputMuted value when 
stopping
https://bugs.webkit.org/show_bug.cgi?id=292977
rdar://149707813

Reviewed by Eric Carlson.

AVAudioApplication inputMuted value is shared for the whole application, as 
WebKit.GPU process is doing process attribution.
Before the patch, when CoreAudioSharedUnit is stopped, the inputMuted state 
would not be updated, it would remain either to YES or NO.
When CoreAudioSharedUnit would restart, it would anyway set the inputMuted 
state to NO.

The downside is that, the application embedding the WKWebView may want to 
record audio after the WKWebView page stopped using microphone.
If WebKit.GPU process does not set back inputMuted state to NO< the application 
may record silence.

To prevent this in the short term, we set back inputMuted state to NO when 
stopping.
In particular, we now only set inputMuted to YES in 
CoreAudioSharedUnit::updateMutedState if the audio unit is running but 
microphone samples are not needed.

Manually tested.

* Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp:
(WebCore::CoreAudioSharedUnit::cleanupAudioUnit):
(WebCore::CoreAudioSharedUnit::updateMutedState):
(WebCore::CoreAudioSharedUnit::stopInternal):

Canonical link: https://commits.webkit.org/295195@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to