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

Reply via email to