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