[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