From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- third_party/libwebrtc/moz-patch-stack/0070.patch | 56 ++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 third_party/libwebrtc/moz-patch-stack/0070.patch (limited to 'third_party/libwebrtc/moz-patch-stack/0070.patch') diff --git a/third_party/libwebrtc/moz-patch-stack/0070.patch b/third_party/libwebrtc/moz-patch-stack/0070.patch new file mode 100644 index 0000000000..39c7c3af5f --- /dev/null +++ b/third_party/libwebrtc/moz-patch-stack/0070.patch @@ -0,0 +1,56 @@ +From: Andreas Pehrson +Date: Mon, 5 Sep 2022 13:56:00 +0000 +Subject: Bug 1786502 - Lock access to DeviceInfo devicechange callbacks. + r=webrtc-reviewers,jib + +Differential Revision: https://phabricator.services.mozilla.com/D155365 +Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/e826dfadfe1264c59d9b13e3c17d6f75a40f5c33 +--- + modules/video_capture/video_capture.h | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/modules/video_capture/video_capture.h b/modules/video_capture/video_capture.h +index 258bc7f810..ad1b341b62 100644 +--- a/modules/video_capture/video_capture.h ++++ b/modules/video_capture/video_capture.h +@@ -16,6 +16,8 @@ + #include "modules/desktop_capture/desktop_capture_types.h" + #include "modules/video_capture/raw_video_sink_interface.h" + #include "modules/video_capture/video_capture_defines.h" ++#include "rtc_base/synchronization/mutex.h" ++#include "rtc_base/thread_annotations.h" + #include + + #if defined(ANDROID) +@@ -44,15 +46,18 @@ class VideoCaptureModule : public rtc::RefCountInterface { + virtual uint32_t NumberOfDevices() = 0; + virtual int32_t Refresh() = 0; + virtual void DeviceChange() { ++ MutexLock lock(&_inputCallbacksMutex); + for (auto inputCallBack : _inputCallBacks) { + inputCallBack->OnDeviceChange(); + } + } + virtual void RegisterVideoInputFeedBack(VideoInputFeedBack* callBack) { ++ MutexLock lock(&_inputCallbacksMutex); + _inputCallBacks.insert(callBack); + } + + virtual void DeRegisterVideoInputFeedBack(VideoInputFeedBack* callBack) { ++ MutexLock lock(&_inputCallbacksMutex); + auto it = _inputCallBacks.find(callBack); + if (it != _inputCallBacks.end()) { + _inputCallBacks.erase(it); +@@ -106,7 +111,8 @@ class VideoCaptureModule : public rtc::RefCountInterface { + + virtual ~DeviceInfo() {} + private: +- std::set _inputCallBacks; ++ Mutex _inputCallbacksMutex; ++ std::set _inputCallBacks RTC_GUARDED_BY(_inputCallbacksMutex); + }; + + // Register capture data callback +-- +2.34.1 + -- cgit v1.2.3