Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d686d8cda3e314c96462325828985ba322c9bf25
      
https://github.com/WebKit/WebKit/commit/d686d8cda3e314c96462325828985ba322c9bf25
  Author: Youenn Fablet <[email protected]>
  Date:   2023-10-27 (Fri, 27 Oct 2023)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-decoder.https.any.js
    M 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any.js
    M 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-decoder.https.any.js
    M 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.js
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp
    M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp

  Log Message:
  -----------
  Unsupported codecs should trigger WebCodecs to close encoders/decoders 
asynchronously
https://bugs.webkit.org/show_bug.cgi?id=263584
rdar://117234338

Reviewed by Eric Carlson.

We were correctly asyncrhnously failing encoders and decoders when configuring 
for supported codecs with unsupported versions.
We were still synchronously failing encoders and decoders with unknown names.

We fix this by ensuring we queue a task whenever closing the codec in the 
configure step.
We also make sure to keep the message queue blocked in that code path to ensure 
we do not process additional tasks with null internal codec.

We make consistent audio and video encoder in where they set the config as base 
config for consistency.

We update WPT tests that were not really testing this code path by:
- transforming async_test in promise_test
- making sure the flush promise rejects before the test ends.

* 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-decoder.https.any.js:
* 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any.js:
* 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-decoder.https.any.js:
* 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.js:
* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp:
(WebCore::WebCodecsAudioDecoder::configure):
* Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp:
(WebCore::WebCodecsAudioEncoder::configure):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp:
(WebCore::WebCodecsVideoDecoder::configure):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp:
(WebCore::WebCodecsVideoEncoder::configure):

Canonical link: https://commits.webkit.org/269844@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to