[webkit-changes] [WebKit/WebKit] 06e4a7: Validate WebCodecs encoder HEVC codec string param...

youennf noreply at github.com
Wed Sep 6 13:26:35 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 06e4a711b6fddcbdc963b31843579570e5636259
      https://github.com/WebKit/WebKit/commit/06e4a711b6fddcbdc963b31843579570e5636259
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    A LayoutTests/http/wpt/webcodecs/hevc-encoder-config.https.any-expected.txt
    A LayoutTests/http/wpt/webcodecs/hevc-encoder-config.https.any.html
    A LayoutTests/http/wpt/webcodecs/hevc-encoder-config.https.any.js
    M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.worker-expected.txt
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm
    M Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h

  Log Message:
  -----------
  Validate WebCodecs encoder HEVC codec string parameters
https://bugs.webkit.org/show_bug.cgi?id=261156
rdar://114980549

Reviewed by Eric Carlson.

Pass the codec string from WebProcess to GPUProcess when creating an encoder.
Have LibWebRTCCodecsProxy::createEncoder validate the codec string before instantiating one.
Add a test to cover this case.
This test should be removed once https://github.com/web-platform-tests/wpt/pull/41540 is merged.

* LayoutTests/http/wpt/webcodecs/hevc-encoder-config.https.any-expected.txt: Added.
* LayoutTests/http/wpt/webcodecs/hevc-encoder-config.https.any.html: Added.
* LayoutTests/http/wpt/webcodecs/hevc-encoder-config.https.any.js: Added.
(validButUnsupportedConfigs.forEach.entry.promise_test.async t):
* LayoutTests/platform/glib/TestExpectations:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::validateEncoderCodecString):
(WebKit::LibWebRTCCodecsProxy::createEncoder):
* Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp:
(WebKit::RemoteVideoCodecFactory::createEncoder):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::createEncoder):
(WebKit::LibWebRTCCodecs::createEncoderAndWaitUntilReady):
(WebKit::LibWebRTCCodecs::createEncoderInternal):
(WebKit::LibWebRTCCodecs::gpuProcessConnectionDidClose):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h:

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




More information about the webkit-changes mailing list