Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2b438524716502ed500bcac9bc8af5fa4aa7927e
https://github.com/WebKit/WebKit/commit/2b438524716502ed500bcac9bc8af5fa4aa7927e
Author: Jean-Yves Avenard <[email protected]>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M LayoutTests/ipc/cocoa/videoEncode.html
M LayoutTests/platform/mac/TestExpectations
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameAlgorithms.cpp
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/TrackInfo.h
M Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp
M Source/WebCore/platform/cocoa/CoreVideoSoftLink.h
A Source/WebCore/platform/graphics/PlatformVideoChromaLocation.h
M Source/WebCore/platform/graphics/PlatformVideoColorSpace.cpp
M Source/WebCore/platform/graphics/PlatformVideoColorSpace.h
M
Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp
M Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.h
M Source/WebCore/platform/graphics/cocoa/CMUtilities.mm
M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.cpp
M
Source/WebCore/platform/mediastream/cocoa/RealtimeOutgoingVideoSourceCocoa.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCVideoFrameUtilities.cpp
M Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp
M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Tools/TestWebKitAPI/Tests/WebCore/cocoa/CoreMediaUtilities.mm
Log Message:
-----------
media/media-source/media-source-video-renders.html is constant
ImageOnlyfailure
https://bugs.webkit.org/show_bug.cgi?id=252322
rdar://105502071
Reviewed by Eric Carlson.
Chroma location information was lost during the IPC serialisation. The file
stated Centre and so VideoToolbox defaulted to Left instead.
Fly-by: CVFieldCount/CVFieldDetail information was lost, we add it.
CVPixelAspectRatio was a rational that we converted to floats internally,
leading to small
innacuracies. We now use integer spacings instead (video in test AR was set as
1.185185...:1 where it should have been 32:27)
PlatformVideoColorSpace gaining a chromaLocation member makes the hand-written
colorSpace literal in ipc/cocoa/videoEncode.html incomplete, and coreipc.js's
serializer throws on a missing member; give it an absent chromaLocation.
Test: Tools/TestWebKitAPI/Tests/WebCore/cocoa/CoreMediaUtilities.mm
* LayoutTests/ipc/cocoa/videoEncode.html:
* LayoutTests/platform/mac/TestExpectations:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp:
(WebCore::WebCodecsVideoFrame::create):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameAlgorithms.cpp:
(WebCore::videoFramePickColorSpace):
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/TrackInfo.h:
(WebCore::VideoInfo::fieldCount const):
(WebCore::VideoInfo::fieldDetail const):
* Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp:
* Source/WebCore/platform/cocoa/CoreVideoSoftLink.h:
* Source/WebCore/platform/graphics/PlatformVideoChromaLocation.h: Copied from
Source/WebCore/platform/graphics/PlatformVideoColorSpace.h.
* Source/WebCore/platform/graphics/PlatformVideoColorSpace.cpp:
(WebCore::operator<<):
(WebCore::overrideVideoColorSpaceAsNeeded):
* Source/WebCore/platform/graphics/PlatformVideoColorSpace.h:
(WebCore::PlatformVideoColorSpace::isValid const):
* Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp:
(WebCore::colorSpaceFromFormatDescription):
(WebCore::fieldCountFromFormatDescription):
(WebCore::fieldDetailFromFormatDescription):
* Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.h:
* Source/WebCore/platform/graphics/cocoa/CMUtilities.mm:
(WebCore::createExtensionsDictionary):
(WebCore::convertToCMChromaLocation):
(WebCore::convertToCMFieldDetail):
(WebCore::createFormatDescriptionFromTrackInfo):
(WebCore::createVideoInfoFromFormatDescription):
(WebCore::attachColorSpaceToPixelBuffer):
(WebCore::computeVideoFrameColorSpace):
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.cpp:
(WebCore::LibWebRTCVPXInternalVideoEncoder::encode):
(WebCore::LibWebRTCVPXInternalVideoEncoder::OnEncodedImage):
*
Source/WebCore/platform/mediastream/cocoa/RealtimeOutgoingVideoSourceCocoa.cpp:
(WebCore::RealtimeOutgoingVideoSourceCocoa::videoFrameAvailable):
*
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCVideoFrameUtilities.cpp:
(WebCore::colorSpaceFromLibWebRTCColorSpace):
* Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.cpp:
(WebCore::defaultVPXColorSpace):
*
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeOutgoingVideoSourceLibWebRTC::videoFrameAvailable):
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::createEncoder):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Tools/TestWebKitAPI/Tests/WebCore/cocoa/CoreMediaUtilities.mm:
(TestWebKitAPI::TEST(CMUtilities, ChromaLocationRoundTrip)):
(TestWebKitAPI::TEST(CMUtilities, AbsentChromaLocationStaysAbsent)):
(TestWebKitAPI::TEST(CMUtilities,
ChromaLocationSurvivesFormatDescriptionRoundTrip)):
(TestWebKitAPI::TEST(CMUtilities, FieldCountAndDetailRoundTrip)):
(TestWebKitAPI::TEST(CMUtilities, AbsentFieldInfoStaysAbsent)):
(TestWebKitAPI::TEST(CMUtilities, PixelAspectRatioUsesIntegerSpacings)):
(TestWebKitAPI::TEST(CMUtilities, SquarePixelAspectRatioEmitsNoExtension)):
Canonical link: https://commits.webkit.org/320050@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications