[webkit-changes] [WebKit/WebKit] d686d8: Unsupported codecs should trigger WebCodecs to clo...

youennf noreply at github.com
Fri Oct 27 01:52:23 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d686d8cda3e314c96462325828985ba322c9bf25
      https://github.com/WebKit/WebKit/commit/d686d8cda3e314c96462325828985ba322c9bf25
  Author: Youenn Fablet <youennf at gmail.com>
  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




More information about the webkit-changes mailing list