Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 082067e37acd774037dc66d5f3e2dd4cfe66a3f0
      
https://github.com/WebKit/WebKit/commit/082067e37acd774037dc66d5f3e2dd4cfe66a3f0
  Author: Jean-Yves Avenard <j...@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@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@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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to