[webkit-changes] [WebKit/WebKit] 05edf3: Make sure LibWebRTCCodecs is correctly configured ...

youennf noreply at github.com
Wed Jan 4 04:22:37 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 05edf32b39648ad45e37fb5a9b2f3d5292915cff
      https://github.com/WebKit/WebKit/commit/05edf32b39648ad45e37fb5a9b2f3d5292915cff
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
    M Source/WebKit/WebProcess/GPU/GPUProcessConnection.h
    M Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm

  Log Message:
  -----------
  Make sure LibWebRTCCodecs is correctly configured in WebCodecs only code path
https://bugs.webkit.org/show_bug.cgi?id=250000
rdar://103582757

Reviewed by Eric Carlson.

We were only setting the use of remote frames in peer connection code path, but not WebCodecs.
Instead, we now initialize LibWebRTCCodecs remote frame use for each web page.
Since we cannot easily change the callbacks when set since they are used in background threads,
we are allowing to set the callbacks but not unset them to null.

We are now calling LibWebRTCCodecs::setCallbacks at WebPage initialization time.
For that matter, we can no longer create a GPUProcess connection to get VP9 info.
What we do is setting LibWebRTCCodecs VP9 info when the GPUProcess connection is created.

Covered by WebCodec tests exercising decoders.

* Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.h:
* Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp:
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::setCallbacks):
(WebKit::LibWebRTCCodecs::createDecoderInternal):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
(WebKit::LibWebRTCProvider::createPeerConnection):
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformInitialize):

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




More information about the webkit-changes mailing list