Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f2de760dbdc11c69e618e1839ec4decc8095b853
      
https://github.com/WebKit/WebKit/commit/f2de760dbdc11c69e618e1839ec4decc8095b853
  Author: Jean-Yves Avenard <[email protected]>
  Date:   2024-11-14 (Thu, 14 Nov 2024)

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

  Log Message:
  -----------
  WebCoreDecompression will assert if called again after error.
https://bugs.webkit.org/show_bug.cgi?id=283100
rdar://139852592

Reviewed by Eric Carlson.

In 286106@main, WebCoreDecompressionSession::decodeSample was modified to use 
the common decoding path.
The field m_lastDecodingError and m_lastDecodedSample weren't reset on each 
call.

The VideoMediaSampleRenderer could have called the WebCoreDecompressionSession 
again after an error, this is now blocked.

Covered by existing tests.

* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h:
* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.mm:
(WebCore::VideoMediaSampleRenderer::decodeNextSample): Ensure we don't call the 
WCDS again after an error until it has been flushed.
(WebCore::VideoMediaSampleRenderer::flushCompressedSampleQueue):
* Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::maybeDecodeNextSample):
(WebCore::WebCoreDecompressionSession::decodeSample): Flyby: resolve the 
promise if the decoder got flushed to indicate the frame got dropped.
(WebCore::WebCoreDecompressionSession::decodeSampleInternal): When using 
VideoDecoder's m_lastDecodingError is never set, but the promise is rejected 
instead.

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

Reply via email to