Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8f1f856797a83cee30108eb6d40698879f445285
https://github.com/WebKit/WebKit/commit/8f1f856797a83cee30108eb6d40698879f445285
Author: Jean-Yves Avenard <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes