Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 05edf32b39648ad45e37fb5a9b2f3d5292915cff
https://github.com/WebKit/WebKit/commit/05edf32b39648ad45e37fb5a9b2f3d5292915cff
Author: Youenn Fablet <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes