Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f5bc5e55ae85bcd192d63e135c7007999c2f7f2a
      
https://github.com/WebKit/WebKit/commit/f5bc5e55ae85bcd192d63e135c7007999c2f7f2a
  Author: Philippe Normand <[email protected]>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp
    M Source/WebCore/platform/graphics/gstreamer/ImageGStreamerSkia.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp

  Log Message:
  -----------
  [GStreamer] GstVideoFrame leaks
https://bugs.webkit.org/show_bug.cgi?id=274257

Reviewed by Xabier Rodriguez-Calvar.

The ImageGStreamer no longer holds a BitmapImage, but a PlatformImagePtr. A 
BitmapImage is now
created by VideoFrameGStreamer when painting is required. The 
ImageGStreamerSkia implementation no
longer holds the mapped GstVideoFrame because that keeps un-necessary 
references and file
descriptors open, the needed plane data is copied instead. The static 
ImageDecoderGStreamer vector
now stores WeakPtrs instead of RefPtr, which semantically more correct but in 
practice makes no difference.

* Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ensureDebugCategoryIsInitialized):
(WebCore::teardownGStreamerImageDecoders):
(WebCore::ImageDecoderGStreamer::create):
(WebCore::ImageDecoderGStreamer::ImageDecoderGStreamer):
* Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/ImageGStreamer.h:
(WebCore::ImageGStreamer::create):
(WebCore::ImageGStreamer::image const):
(WebCore::ImageGStreamer::rect):
(WebCore::ImageGStreamer::createImage): Deleted.
(WebCore::ImageGStreamer::image): Deleted.
* Source/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
(WebCore::ImageGStreamer::ImageGStreamer):
* Source/WebCore/platform/graphics/gstreamer/ImageGStreamerSkia.cpp:
(WebCore::ImageGStreamer::ImageGStreamer):
* Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h:
(WebCore::MediaSampleGStreamer::sample const):
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::convertSampleToImage):
(WebCore::VideoFrame::paintInContext):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to