Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 755ea5bdabcb1ab6b7e6135f7de2370f9cbe4909
      
https://github.com/WebKit/WebKit/commit/755ea5bdabcb1ab6b7e6135f7de2370f9cbe4909
  Author: Youenn Fablet <you...@apple.com>
  Date:   2025-09-15 (Mon, 15 Sep 2025)

  Changed paths:
    M 
LayoutTests/fast/mediastream/microphone-interruption-and-audio-session.html
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebCore/Modules/audiosession/DOMAudioSession.cpp
    M Source/WebCore/platform/audio/AudioSession.cpp
    M Source/WebCore/platform/audio/AudioSession.h
    M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm
    M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp
    M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp
    M 
Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp
    M Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.cpp

  Log Message:
  -----------
  REGRESSION (287736@main?): [ iOS ] 
fast/mediastream/microphone-interruption-and-audio-session.html is constantly 
failing.
https://bugs.webkit.org/show_bug.cgi?id=287033
rdar://144177133

Reviewed by Jean-Yves Avenard.

The test is flaky as we sometimes recreate the GPUProcess and the 
CoreAudioCaptureSourceFactory will register itself as an interruption observer 
to the dummy AudioSession.
Instead, we are now having a singleton set of interruption observers, used by 
AudioSession objects when being interrupted/ending interruptions.
Only the shared AudioSession is expected to being interrupted/ending 
interruptions, so there should be no issue with several AudioSessions doing 
interruptions in parallel.
We also update the test to make sure capture tracks are stopped explicitly.

* LayoutTests/fast/mediastream/microphone-interruption-and-audio-session.html:
* LayoutTests/platform/ios/TestExpectations:
* Source/WebCore/Modules/audiosession/DOMAudioSession.cpp:
(WebCore::DOMAudioSession::DOMAudioSession):
(WebCore::DOMAudioSession::~DOMAudioSession):
* Source/WebCore/platform/audio/AudioSession.cpp:
(WebCore::audioSessionInterruptionObserversSingleton):
(WebCore::AudioSession::addInterruptionObserver):
(WebCore::AudioSession::removeInterruptionObserver):
(WebCore::AudioSession::beginInterruption):
(WebCore::AudioSession::endInterruption):
(WebCore::AudioSession::activeStateChanged):
* Source/WebCore/platform/audio/AudioSession.h:
* Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::MediaSessionManageriOS):
(WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSourceFactory::CoreAudioCaptureSourceFactory):
(WebCore::CoreAudioCaptureSourceFactory::~CoreAudioCaptureSourceFactory):
* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::RemoteAudioSessionProxyManager):
(WebKit::RemoteAudioSessionProxyManager::~RemoteAudioSessionProxyManager):
(WebKit::RemoteAudioSessionProxyManager::beginInterruptionRemote):
(WebKit::RemoteAudioSessionProxyManager::endInterruptionRemote):
* 
Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManagerUnit::RemoteAudioMediaStreamTrackRendererInternalUnitManagerUnit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManagerUnit::~RemoteAudioMediaStreamTrackRendererInternalUnitManagerUnit):
* Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.cpp:
(WebKit::RemoteAudioSession::RemoteAudioSession):
(WebKit::RemoteAudioSession::~RemoteAudioSession):
(WebKit::RemoteAudioSession::beginInterruptionRemote):
(WebKit::RemoteAudioSession::endInterruptionRemote):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to