[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