[webkit-changes] [WebKit/WebKit] ab8acb: [GStreamer][MediaStream] Capturer pipelines are le...
Philippe Normand
noreply at github.com
Mon Jan 8 11:00:52 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ab8acb6fab4d5ef60e07f7a55cea2cae452cfca5
https://github.com/WebKit/WebKit/commit/ab8acb6fab4d5ef60e07f7a55cea2cae452cfca5
Author: Philippe Normand <philn at igalia.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDevice.h
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h
M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp
M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp
Log Message:
-----------
[GStreamer][MediaStream] Capturer pipelines are leaking
https://bugs.webkit.org/show_bug.cgi?id=267043
Reviewed by Xabier Rodriguez-Calvar.
Make sure to teardown all GStreamer objects held by capturers. Also in the capture device manager we
now ensure the GstBus is not being monitored by more than one observers. Several Caps and TagList
leaks were also fixed.
* Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
(WebCore::GStreamerAudioCaptureSource::capabilities):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDevice.h:
(WebCore::GStreamerCaptureDevice::caps const):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:
(WebCore::GStreamerCaptureDeviceManager::teardown):
(WebCore::GStreamerCaptureDeviceManager::registerCapturer):
(WebCore::GStreamerCaptureDeviceManager::unregisterCapturer):
(WebCore::GStreamerCaptureDeviceManager::refreshCaptureDevices):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp:
(WebCore::GStreamerCapturer::~GStreamerCapturer):
(WebCore::GStreamerCapturer::tearDown):
(WebCore::GStreamerCapturer::caps):
(WebCore::GStreamerCapturer::stop):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(mediaStreamTrackPrivateGetTags):
(webkitMediaStreamNew):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
(WebCore::GStreamerVideoCaptureSource::generatePresets):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
(WebCore::GStreamerVideoCapturer::getBestFormat): Deleted.
* Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp:
(WebCore::MockRealtimeAudioSourceGStreamer::stopProducingData):
Canonical link: https://commits.webkit.org/272776@main
More information about the webkit-changes
mailing list