Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c6288726a4fe7772142492cb636b89fa76064de5
https://github.com/WebKit/WebKit/commit/c6288726a4fe7772142492cb636b89fa76064de5
Author: Youenn Fablet <[email protected]>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M Source/WebCore/platform/audio/MediaSessionManagerInterface.cpp
Log Message:
-----------
Camera/microphone capture is muted in a Messenger call when removing AirPods
rdar://161132973
https://bugs.webkit.org/show_bug.cgi?id=301277
Reviewed by Eric Carlson.
When receiving a messenger call, the messenger web page will play a sound to
alert the user.
This makes the web page now playable and able to receive remote commands, for
instance via OS UI or when AirPods are removed.
When user agrees to take the call, a new page is presented to the user.
This page is doing microphone/camera capture and is living in the same process
as the messenger web page.
Given the messenger web page has a media element that is eligible to now
playing, the web process will receive commands to pause when AirPods are
removed.
These commands are often forwarded to the audio/video call page that would
otherwise not be eligible to now playing.
This trigger audio/video capture muting.
To fix that issue, when selecting which element session to forward the remote
command, we will favor the now playing session.
If there is none, we will do as before and take the first one that can process
remote commands.
Manually tested.
* Source/WebCore/platform/audio/MediaSessionManagerInterface.cpp:
(WebCore::MediaSessionManagerInterface::processDidReceiveRemoteControlCommand):
Canonical link: https://commits.webkit.org/302175@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications