[webkit-changes] [WebKit/WebKit] 0bb420: [GStreamer] Misc leak fixes
Philippe Normand
noreply at github.com
Mon Dec 11 01:25:12 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0bb420a995f55481f114b16dd183ea9ed96decbd
https://github.com/WebKit/WebKit/commit/0bb420a995f55481f114b16dd183ea9ed96decbd
Author: Philippe Normand <philn at igalia.com>
Date: 2023-12-11 (Mon, 11 Dec 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h
M Source/WebCore/platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h
M Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp
M Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp
Log Message:
-----------
[GStreamer] Misc leak fixes
https://bugs.webkit.org/show_bug.cgi?id=266188
Reviewed by Xabier Rodriguez-Calvar.
The GStreamer device-related objects were leaked, along with a couple GstStream objects in the
player. There are more issues, specially in the MSE code, but that's for another time...
We now explicitely clean-up the capture device managers and the registry scanner before
de-initializing GStreamer. The FastMalloc allocator is flagged as leaked as well, as it is static
and I didn't find how to properly clean it up.
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::deinitializeGStreamer):
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::teardownGStreamerRegistryScanner):
(WebCore::GStreamerRegistryScanner::ElementFactories::hasElementForCaps const):
(WebCore::GStreamerRegistryScanner::teardown):
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h:
* Source/WebCore/platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp:
(gst_allocator_fast_malloc_init):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:
(WebCore::teardownGStreamerCaptureDeviceManagers):
(WebCore::GStreamerCaptureDeviceManager::~GStreamerCaptureDeviceManager):
(WebCore::GStreamerCaptureDeviceManager::teardown):
(WebCore::GStreamerCaptureDeviceManager::captureDevices):
(WebCore::GStreamerCaptureDeviceManager::refreshCaptureDevices):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h:
* Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:
* Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp:
Canonical link: https://commits.webkit.org/271861@main
More information about the webkit-changes
mailing list