We already cherry-picked this when we vendored f30c044cf9. Upstream commit: https://webrtc.googlesource.com/src/+/995688c8e85b520d50961486abbe0cc03eae9558 Revert "more p2p cleanups" This reverts commit f30c044cf9bd06f91017c171d98690094ce6d88b. Reason for revert: breaks roll to chromium: https://ci.chromium.org/ui/p/chromium/builders/try/mac_chromium_compile_dbg_ng/2290104/overview Original change's description: > more p2p cleanups > > Move test code from p2p/base and rtc_base/ into p2p/test/ > This p2p/base much less crowded and > clarifies that the rtc_base/nat* is in fact only test code. > > BUG=webrtc:0 > > Change-Id: I4d14fae24cb0eff6783962f4b4483b560367ca5d > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/378900 > Commit-Queue: Jonas Oreland <jonaso@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Auto-Submit: Jonas Oreland <jonaso@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#43995} Bug: webrtc:0 Change-Id: I6c79fa85f53fdb9a1dacbe38911771f9a4289c76 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/379040 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/main@{#43999} Differential Revision: https://phabricator.services.mozilla.com/D244009
74 lines
2.4 KiB
Diff
74 lines
2.4 KiB
Diff
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;
|