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