Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b3b04b37ff697c9113b5e306b3d08b84270e6eda
https://github.com/WebKit/WebKit/commit/b3b04b37ff697c9113b5e306b3d08b84270e6eda
Author: Philippe Normand <[email protected]>
Date: 2026-07-19 (Sun, 19 Jul 2026)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp
M
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
M
Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameConverter.cpp
M Source/WebCore/platform/graphics/gstreamer/GUniquePtrGStreamer.h
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.h
M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h
M Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.h
M
Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp
M
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp
Log Message:
-----------
[LibWebRTC][GStreamer] Improvements in video encoder and decoder wrappers
https://bugs.webkit.org/show_bug.cgi?id=319502
Reviewed by Xabier Rodriguez-Calvar.
Several fixes were needed in the video encoder and decoder libwebrtc wrappers,
notably when
determining and testing the codec mime-types. The encoder framerate is also now
capped to 60 fps.
Also, as part of this patch video frames now carry the PlatforVideoColorspace
information in their caps
and also potentially as metadata.
* Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::captureCanvas):
* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp:
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::colorimetryFromColorSpace):
(WebCore::fillVideoInfoColorimetryFromColorSpace):
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:
* Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameConverter.cpp:
(WebCore::GStreamerVideoFrameConverter::Pipeline::run):
(WebCore::GStreamerVideoFrameConverter::convert):
* Source/WebCore/platform/graphics/gstreamer/GUniquePtrGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::videoFrameForCurrentTime):
* Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp:
(WebCore::GStreamerVideoEncoder::encodeSync):
* Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::VideoFrame::createFromPixelBuffer):
(WebCore::VideoFrameGStreamer::create):
(WebCore::VideoFrameGStreamer::createFromPixelBuffer):
(WebCore::VideoFrameGStreamer::VideoFrameGStreamer):
(WebCore::VideoFrameGStreamer::setMetadata):
(WebCore::VideoFrameGStreamer::convert):
(WebCore::VideoFrameGStreamer::nativeColorSpace const):
(WebCore::VideoFrameGStreamer::setMetadataAndContentHint): Deleted.
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.cpp:
(videoFrameMetadataGetInfo):
(webkitGstBufferAddVideoFrameMetadata):
(webkitGstBufferSetVideoFrameMetadata):
(webkitGstBufferGetNativeColorSpace):
* Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.h:
*
Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:
(WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer):
*
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:
(WebCore::GStreamerVideoDecoderFactory::Create):
*
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp:
(WebCore::GStreamerVideoEncoderFactory::Create):
*
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:
(WebCore::convertLibWebRTCVideoFrameToGStreamerSample):
(WebCore::GStreamerVideoFrameLibWebRTC::ToI420):
*
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeIncomingVideoSourceLibWebRTC::OnFrame):
*
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeOutgoingVideoSourceLibWebRTC::videoFrameAvailable):
(WebCore::RealtimeOutgoingVideoSourceLibWebRTC::createBlackFrame):
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
(WebKit::LibWebRTCProvider::LibWebRTCProvider):
Canonical link: https://commits.webkit.org/317507@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications