Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5f3622e3b24527b6a58d4b50c69f1a68e4709eea https://github.com/WebKit/WebKit/commit/5f3622e3b24527b6a58d4b50c69f1a68e4709eea Author: Jean-Yves Avenard <j...@apple.com> Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths: M LayoutTests/platform/mac-wk2/TestExpectations M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h M Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemoteMessageReceiver.messages.in Log Message: ----------- NEW TEST [ MacOS ] imported/w3c/web-platform-tests/media-source/dedicated-worker/mediasource-worker-detach-element.html is a flaky crash https://bugs.webkit.org/show_bug.cgi?id=269871 rdar://123404489 Reviewed by Youenn Fablet. When shutting down the RemoteMediaSourceProxy in the GPUP we would send a asynchronous message to the MediaSourcePrivateRemote in the WP which in turn would have disconnected all the SourceBufferPrivateRemote. However, it was possible at this stage that the MediaSource in a worker to itself have started to shutdown and detaching all existing SourceBuffer. At this stage, the MediaSourcePrivateRemote::m_sourceBuffers would have been emptied and be unable to disconnect them. So we split the shutdown of the RemoteMediaSourceProxy and of the RemoteSourceBufferProxy so that they each inform their respective remotes to start shutting down. Similar to what the RemoteMediaSourceProxy does when being shutdown by the RemoteMediaPlayerProxy, it will now tell all RemoteSourceBufferProxies to shutdown, which in turn will shutdown the source buffers in the web process. Only once that message been sent that it will continue tearing down the proxies. Covered by re-enabled test. * LayoutTests/platform/mac-wk2/TestExpectations: * Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp: (WebKit::RemoteMediaSourceProxy::disconnect): (WebKit::RemoteMediaSourceProxy::shutdown): * Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp: (WebKit::RemoteSourceBufferProxy::shutdown): * Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h: * Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp: (WebKit::MediaSourcePrivateRemote::MessageReceiver::mediaSourcePrivateShuttingDown): * Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp: (WebKit::SourceBufferPrivateRemote::removedFromMediaSource): (WebKit::SourceBufferPrivateRemote::MessageReceiver::sourceBufferPrivateShuttingDown): * Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h: * Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemoteMessageReceiver.messages.in: Canonical link: https://commits.webkit.org/275268@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