[webkit-changes] [WebKit/WebKit] c015a4: [GStreamer] Video frame metadata handling fixes

Philippe Normand noreply at github.com
Thu Jan 9 06:40:09 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c015a4a405d1bb7aa67d7cebb50e281dd55c5623
      https://github.com/WebKit/WebKit/commit/c015a4a405d1bb7aa67d7cebb50e281dd55c5623
  Author: Philippe Normand <philn at igalia.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp

  Log Message:
  -----------
  [GStreamer] Video frame metadata handling fixes
https://bugs.webkit.org/show_bug.cgi?id=285336

Reviewed by Xabier Rodriguez-Calvar.

We now make sure buffers are writable before adding GstMeta on them and also if the buffers are
stored within samples, make sure the samples are writable before updating them.

These issues were detected when using getDisplayMedia with pipewire, the capturer sink was emitting
these warnings: free_priv_data: object finalizing but still has 1 parents (object:0x7fc534018ca0).

* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::VideoFrameGStreamer::createFromPixelBuffer):
(WebCore::VideoFrameGStreamer::VideoFrameGStreamer):
* Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.cpp:
(webkitGstBufferSetVideoFrameTimeMetadata):
* Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp:
(WebCore::GStreamerCapturer::createSource):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerIncomingTrackProcessor.cpp:
(WebCore::GStreamerIncomingTrackProcessor::installRtpBufferPadProbe):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list