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

Reply via email to