[webkit-changes] [WebKit/WebKit] 082067: SourceBuffer will always perform a sync call to GP...
Jean-Yves Avenard
noreply at github.com
Wed Jul 24 19:19:46 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 082067e37acd774037dc66d5f3e2dd4cfe66a3f0
https://github.com/WebKit/WebKit/commit/082067e37acd774037dc66d5f3e2dd4cfe66a3f0
Author: Jean-Yves Avenard <jya at apple.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
A LayoutTests/media/media-source/media-managedmse-seek-and-evictable-expected.txt
A LayoutTests/media/media-source/media-managedmse-seek-and-evictable.html
M Source/WebCore/Modules/mediasource/SourceBuffer.cpp
M Source/WebCore/Modules/mediasource/SourceBuffer.h
M Source/WebCore/platform/graphics/SourceBufferPrivate.cpp
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
Log Message:
-----------
SourceBuffer will always perform a sync call to GPU process when there's a need to evict content.
https://bugs.webkit.org/show_bug.cgi?id=276999
rdar://132402500
Reviewed by Youenn Fablet.
Prior 275380 at main, eviction was performed synchronously and the eviction data algorithm would evict 3s of data at a time
until there was sufficient buffer space available for the appendBuffer operation to complete.
In 275380 at main, we pre-calculated how much data could be removed in total. However, the calculation incorrectly
looked at the initial 3s of removable data only. Which would make the SourceBuffer always consider that no data was evictable
preventing an asynchronous eviction to occur and instead generating a sync call to SourceBufferPrivate::evictData.
Added tests.
* LayoutTests/media/media-source/media-managedmse-seek-and-evictable-expected.txt: Added.
* LayoutTests/media/media-source/media-managedmse-seek-and-evictable.html: Added.
* Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::evictableSize const):
* Source/WebCore/Modules/mediasource/SourceBuffer.h:
* Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::seekToTime):
(WebCore::SourceBufferPrivate::computeEvictionData):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::evictableSize):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
Canonical link: https://commits.webkit.org/281326@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