Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  0055.patch   Sprache: unbekannt

 
From: Michael Froman <mjfroman@mac.com>
Date: Thu, 19 May 2022 15:32:32 -0500
Subject: Bug 1772380 - Build 1766646 - (fix-c89fdd716c) fixes for the
 refactored PlatformThread API;r?mjf

---
 .../video_capture/linux/device_info_v4l2.cc   | 20 ++++++-------------
 .../video_capture/linux/device_info_v4l2.h    |  3 +--
 2 files changed, 7 insertions(+), 16 deletions(-)

diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc
index c5d33ff9a4..04caaea592 100644
--- a/modules/video_capture/linux/device_info_v4l2.cc
+++ b/modules/video_capture/linux/device_info_v4l2.cc
@@ -151,11 +151,6 @@ int DeviceInfoV4l2::ProcessInotifyEvents()
     return 0;
 }
 
-void DeviceInfoV4l2::InotifyEventThread(void* obj)
-{
-    static_cast<DeviceInfoLinux*> (obj)->InotifyProcess();
-}
-
 void DeviceInfoV4l2::InotifyProcess()
 {
     _fd_v4l = inotify_init();
@@ -181,16 +176,14 @@ void DeviceInfoV4l2::InotifyProcess()
 
 DeviceInfoV4l2::DeviceInfoV4l2() : DeviceInfoImpl()
 #ifdef WEBRTC_LINUX
-    , _inotifyEventThread(new rtc::PlatformThread(
-                            InotifyEventThread, this, "InotifyEventThread"))
     , _isShutdown(false)
 #endif
 {
 #ifdef WEBRTC_LINUX
-    if (_inotifyEventThread)
-    {
-        _inotifyEventThread->Start();
-    }
+  _inotifyEventThread = rtc::PlatformThread::SpawnJoinable(
+      [this] {
+        InotifyProcess();
+      }, "InotifyEventThread");
 #endif
 }
 
@@ -202,9 +195,8 @@ DeviceInfoV4l2::~DeviceInfoV4l2() {
 #ifdef WEBRTC_LINUX
     _isShutdown = true;
 
-    if (_inotifyEventThread) {
-        _inotifyEventThread->Stop();
-        _inotifyEventThread = nullptr;
+    if (!_inotifyEventThread.empty()) {
+      _inotifyEventThread.Finalize();
     }
 #endif
 }
diff --git a/modules/video_capture/linux/device_info_v4l2.h b/modules/video_capture/linux/device_info_v4l2.h
index 119cb07ab8..0bec3eb765 100644
--- a/modules/video_capture/linux/device_info_v4l2.h
+++ b/modules/video_capture/linux/device_info_v4l2.h
@@ -60,8 +60,7 @@ class DeviceInfoV4l2 : public DeviceInfoImpl {
   int EventCheck(int fd);
   int HandleEvents(int fd);
   int ProcessInotifyEvents();
-  std::unique_ptr<rtc::PlatformThread> _inotifyEventThread;
-  static void InotifyEventThread(void*);
+  rtc::PlatformThread _inotifyEventThread;
   void InotifyProcess();
   int _fd_v4l, _fd_dev, _wd_v4l, _wd_dev; /* accessed on InotifyEventThread thread */
   std::atomic<bool> _isShutdown;

[ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge