[webkit-changes] [WebKit/WebKit] f5bc5e: [GStreamer] GstVideoFrame leaks
Philippe Normand
noreply at github.com
Tue May 21 02:57:02 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f5bc5e55ae85bcd192d63e135c7007999c2f7f2a
https://github.com/WebKit/WebKit/commit/f5bc5e55ae85bcd192d63e135c7007999c2f7f2a
Author: Philippe Normand <philn at igalia.com>
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
More information about the webkit-changes
mailing list