Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6c89fdb56e0a2fad75f5cf3fbf55da9e32229144
https://github.com/WebKit/WebKit/commit/6c89fdb56e0a2fad75f5cf3fbf55da9e32229144
Author: Jean-Yves Avenard <[email protected]>
Date: 2026-06-23 (Tue, 23 Jun 2026)
Changed paths:
M Source/WebCore/Modules/mediasource/MediaSource.cpp
M Source/WebCore/Modules/mediasource/MediaSource.h
M Source/WebCore/Modules/mediasource/SourceBuffer.cpp
M Source/WebCore/Modules/mediasource/SourceBuffer.h
M Source/WebCore/platform/graphics/MediaSourcePrivate.cpp
M Source/WebCore/platform/graphics/MediaSourcePrivate.h
M Source/WebCore/platform/graphics/MediaSourcePrivateClient.h
M Source/WebCore/platform/graphics/SourceBufferPrivate.cpp
M Source/WebCore/platform/graphics/SourceBufferPrivate.h
M Source/WebKit/CMakeLists.txt
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources-output.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp
M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h
M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.messages.in
M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp
M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h
M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
M Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp
M Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h
R
Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemoteMessageReceiver.h
R
Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemoteMessageReceiver.messages.in
M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp
M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h
Log Message:
-----------
[MSE] Move MediaSourceClient::waitForTarget to MediaSourcePrivate only
https://bugs.webkit.org/show_bug.cgi?id=317587
rdar://180297140
Reviewed by Youenn Fablet.
Originally, the MediaSource object was the source of truth object to
determine the buffered ranges as contained by all the SourceBuffers.
Before a seek could proceeed we had to ensure buffered content was present
at the seek target.
The MediaSourcePrivate is now the source of truth for buffered range
calculations, we no longer need to jump back to the MediaSource and its
running thread (main or worker). We can directly handle the waitForTarget
on the MediaSourcePrivate and remove now uncessary code.
No observable changes, covered by existing tests.
* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::currentTime const):
(WebCore::MediaSource::monitorSourceBuffers):
(WebCore::MediaSource::stop):
(WebCore::MediaSource::onReadyStateChange):
(WebCore::MediaSource::waitForTarget): Deleted.
(WebCore::MediaSource::completeSeek): Deleted.
* Source/WebCore/Modules/mediasource/MediaSource.h:
(WebCore::MediaSource::isSeeking const): Deleted.
* Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::computeSeekTime): Deleted.
* Source/WebCore/Modules/mediasource/SourceBuffer.h:
* Source/WebCore/platform/graphics/MediaSourcePrivate.cpp:
(WebCore::MediaSourcePrivate::waitForTarget):
(WebCore::MediaSourcePrivate::cancelPendingWaitForTarget):
(WebCore::MediaSourcePrivate::canCompleteWaitForTarget const):
(WebCore::MediaSourcePrivate::completeWaitForTarget):
(WebCore::MediaSourcePrivate::tryCompleteWaitForTarget):
(WebCore::MediaSourcePrivate::updateBufferedRanges):
(WebCore::MediaSourcePrivate::currentTime const):
* Source/WebCore/platform/graphics/MediaSourcePrivate.h:
* Source/WebCore/platform/graphics/MediaSourcePrivateClient.h:
* Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::computeSeekTime):
* Source/WebCore/platform/graphics/SourceBufferPrivate.h:
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:
(WebKit::RemoteMediaSourceProxy::cancelPendingWaitForTarget):
(WebKit::RemoteMediaSourceProxy::waitForTarget): Deleted.
* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h:
* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.messages.in:
* Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::computeSeekTime): Deleted.
* Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
* Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage):
* Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:
(WebKit::MediaSourcePrivateRemote::MediaSourcePrivateRemote):
(WebKit::MediaSourcePrivateRemote::~MediaSourcePrivateRemote):
(WebKit::MediaSourcePrivateRemote::cancelPendingWaitForTarget):
(WebKit::MediaSourcePrivateRemote::MessageReceiver::client const): Deleted.
(WebKit::MediaSourcePrivateRemote::MessageReceiver::proxyWaitForTarget):
Deleted.
(WebKit::MediaSourcePrivateRemote::MessageReceiver::MessageReceiver): Deleted.
* Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h:
* Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemoteMessageReceiver.h:
Removed.
*
Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemoteMessageReceiver.messages.in:
Removed.
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::computeSeekTime): Deleted.
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h:
Canonical link: https://commits.webkit.org/315668@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications