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

Reply via email to