Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 410a0085f29cf0efde7ba4772495307387bb91bf
https://github.com/WebKit/WebKit/commit/410a0085f29cf0efde7ba4772495307387bb91bf
Author: Youenn Fablet <[email protected]>
Date: 2025-11-07 (Fri, 07 Nov 2025)
Changed paths:
M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp
M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h
M Source/WebCore/platform/mediastream/mac/MockAudioCaptureUnit.mm
M Source/WebCore/platform/mock/MockMediaDevice.h
M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp
M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
Log Message:
-----------
REGRESSION(302582@main):
TestWebKitAPI.WebKit2.CrashGPUProcessAfterApplyingConstraints times out
rdar://164194814
https://bugs.webkit.org/show_bug.cgi?id=302113
Reviewed by Jean-Yves Avenard.
Before 302582@main, we were using a single CoreAudioCaptureUnit so getting the
deviceID in MockAudioCaptureInternalUnit::set was ok.
Now that we use on macOS a different CoreAudioCaptureUnit when echoCancellation
is off, we have the following issue:
- TestWebKitAPI.WebKit2.CrashGPUProcessAfterApplyingConstraints starts
capturing microphone.
- Echo cancellation is turned off
- GPUProcess is terminated and will restart to restart capturing microphone
- When restarting to capture, the default CoreAudioCaptureUnit is not set up as
echoCancellation is off, so the deviceID is not set
- This triggers a debug assert in MockAudioCaptureInternalUnit::set.
To fix that issue, we make sure in CoreAudioCaptureSource::createForTesting to
populate the microphone deviceID, that we set in MockRealtimeMediaSourceCenter
for microphones.
This ensures that MockAudioCaptureInternalUnit::set is provided that ID.
The MockAudioCaptureInternalUnit can then get the device using
MockRealtimeMediaSourceCenter::mockMicrophoneFromDeviceID.
Canonical link: https://commits.webkit.org/302722@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications