[webkit-changes] [WebKit/WebKit] c294ac: REGRESSION(285115 at main): [ Mac Debug ] TestWebKitA...

youennf noreply at github.com
Thu Oct 24 12:12:29 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c294acb61de6e6bb24783f3ad4014c51c1437a05
      https://github.com/WebKit/WebKit/commit/c294acb61de6e6bb24783f3ad4014c51c1437a05
  Author: Youenn Fablet <youenn at apple.com>
  Date:   2024-10-24 (Thu, 24 Oct 2024)

  Changed paths:
    M Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.cpp
    M Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h
    M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp
    M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h
    M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp
    M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp

  Log Message:
  -----------
  REGRESSION(285115 at main): [ Mac Debug ] TestWebKitAPI.WebKit.AudioBufferSize is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=281530
rdar://137999573

Reviewed by Jer Noble.

After 285115 at main, we are using CoreAudioSharedUnit (with a mock inside) instead of a different mock unit for capture.
This makes RemoteAudioSessionProxyManager::updatePreferredBufferSizeForProcess aware that capture is ongoing, which delays updating the buffer size until capture is stopped.
This was introduced as a workaround to unbreak AirPods playback when buffer size was changing.
This is no longer an issue so we can remove the workaround.

We update MockRealtimeAudioSourceFactory to be deriving from CoreAudioCaptureSourceFactory so that it reacts to AudioSession testing interruptions.

* Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.cpp:
(WebCore::BaseAudioSharedUnit::stopRunning):
(WebCore::BaseAudioSharedUnit::audioSamplesAvailable):
(WebCore::BaseAudioSharedUnit::whenAudioCaptureUnitIsNotRunning): Deleted.
* Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h:
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSourceFactory::isAudioCaptureUnitRunning):
(WebCore::CoreAudioCaptureSourceFactory::whenAudioCaptureUnitIsNotRunning): Deleted.
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h:
* Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:
* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::updatePreferredBufferSizeForProcess):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list