@@ -63,39 +63,10 @@ GStreamerVideoCaptureDeviceManager& GStreamerVideoCaptureDeviceManager::singleto
6363 return manager;
6464}
6565
66- void teardownGStreamerCaptureDeviceManagers ()
67- {
68- auto & audioManager = GStreamerAudioCaptureDeviceManager::singleton ();
69- audioManager.teardown ();
70-
71- auto & videoManager = GStreamerVideoCaptureDeviceManager::singleton ();
72- videoManager.teardown ();
73- }
74-
7566GStreamerCaptureDeviceManager::~GStreamerCaptureDeviceManager ()
7667{
77- teardown ();
78- }
79-
80- void GStreamerCaptureDeviceManager::teardown ()
81- {
82- GST_DEBUG_OBJECT (m_deviceMonitor.get (), " Tearing down" );
83- m_isTearingDown = true ;
84- stopMonitor ();
85- RealtimeMediaSourceCenter::singleton ().removeDevicesChangedObserver (*this );
86- m_devices.clear ();
87- m_gstreamerDevices.clear ();
88- }
89-
90- void GStreamerCaptureDeviceManager::stopMonitor ()
91- {
92- if (!m_deviceMonitor)
93- return ;
94-
95- auto bus = adoptGRef (gst_device_monitor_get_bus (m_deviceMonitor.get ()));
96- gst_bus_remove_watch (bus.get ());
97- gst_device_monitor_stop (m_deviceMonitor.get ());
98- m_deviceMonitor.clear ();
68+ if (m_deviceMonitor)
69+ gst_device_monitor_stop (m_deviceMonitor.get ());
9970}
10071
10172std::optional<GStreamerCaptureDevice> GStreamerCaptureDeviceManager::gstreamerDeviceWithUID (const String& deviceID)
@@ -116,7 +87,7 @@ const Vector<CaptureDevice>& GStreamerCaptureDeviceManager::captureDevices()
11687 std::call_once (onceFlag, [] {
11788 GST_DEBUG_CATEGORY_INIT (webkitGStreamerCaptureDeviceManagerDebugCategory, " webkitcapturedevicemanager" , 0 , " WebKit Capture Device Manager" );
11889 });
119- if (m_devices.isEmpty () && !m_isTearingDown )
90+ if (m_devices.isEmpty ())
12091 refreshCaptureDevices ();
12192
12293 return m_devices;
@@ -158,12 +129,7 @@ void GStreamerCaptureDeviceManager::addDevice(GRefPtr<GstDevice>&& device)
158129
159130void GStreamerCaptureDeviceManager::refreshCaptureDevices ()
160131{
161- GST_DEBUG_OBJECT (m_deviceMonitor.get (), " Refreshing capture devices" );
162132 m_devices.clear ();
163- m_gstreamerDevices.clear ();
164- if (m_isTearingDown)
165- return ;
166-
167133 if (!m_deviceMonitor) {
168134 m_deviceMonitor = adoptGRef (gst_device_monitor_new ());
169135
0 commit comments