Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f1f856797a83cee30108eb6d40698879f445285
      
https://github.com/WebKit/WebKit/commit/8f1f856797a83cee30108eb6d40698879f445285
  Author: Jean-Yves Avenard <j...@apple.com>
  Date:   2025-09-10 (Wed, 10 Sep 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h
    M Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.mm

  Log Message:
  -----------
  [VideoMediaSampleRenderer] Take into account the amount on in-flight 
compressed samples when determining if we have reached enough data.
https://bugs.webkit.org/show_bug.cgi?id=298639
rdar://160256931

Reviewed by Youenn Fablet.

The calculation of how many compressed samples were pending was racy,
as soon as we decoded the first frame, it would be reset to the actual number
of frames in the compressed queue, which at the time is always 1.
The next read would then not take into account any of the in-flight waiting
for the tasks to run.

As a consequence, we would enqueue a high number of compressed frames.

* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h:
* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.mm:
(WebCore::VideoMediaSampleRenderer::areSamplesQueuesReadyForMoreMediaData 
const):
(WebCore::VideoMediaSampleRenderer::compressedSamplesCount const):
(WebCore::VideoMediaSampleRenderer::enqueueSample):
(WebCore::VideoMediaSampleRenderer::decodeNextSampleIfNeeded):
(WebCore::VideoMediaSampleRenderer::flushCompressedSampleQueue):

Canonical link: https://commits.webkit.org/299798@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