summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/moz-patch-stack/0022.patch
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /third_party/libwebrtc/moz-patch-stack/0022.patch
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/moz-patch-stack/0022.patch')
-rw-r--r--third_party/libwebrtc/moz-patch-stack/0022.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/third_party/libwebrtc/moz-patch-stack/0022.patch b/third_party/libwebrtc/moz-patch-stack/0022.patch
new file mode 100644
index 0000000000..59784f8734
--- /dev/null
+++ b/third_party/libwebrtc/moz-patch-stack/0022.patch
@@ -0,0 +1,98 @@
+From: Alex Chronopoulos <achronop@gmail.com>
+Date: Wed, 18 Sep 2019 13:16:00 +0000
+Subject: Bug 1572281 - Remove audio device change notifications from video
+ capture in Linux. r=dminor
+
+Video capture used to provide device change notifications for audio and video devices. From now on, CubebDeviceEnumerator will provide audio device change notifications thus video capture is updated to notify only changes of the video device. This is the Linux part.
+
+Differential Revision: https://phabricator.services.mozilla.com/D46272
+Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/7bf7263db30b794139332691f4fbc98b4bfcfdd7
+---
+ .../video_capture/linux/device_info_v4l2.cc | 28 ++-----------------
+ 1 file changed, 3 insertions(+), 25 deletions(-)
+
+diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc
+index d836747b4a..77968b7eaf 100644
+--- a/modules/video_capture/linux/device_info_v4l2.cc
++++ b/modules/video_capture/linux/device_info_v4l2.cc
+@@ -44,7 +44,7 @@ namespace videocapturemodule {
+ void DeviceInfoV4l2::HandleEvent(inotify_event* event, int fd)
+ {
+ if (event->mask & IN_CREATE) {
+- if (fd == _fd_v4l || fd == _fd_snd) {
++ if (fd == _fd_v4l) {
+ DeviceChange();
+ } else if ((event->mask & IN_ISDIR) && (fd == _fd_dev)) {
+ if (_wd_v4l < 0) {
+@@ -56,25 +56,15 @@ void DeviceInfoV4l2::HandleEvent(inotify_event* event, int fd)
+ DeviceChange();
+ }
+ }
+- if (_wd_snd < 0) {
+- usleep(5*1000);
+- _wd_snd = inotify_add_watch(_fd_snd, "/dev/snd/by-path/", IN_CREATE | IN_DELETE | IN_DELETE_SELF);
+- if (_wd_snd >= 0) {
+- DeviceChange();
+- }
+- }
+ }
+ } else if (event->mask & IN_DELETE) {
+- if (fd == _fd_v4l || fd == _fd_snd) {
++ if (fd == _fd_v4l) {
+ DeviceChange();
+ }
+ } else if (event->mask & IN_DELETE_SELF) {
+ if (fd == _fd_v4l) {
+ inotify_rm_watch(_fd_v4l, _wd_v4l);
+ _wd_v4l = -1;
+- } else if (fd == _fd_snd) {
+- inotify_rm_watch(_fd_snd, _wd_snd);
+- _wd_snd = -1;
+ } else {
+ assert(false);
+ }
+@@ -141,11 +131,6 @@ int DeviceInfoV4l2::ProcessInotifyEvents()
+ break;
+ }
+ }
+- if (EventCheck(_fd_snd) > 0) {
+- if (HandleEvents(_fd_snd) < 0) {
+- break;
+- }
+- }
+ }
+ return 0;
+ }
+@@ -158,11 +143,9 @@ void DeviceInfoV4l2::InotifyEventThread(void* obj)
+ void DeviceInfoV4l2::InotifyProcess()
+ {
+ _fd_v4l = inotify_init();
+- _fd_snd = inotify_init();
+ _fd_dev = inotify_init();
+- if (_fd_v4l >= 0 && _fd_snd >= 0 && _fd_dev >= 0) {
++ if (_fd_v4l >= 0 && _fd_dev >= 0) {
+ _wd_v4l = inotify_add_watch(_fd_v4l, "/dev/v4l/by-path/", IN_CREATE | IN_DELETE | IN_DELETE_SELF);
+- _wd_snd = inotify_add_watch(_fd_snd, "/dev/snd/by-path/", IN_CREATE | IN_DELETE | IN_DELETE_SELF);
+ _wd_dev = inotify_add_watch(_fd_dev, "/dev/", IN_CREATE);
+ ProcessInotifyEvents();
+
+@@ -170,16 +153,11 @@ void DeviceInfoV4l2::InotifyProcess()
+ inotify_rm_watch(_fd_v4l, _wd_v4l);
+ }
+
+- if (_wd_snd >= 0) {
+- inotify_rm_watch(_fd_snd, _wd_snd);
+- }
+-
+ if (_wd_dev >= 0) {
+ inotify_rm_watch(_fd_dev, _wd_dev);
+ }
+
+ close(_fd_v4l);
+- close(_fd_snd);
+ close(_fd_dev);
+ }
+ }
+--
+2.34.1
+