Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2cdc01c41e434f675a409059acd4f64c4f47d320
      
https://github.com/WebKit/WebKit/commit/2cdc01c41e434f675a409059acd4f64c4f47d320
  Author: Jean-Yves Avenard <j...@apple.com>
  Date:   2025-03-19 (Wed, 19 Mar 2025)

  Changed paths:
    M LayoutTests/media/vp9.html
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/mac-wk2/TestExpectations
    M LayoutTests/platform/mac/media/mediacapabilities/vp9-decodingInfo-sw.html
    M PerformanceTests/DecoderTest/DecoderTest/main.mm
    M Source/ThirdParty/libwebrtc/CMakeLists.txt
    M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp
    A 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.cpp
    A 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.h
    A 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitVP9Decoder.cpp
    A 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitVP9Decoder.h
    M Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj
    M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
    M Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.h
    M Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/GPUProcess/GPUProcess.h

  Log Message:
  -----------
  REGRESSION(279806@main): [ macOS ] media/vp9.html is a constant timeout or 
failure
https://bugs.webkit.org/show_bug.cgi?id=289952
rdar://143066944

Reviewed by Youenn Fablet.

In 287137@main we removed the VideoToolbox SW plugins as it was believed to no
longer be in use and could be replaced by a WebCoreDecompressionSession decoder 
instead.
Additionally in 279806@main, we removed the ability to register the VT SW VP9 
decoder.

While vp9 is mostly found in webm and it can be found in a MP4 container.
The removal of the VT plugins didn't impact MSE but it did impact vp9 in mp4 
CRABS
on machines that have no VP9 hardware decoder (such as intel Mac pro and iMac 
Pro)

We partially revert 287137@main to re-introduce the VP9 SW plugin and enable 
the VP9 SW decoder
on machines with HW VP9.
VP9 decoding on WK1 wasn't actually usable and is turned off by default.

Covered by existing test.

* LayoutTests/media/vp9.html: Fix typo in test.
* LayoutTests/platform/ios/TestExpectations: Skip test. Simulator doesn't have 
VP9 decoder (either software or hardware)
* LayoutTests/platform/mac-wk1/TestExpectations: Skip test. It was 
non-functional on WK1 and was incorrectly passing.
* LayoutTests/platform/mac-wk2/TestExpectations: Re-enable test.
* PerformanceTests/DecoderTest/DecoderTest/main.mm:
(main):
* Source/ThirdParty/libwebrtc/CMakeLists.txt:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.cpp:
 Added.
(webrtc::WebKitDecoderReceiver::WebKitDecoderReceiver):
(webrtc::WebKitDecoderReceiver::~WebKitDecoderReceiver):
(webrtc::WebKitDecoderReceiver::initializeFromFormatDescription):
(webrtc::WebKitDecoderReceiver::pixelBufferPool):
(webrtc::WebKitDecoderReceiver::decoderFailed):
(webrtc::WebKitDecoderReceiver::Decoded):
* 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitDecoderReceiver.h:
 Added.
* 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitVP9Decoder.cpp:
 Added.
(webrtc::registerWebKitVP9Decoder):
(webrtc::createWebKitVP9Decoder):
(webrtc::invalidateVP9Decoder):
(webrtc::finalizeVP9Decoder):
(webrtc::copyVP9DecoderDebugDescription):
(webrtc::webKitVP9DecoderFromVTDecoder):
(webrtc::startVP9DecoderSession):
(webrtc::decodeVP9DecoderFrameFromContiguousBlock):
(webrtc::decodeVP9DecoderFrame):
* 
Source/ThirdParty/libwebrtc/Source/webrtc/webkit_sdk/WebKit/WebKitVP9Decoder.h: 
Added.
* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::ensureCodecsRegistered):
* Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.h:
* Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
(WebCore::registerWebKitVP9Decoder):
(WebCore::shouldEnableSWVP9Decoder):
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::registerWebKitVP9Decoder):
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
(WebCore::LibWebRTCProvider::registerWebKitVP9Decoder):
* Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::updateGPUProcessPreferences):
* Source/WebKit/GPUProcess/GPUProcess.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to