tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 8c2df7df005f63109c905256d5a48d231458fc0e
parent 03859aa089df8c5891e706226c931db434a778e9
Author: Michael Froman <mfroman@mozilla.com>
Date:   Thu,  9 Oct 2025 12:53:02 -0500

Bug 1993083 - Vendor libwebrtc from 4ea937a55c

Upstream commit: https://webrtc.googlesource.com/src/+/4ea937a55caaa1f28da25644abe9ae58b9176ee7
    IWYU modules/video_capture

    using
      find modules/video_capture -name "*.h" -o -name "*.cc" | xargs tools_webrtc/iwyu/apply-include-cleaner
    followed by
      tools_webrtc/gn_check_autofix.py -C out/Default
    followed by
      git cl format
    followed by manual replacement of C style headers with their C++
    equivalents and moving around includes.

    Bug: webrtc:42226242
    Change-Id: If7f5f496452eb0dcf4a84ffe37c77e4e471b9f38
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/399061
    Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Commit-Queue: Philipp Hancke <phancke@meta.com>
    Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45130}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/modules/video_capture/BUILD.gn | 2++
Mthird_party/libwebrtc/modules/video_capture/device_info_impl.cc | 3+--
Mthird_party/libwebrtc/modules/video_capture/device_info_impl.h | 3+--
Mthird_party/libwebrtc/modules/video_capture/linux/camera_portal.cc | 12++++++++++++
Mthird_party/libwebrtc/modules/video_capture/linux/camera_portal.h | 1-
Mthird_party/libwebrtc/modules/video_capture/linux/device_info_linux.cc | 28+++++-----------------------
Mthird_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.cc | 16+++++-----------
Mthird_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.h | 4+++-
Mthird_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.cc | 22+++++++++++-----------
Mthird_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.h | 3++-
Mthird_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc | 14++++++++++++--
Mthird_party/libwebrtc/modules/video_capture/linux/pipewire_session.h | 7+++++--
Mthird_party/libwebrtc/modules/video_capture/linux/video_capture_linux.cc | 33++++++---------------------------
Mthird_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc | 19+++++++++++++++++--
Mthird_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.h | 5+++++
Mthird_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc | 30+++++++++++++++++-------------
Mthird_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.h | 7+++----
Mthird_party/libwebrtc/modules/video_capture/test/video_capture_unittest.cc | 3+--
Mthird_party/libwebrtc/modules/video_capture/video_capture_impl.h | 8++------
Mthird_party/libwebrtc/moz-patch-stack/s0001.patch | 26+++++++++++++-------------
Mthird_party/libwebrtc/moz-patch-stack/s0009.patch | 71++++++++++++-----------------------------------------------------------
Mthird_party/libwebrtc/moz-patch-stack/s0013.patch | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0016.patch | 2+-
Mthird_party/libwebrtc/moz-patch-stack/s0020.patch | 77+++++++++++++++++++++--------------------------------------------------------
Mthird_party/libwebrtc/moz-patch-stack/s0024.patch | 8++++----
Mthird_party/libwebrtc/moz-patch-stack/s0026.patch | 2+-
Mthird_party/libwebrtc/moz-patch-stack/s0027.patch | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0032.patch | 6+++---
Mthird_party/libwebrtc/moz-patch-stack/s0045.patch | 10+++++-----
Mthird_party/libwebrtc/moz-patch-stack/s0048.patch | 6+++---
Mthird_party/libwebrtc/moz-patch-stack/s0050.patch | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0065.patch | 12++++++------
Mthird_party/libwebrtc/moz-patch-stack/s0081.patch | 14+++++++-------
Mthird_party/libwebrtc/moz-patch-stack/s0085.patch | 6+++---
Mthird_party/libwebrtc/moz-patch-stack/s0086.patch | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0088.patch | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0089.patch | 6+++---
Mthird_party/libwebrtc/moz-patch-stack/s0098.patch | 24++++++++++++------------
Mthird_party/libwebrtc/moz-patch-stack/s0099.patch | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0115.patch | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0119.patch | 4++--
42 files changed, 222 insertions(+), 304 deletions(-)

diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor @@ -1,4 +1,4 @@ # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc -libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-09T15:14:29.913011+00:00. +libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-09T17:52:54.252329+00:00. # base of lastest vendoring -0cbdcdf686 +4ea937a55c diff --git a/third_party/libwebrtc/modules/video_capture/BUILD.gn b/third_party/libwebrtc/modules/video_capture/BUILD.gn @@ -59,6 +59,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { "../../api:make_ref_counted", "../../api:scoped_refptr", "../../api:sequence_checker", + "../../api/video:video_rtp_headers", "../../common_video", "../../media:video_common", "../../rtc_base:checks", @@ -66,6 +67,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { "../../rtc_base:macromagic", "../../rtc_base:platform_thread", "../../rtc_base:platform_thread_types", + "../../rtc_base:race_checker", "../../rtc_base:refcount", "../../rtc_base:stringutils", "../../rtc_base/synchronization:mutex", diff --git a/third_party/libwebrtc/modules/video_capture/device_info_impl.cc b/third_party/libwebrtc/modules/video_capture/device_info_impl.cc @@ -10,9 +10,8 @@ #include "modules/video_capture/device_info_impl.h" -#include <stdlib.h> - #include <cstdint> +#include <cstdlib> #include "absl/strings/match.h" #include "absl/strings/string_view.h" diff --git a/third_party/libwebrtc/modules/video_capture/device_info_impl.h b/third_party/libwebrtc/modules/video_capture/device_info_impl.h @@ -11,8 +11,7 @@ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ -#include <stdint.h> - +#include <cstdint> #include <vector> #include "api/video/video_rotation.h" diff --git a/third_party/libwebrtc/modules/video_capture/linux/camera_portal.cc b/third_party/libwebrtc/modules/video_capture/linux/camera_portal.cc @@ -12,10 +12,22 @@ #include <gio/gio.h> #include <gio/gunixfdlist.h> +#include <glib-object.h> +#include <glib.h> +#include <glibconfig.h> + +#include <cstdint> +#include <memory> +#include <string> #include "modules/portal/pipewire_utils.h" +#include "modules/portal/portal_request_response.h" +#include "modules/portal/scoped_glib.h" #include "modules/portal/xdg_desktop_portal_utils.h" +#include "rtc_base/checks.h" +#include "rtc_base/logging.h" #include "rtc_base/synchronization/mutex.h" +#include "rtc_base/thread_annotations.h" namespace webrtc { diff --git a/third_party/libwebrtc/modules/video_capture/linux/camera_portal.h b/third_party/libwebrtc/modules/video_capture/linux/camera_portal.h @@ -12,7 +12,6 @@ #define MODULES_VIDEO_CAPTURE_LINUX_CAMERA_PORTAL_H_ #include <memory> -#include <string> #include "modules/portal/portal_request_response.h" #include "rtc_base/system/rtc_export.h" diff --git a/third_party/libwebrtc/modules/video_capture/linux/device_info_linux.cc b/third_party/libwebrtc/modules/video_capture/linux/device_info_linux.cc @@ -8,34 +8,16 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include <errno.h> -#include <fcntl.h> -#include <poll.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/ioctl.h> -#include <unistd.h> -// v4l includes -#if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD -#include <sys/videoio.h> -#elif defined(__sun) -#include <sys/videodev2.h> -#else -#include <linux/videodev2.h> -#endif - -#include <vector> +#include <cstdlib> -#if defined(WEBRTC_USE_PIPEWIRE) -#include "modules/video_capture/linux/device_info_pipewire.h" -#endif #include "modules/video_capture/linux/device_info_v4l2.h" #include "modules/video_capture/video_capture.h" -#include "modules/video_capture/video_capture_defines.h" #include "modules/video_capture/video_capture_impl.h" #include "modules/video_capture/video_capture_options.h" -#include "rtc_base/logging.h" + +#if defined(WEBRTC_USE_PIPEWIRE) +#include "modules/video_capture/linux/device_info_pipewire.h" +#endif namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.cc b/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.cc @@ -10,20 +10,14 @@ #include "modules/video_capture/linux/device_info_pipewire.h" -#include <errno.h> -#include <fcntl.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/ioctl.h> -#include <unistd.h> - -#include <vector> +#include <cstdint> +#include <cstdlib> +#include <cstring> +#include "modules/video_capture/device_info_impl.h" #include "modules/video_capture/linux/pipewire_session.h" -#include "modules/video_capture/video_capture.h" -#include "modules/video_capture/video_capture_defines.h" #include "modules/video_capture/video_capture_impl.h" +#include "rtc_base/checks.h" #include "rtc_base/logging.h" namespace webrtc { diff --git a/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.h b/third_party/libwebrtc/modules/video_capture/linux/device_info_pipewire.h @@ -11,10 +11,12 @@ #ifndef MODULES_VIDEO_CAPTURE_LINUX_DEVICE_INFO_PIPEWIRE_H_ #define MODULES_VIDEO_CAPTURE_LINUX_DEVICE_INFO_PIPEWIRE_H_ -#include <stdint.h> +#include <cstdint> +#include "api/scoped_refptr.h" #include "modules/video_capture/device_info_impl.h" #include "modules/video_capture/video_capture_options.h" +#include "rtc_base/thread_annotations.h" namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.cc b/third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.cc @@ -10,15 +10,7 @@ #include "modules/video_capture/linux/device_info_v4l2.h" -#include <errno.h> #include <fcntl.h> -#include <poll.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/ioctl.h> -#include <unistd.h> -// v4l includes #if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD #include <sys/videoio.h> #elif defined(__sun) @@ -26,12 +18,20 @@ #else #include <linux/videodev2.h> #endif +#include <poll.h> +#include <sys/ioctl.h> +#include <unistd.h> -#include <vector> +#include <cerrno> +#include <cstdint> +#include <cstdio> +#include <cstdlib> +#include <cstring> -#include "modules/video_capture/video_capture.h" +#include "common_video/libyuv/include/webrtc_libyuv.h" +#include "modules/video_capture/device_info_impl.h" #include "modules/video_capture/video_capture_defines.h" -#include "modules/video_capture/video_capture_impl.h" +#include "rtc_base/checks.h" #include "rtc_base/logging.h" // These defines are here to support building on kernel 3.16 which some diff --git a/third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.h b/third_party/libwebrtc/modules/video_capture/linux/device_info_v4l2.h @@ -11,9 +11,10 @@ #ifndef MODULES_VIDEO_CAPTURE_LINUX_DEVICE_INFO_V4L2_H_ #define MODULES_VIDEO_CAPTURE_LINUX_DEVICE_INFO_V4L2_H_ -#include <stdint.h> +#include <cstdint> #include "modules/video_capture/device_info_impl.h" +#include "rtc_base/thread_annotations.h" #include "rtc_base/platform_thread.h" #ifdef WEBRTC_LINUX diff --git a/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc b/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.cc @@ -18,13 +18,23 @@ #include <spa/pod/parser.h> #include <algorithm> +#include <cstdint> +#include <cstdio> +#include <cstring> +#include <memory> +#include <optional> +#include "absl/strings/string_view.h" #include "common_video/libyuv/include/webrtc_libyuv.h" -#include "modules/video_capture/device_info_impl.h" +#include "modules/portal/pipewire_utils.h" +#include "modules/portal/portal_request_response.h" +#include "modules/video_capture/linux/camera_portal.h" +#include "modules/video_capture/video_capture_defines.h" +#include "modules/video_capture/video_capture_options.h" #include "rtc_base/logging.h" #include "rtc_base/sanitizer.h" -#include "rtc_base/string_encode.h" #include "rtc_base/string_to_number.h" +#include "rtc_base/synchronization/mutex.h" namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.h b/third_party/libwebrtc/modules/video_capture/linux/pipewire_session.h @@ -13,17 +13,20 @@ #include <pipewire/pipewire.h> +#include <cstdint> #include <deque> +#include <memory> #include <string> #include <vector> #include "api/ref_counted_base.h" -#include "api/scoped_refptr.h" #include "modules/portal/pipewire_utils.h" +#include "modules/portal/portal_request_response.h" #include "modules/video_capture/linux/camera_portal.h" -#include "modules/video_capture/video_capture.h" +#include "modules/video_capture/video_capture_defines.h" #include "modules/video_capture/video_capture_options.h" #include "rtc_base/synchronization/mutex.h" +#include "rtc_base/thread_annotations.h" namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/linux/video_capture_linux.cc b/third_party/libwebrtc/modules/video_capture/linux/video_capture_linux.cc @@ -8,37 +8,16 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include <errno.h> -#include <fcntl.h> -#include <poll.h> -#include <stdio.h> -#include <string.h> -#include <sys/ioctl.h> -#include <sys/mman.h> -#include <sys/select.h> -#include <time.h> -#include <unistd.h> -// v4l includes -#if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD -#include <sys/videoio.h> -#elif defined(__sun) -#include <sys/videodev2.h> -#else -#include <linux/videodev2.h> -#endif - -#include <new> -#include <string> - +#include "api/make_ref_counted.h" #include "api/scoped_refptr.h" -#include "media/base/video_common.h" -#if defined(WEBRTC_USE_PIPEWIRE) -#include "modules/video_capture/linux/video_capture_pipewire.h" -#endif #include "modules/video_capture/linux/video_capture_v4l2.h" #include "modules/video_capture/video_capture.h" +#include "modules/video_capture/video_capture_impl.h" #include "modules/video_capture/video_capture_options.h" -#include "rtc_base/logging.h" + +#if defined(WEBRTC_USE_PIPEWIRE) +#include "modules/video_capture/linux/video_capture_pipewire.h" +#endif namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc b/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.cc @@ -14,14 +14,29 @@ #include <spa/param/video/format-utils.h> #include <spa/pod/builder.h> #include <spa/utils/result.h> - +#include <sys/mman.h> + +#include <algorithm> +#include <cerrno> +#include <cstddef> +#include <cstdint> +#include <cstring> +#include <new> #include <vector> +#include "api/sequence_checker.h" +#include "api/video/video_rotation.h" #include "common_video/libyuv/include/webrtc_libyuv.h" #include "modules/portal/pipewire_utils.h" +#include "modules/video_capture/linux/pipewire_session.h" +#include "modules/video_capture/video_capture_defines.h" +#include "modules/video_capture/video_capture_impl.h" +#include "modules/video_capture/video_capture_options.h" +#include "rtc_base/checks.h" #include "rtc_base/logging.h" +#include "rtc_base/race_checker.h" #include "rtc_base/sanitizer.h" -#include "rtc_base/string_to_number.h" +#include "rtc_base/synchronization/mutex.h" namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.h b/third_party/libwebrtc/modules/video_capture/linux/video_capture_pipewire.h @@ -11,9 +11,14 @@ #ifndef MODULES_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_PIPEWIRE_H_ #define MODULES_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_PIPEWIRE_H_ +#include <cstdint> + +#include "api/scoped_refptr.h" +#include "common_video/libyuv/include/webrtc_libyuv.h" #include "modules/video_capture/linux/pipewire_session.h" #include "modules/video_capture/video_capture_defines.h" #include "modules/video_capture/video_capture_impl.h" +#include "rtc_base/thread_annotations.h" namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc b/third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.cc @@ -10,17 +10,7 @@ #include "modules/video_capture/linux/video_capture_v4l2.h" -#include <errno.h> #include <fcntl.h> -#include <poll.h> -#include <stdio.h> -#include <string.h> -#include <sys/ioctl.h> -#include <sys/mman.h> -#include <sys/select.h> -#include <time.h> -#include <unistd.h> -// v4l includes #if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD #include <sys/videoio.h> #elif defined(__sun) @@ -28,14 +18,28 @@ #else #include <linux/videodev2.h> #endif +#include <poll.h> +#include <sys/ioctl.h> +#include <sys/mman.h> +#include <sys/select.h> +#include <unistd.h> +#include <cerrno> +#include <cstdint> +#include <cstdio> +#include <cstring> #include <new> -#include <string> -#include "api/scoped_refptr.h" +#include "api/sequence_checker.h" +#include "common_video/libyuv/include/webrtc_libyuv.h" #include "media/base/video_common.h" -#include "modules/video_capture/video_capture.h" +#include "modules/video_capture/video_capture_defines.h" +#include "modules/video_capture/video_capture_impl.h" +#include "rtc_base/checks.h" #include "rtc_base/logging.h" +#include "rtc_base/platform_thread.h" +#include "rtc_base/race_checker.h" +#include "rtc_base/synchronization/mutex.h" // These defines are here to support building on kernel 3.16 which some // downstream projects, e.g. Firefox, use. diff --git a/third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.h b/third_party/libwebrtc/modules/video_capture/linux/video_capture_v4l2.h @@ -11,15 +11,14 @@ #ifndef MODULES_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_V4L2_H_ #define MODULES_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_V4L2_H_ -#include <stddef.h> -#include <stdint.h> - -#include <memory> +#include <cstddef> +#include <cstdint> #include "modules/video_capture/video_capture_defines.h" #include "modules/video_capture/video_capture_impl.h" #include "rtc_base/platform_thread.h" #include "rtc_base/synchronization/mutex.h" +#include "rtc_base/thread_annotations.h" namespace webrtc { namespace videocapturemodule { diff --git a/third_party/libwebrtc/modules/video_capture/test/video_capture_unittest.cc b/third_party/libwebrtc/modules/video_capture/test/video_capture_unittest.cc @@ -10,9 +10,8 @@ #include "modules/video_capture/video_capture.h" -#include <stdio.h> - #include <cstdint> +#include <cstdio> #include <map> #include <memory> #include <sstream> diff --git a/third_party/libwebrtc/modules/video_capture/video_capture_impl.h b/third_party/libwebrtc/modules/video_capture/video_capture_impl.h @@ -11,12 +11,8 @@ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_VIDEO_CAPTURE_IMPL_H_ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_VIDEO_CAPTURE_IMPL_H_ -/* - * video_capture_impl.h - */ - -#include <stddef.h> -#include <stdint.h> +#include <cstddef> +#include <cstdint> #include "api/scoped_refptr.h" #include "api/sequence_checker.h" diff --git a/third_party/libwebrtc/moz-patch-stack/s0001.patch b/third_party/libwebrtc/moz-patch-stack/s0001.patch @@ -784,10 +784,10 @@ index 45d5dbf686..c7e9a2a594 100644 RTC_CHECK_NOTREACHED(); } diff --git a/modules/video_capture/device_info_impl.cc b/modules/video_capture/device_info_impl.cc -index 1d3e3ee89e..97039646f7 100644 +index f96fda0903..2b6a0568e1 100644 --- a/modules/video_capture/device_info_impl.cc +++ b/modules/video_capture/device_info_impl.cc -@@ -72,7 +72,7 @@ int32_t DeviceInfoImpl::GetCapability(const char* deviceUniqueIdUTF8, +@@ -71,7 +71,7 @@ int32_t DeviceInfoImpl::GetCapability(const char* deviceUniqueIdUTF8, // Make sure the number is valid if (deviceCapabilityNumber >= (unsigned int)_captureCapabilities.size()) { @@ -797,10 +797,10 @@ index 1d3e3ee89e..97039646f7 100644 << _captureCapabilities.size() << ")."; return -1; diff --git a/modules/video_capture/device_info_impl.h b/modules/video_capture/device_info_impl.h -index 546265049c..8acbef6d69 100644 +index c8d32179ed..86b19cbc22 100644 --- a/modules/video_capture/device_info_impl.h +++ b/modules/video_capture/device_info_impl.h -@@ -42,6 +42,7 @@ class DeviceInfoImpl : public VideoCaptureModule::DeviceInfo { +@@ -41,6 +41,7 @@ class DeviceInfoImpl : public VideoCaptureModule::DeviceInfo { /* Initialize this object*/ virtual int32_t Init() = 0; @@ -809,7 +809,7 @@ index 546265049c..8acbef6d69 100644 * Fills the member variable _captureCapabilities with capabilities for the * given device name. diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc -index a472e41a41..7397a10625 100644 +index 289975b2e1..6452a3c235 100644 --- a/modules/video_capture/linux/device_info_v4l2.cc +++ b/modules/video_capture/linux/device_info_v4l2.cc @@ -45,15 +45,187 @@ @@ -1013,12 +1013,12 @@ index a472e41a41..7397a10625 100644 uint32_t count = 0; char device[20]; diff --git a/modules/video_capture/linux/device_info_v4l2.h b/modules/video_capture/linux/device_info_v4l2.h -index fb95a6020d..95432a509d 100644 +index c08fbe6937..a94591e25d 100644 --- a/modules/video_capture/linux/device_info_v4l2.h +++ b/modules/video_capture/linux/device_info_v4l2.h -@@ -15,6 +15,9 @@ - +@@ -16,6 +16,9 @@ #include "modules/video_capture/device_info_impl.h" + #include "rtc_base/thread_annotations.h" +#include "rtc_base/platform_thread.h" +#include <sys/inotify.h> @@ -1026,7 +1026,7 @@ index fb95a6020d..95432a509d 100644 namespace webrtc { namespace videocapturemodule { class DeviceInfoV4l2 : public DeviceInfoImpl { -@@ -28,7 +31,8 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { +@@ -29,7 +32,8 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { char* deviceUniqueIdUTF8, uint32_t deviceUniqueIdUTF8Length, char* productUniqueIdUTF8 = 0, @@ -1036,7 +1036,7 @@ index fb95a6020d..95432a509d 100644 /* * Fills the membervariable _captureCapabilities with capabilites for the * given device name. -@@ -45,6 +49,18 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { +@@ -46,6 +50,18 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { private: bool IsDeviceNameMatches(const char* name, const char* deviceUniqueIdUTF8); @@ -1252,10 +1252,10 @@ index 6e205a215f..98bf0c78cf 100644 return 0; diff --git a/modules/video_capture/video_capture_impl.h b/modules/video_capture/video_capture_impl.h -index d3ac5fe5ef..3889867842 100644 +index 8c0f592e94..502a152902 100644 --- a/modules/video_capture/video_capture_impl.h +++ b/modules/video_capture/video_capture_impl.h -@@ -66,8 +66,10 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { +@@ -62,8 +62,10 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { VideoSinkInterface<VideoFrame>* dataCallback) override; virtual void RegisterCaptureDataCallback( RawVideoSinkInterface* dataCallback) override; @@ -1267,7 +1267,7 @@ index d3ac5fe5ef..3889867842 100644 int32_t SetCaptureRotation(VideoRotation rotation) override; bool SetApplyRotation(bool enable) override; bool GetApplyRotation() override; -@@ -117,7 +119,7 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { +@@ -113,7 +115,7 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { // last time the frame rate callback function was called. int64_t _lastFrameRateCallbackTimeNanos RTC_GUARDED_BY(capture_checker_); diff --git a/third_party/libwebrtc/moz-patch-stack/s0009.patch b/third_party/libwebrtc/moz-patch-stack/s0009.patch @@ -7,40 +7,20 @@ Bug 1554949 - Fix WebRTC build failure with newer linux kernel. r=dminor Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/a636ecdcb91afb1c5d436bbcbd87da4f10f7df78 --- - modules/video_capture/linux/device_info_linux.cc | 6 ++++++ - modules/video_capture/linux/device_info_v4l2.cc | 8 +++++++- - modules/video_capture/linux/video_capture_linux.cc | 9 ++++++++- - rtc_base/byte_order.h | 2 ++ - rtc_base/cpu_info.cc | 2 +- - rtc_base/physical_socket_server.cc | 7 +++++-- - 6 files changed, 29 insertions(+), 5 deletions(-) + modules/video_capture/linux/device_info_v4l2.cc | 8 +++++++- + rtc_base/byte_order.h | 2 ++ + rtc_base/cpu_info.cc | 2 +- + rtc_base/physical_socket_server.cc | 7 +++++-- + 4 files changed, 15 insertions(+), 4 deletions(-) -diff --git a/modules/video_capture/linux/device_info_linux.cc b/modules/video_capture/linux/device_info_linux.cc -index 4f8b7c059b..56da475bf3 100644 ---- a/modules/video_capture/linux/device_info_linux.cc -+++ b/modules/video_capture/linux/device_info_linux.cc -@@ -16,7 +16,13 @@ - #include <sys/ioctl.h> - #include <unistd.h> - // v4l includes -+#if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD -+#include <sys/videoio.h> -+#elif defined(__sun) -+#include <sys/videodev2.h> -+#else - #include <linux/videodev2.h> -+#endif - - #include <vector> - diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc -index 7397a10625..19b32f16b9 100644 +index 6452a3c235..9f7f3ea508 100644 --- a/modules/video_capture/linux/device_info_v4l2.cc +++ b/modules/video_capture/linux/device_info_v4l2.cc -@@ -18,7 +18,13 @@ - #include <sys/ioctl.h> - #include <unistd.h> - // v4l includes +@@ -11,7 +11,13 @@ + #include "modules/video_capture/linux/device_info_v4l2.h" + + #include <fcntl.h> +#if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD +#include <sys/videoio.h> +#elif defined(__sun) @@ -48,8 +28,8 @@ index 7397a10625..19b32f16b9 100644 +#else #include <linux/videodev2.h> +#endif - - #include <vector> + #include <sys/ioctl.h> + #include <unistd.h> @@ -209,8 +215,8 @@ DeviceInfoV4l2::DeviceInfoV4l2() : DeviceInfoImpl() { @@ -61,33 +41,6 @@ index 7397a10625..19b32f16b9 100644 int32_t DeviceInfoV4l2::Init() { return 0; -diff --git a/modules/video_capture/linux/video_capture_linux.cc b/modules/video_capture/linux/video_capture_linux.cc -index 0b57cfe90c..1c635ea440 100644 ---- a/modules/video_capture/linux/video_capture_linux.cc -+++ b/modules/video_capture/linux/video_capture_linux.cc -@@ -10,7 +10,6 @@ - - #include <errno.h> - #include <fcntl.h> --#include <linux/videodev2.h> - #include <stdio.h> - #include <string.h> - #include <sys/ioctl.h> -@@ -18,6 +17,14 @@ - #include <sys/select.h> - #include <time.h> - #include <unistd.h> -+// v4l includes -+#if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD -+#include <sys/videoio.h> -+#elif defined(__sun) -+#include <sys/videodev2.h> -+#else -+#include <linux/videodev2.h> -+#endif - - #include <new> - #include <string> diff --git a/rtc_base/byte_order.h b/rtc_base/byte_order.h index cd4fd421ca..c8efa9ac83 100644 --- a/rtc_base/byte_order.h diff --git a/third_party/libwebrtc/moz-patch-stack/s0013.patch b/third_party/libwebrtc/moz-patch-stack/s0013.patch @@ -15,10 +15,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/c12307f3817bec877 1 file changed, 13 insertions(+) diff --git a/modules/video_capture/device_info_impl.cc b/modules/video_capture/device_info_impl.cc -index 97039646f7..08e69e4a9a 100644 +index 2b6a0568e1..0140a2c4d4 100644 --- a/modules/video_capture/device_info_impl.cc +++ b/modules/video_capture/device_info_impl.cc -@@ -107,10 +107,23 @@ int32_t DeviceInfoImpl::GetBestMatchedCapability( +@@ -106,10 +106,23 @@ int32_t DeviceInfoImpl::GetBestMatchedCapability( const int32_t numberOfCapabilies = static_cast<int32_t>(_captureCapabilities.size()); diff --git a/third_party/libwebrtc/moz-patch-stack/s0016.patch b/third_party/libwebrtc/moz-patch-stack/s0016.patch @@ -12,7 +12,7 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/7bf7263db30b79413 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 19b32f16b9..f77d791033 100644 +index 9f7f3ea508..fa930d8020 100644 --- a/modules/video_capture/linux/device_info_v4l2.cc +++ b/modules/video_capture/linux/device_info_v4l2.cc @@ -62,7 +62,7 @@ namespace videocapturemodule { diff --git a/third_party/libwebrtc/moz-patch-stack/s0020.patch b/third_party/libwebrtc/moz-patch-stack/s0020.patch @@ -12,36 +12,22 @@ select() thus solving the problem. Differential Revision: https://phabricator.services.mozilla.com/D50798 Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/59fb6760bb6785a6f8a51be6fc66bf04cfba3e16 --- - .../video_capture/linux/device_info_linux.cc | 1 + - .../video_capture/linux/device_info_v4l2.cc | 16 +++++----- - .../linux/video_capture_linux.cc | 1 + - .../video_capture/linux/video_capture_v4l2.cc | 29 +++++++++++-------- - 4 files changed, 26 insertions(+), 21 deletions(-) + .../video_capture/linux/device_info_v4l2.cc | 16 +++++------- + .../video_capture/linux/video_capture_v4l2.cc | 26 +++++++++++-------- + 2 files changed, 22 insertions(+), 20 deletions(-) -diff --git a/modules/video_capture/linux/device_info_linux.cc b/modules/video_capture/linux/device_info_linux.cc -index 56da475bf3..cae63c7c2d 100644 ---- a/modules/video_capture/linux/device_info_linux.cc -+++ b/modules/video_capture/linux/device_info_linux.cc -@@ -10,6 +10,7 @@ - - #include <errno.h> - #include <fcntl.h> -+#include <poll.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc -index f77d791033..a2435bcd4f 100644 +index fa930d8020..5c228772ab 100644 --- a/modules/video_capture/linux/device_info_v4l2.cc +++ b/modules/video_capture/linux/device_info_v4l2.cc -@@ -12,6 +12,7 @@ - - #include <errno.h> - #include <fcntl.h> +@@ -18,6 +18,7 @@ + #else + #include <linux/videodev2.h> + #endif +#include <poll.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> + #include <sys/ioctl.h> + #include <unistd.h> + @@ -91,16 +92,13 @@ void DeviceInfoV4l2::HandleEvent(inotify_event* event, int fd) int DeviceInfoV4l2::EventCheck(int fd) @@ -65,47 +51,26 @@ index f77d791033..a2435bcd4f 100644 } int DeviceInfoV4l2::HandleEvents(int fd) -diff --git a/modules/video_capture/linux/video_capture_linux.cc b/modules/video_capture/linux/video_capture_linux.cc -index 1c635ea440..7872662fae 100644 ---- a/modules/video_capture/linux/video_capture_linux.cc -+++ b/modules/video_capture/linux/video_capture_linux.cc -@@ -10,6 +10,7 @@ - - #include <errno.h> - #include <fcntl.h> -+#include <poll.h> - #include <stdio.h> - #include <string.h> - #include <sys/ioctl.h> diff --git a/modules/video_capture/linux/video_capture_v4l2.cc b/modules/video_capture/linux/video_capture_v4l2.cc -index 243656e782..882928dcbb 100644 +index bef2939ce6..03e3d9c7cc 100644 --- a/modules/video_capture/linux/video_capture_v4l2.cc +++ b/modules/video_capture/linux/video_capture_v4l2.cc -@@ -12,7 +12,7 @@ +@@ -11,7 +11,14 @@ + #include "modules/video_capture/linux/video_capture_v4l2.h" - #include <errno.h> #include <fcntl.h> --#include <linux/videodev2.h> -+#include <poll.h> - #include <stdio.h> - #include <string.h> - #include <sys/ioctl.h> -@@ -20,6 +20,14 @@ - #include <sys/select.h> - #include <time.h> - #include <unistd.h> -+// v4l includes +#if defined(__NetBSD__) || defined(__OpenBSD__) // WEBRTC_BSD +#include <sys/videoio.h> +#elif defined(__sun) +#include <sys/videodev2.h> +#else -+#include <linux/videodev2.h> + #include <linux/videodev2.h> +#endif - - #include <new> - #include <string> -@@ -411,16 +419,13 @@ bool VideoCaptureModuleV4L2::CaptureProcess() { ++#include <poll.h> + #include <sys/ioctl.h> + #include <sys/mman.h> + #include <sys/select.h> +@@ -416,16 +423,13 @@ bool VideoCaptureModuleV4L2::CaptureProcess() { RTC_CHECK_RUNS_SERIALIZED(&capture_checker_); int retVal = 0; @@ -127,7 +92,7 @@ index 243656e782..882928dcbb 100644 { MutexLock lock(&capture_lock_); -@@ -430,12 +435,12 @@ bool VideoCaptureModuleV4L2::CaptureProcess() { +@@ -435,12 +439,12 @@ bool VideoCaptureModuleV4L2::CaptureProcess() { } if (retVal < 0 && errno != EINTR) { // continue if interrupted diff --git a/third_party/libwebrtc/moz-patch-stack/s0024.patch b/third_party/libwebrtc/moz-patch-stack/s0024.patch @@ -16,7 +16,7 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/b5acbf536c46a66c9 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc -index a2435bcd4f..cd0ba6e3df 100644 +index 5c228772ab..05205a6138 100644 --- a/modules/video_capture/linux/device_info_v4l2.cc +++ b/modules/video_capture/linux/device_info_v4l2.cc @@ -220,8 +220,7 @@ uint32_t DeviceInfoV4l2::NumberOfDevices() { @@ -65,10 +65,10 @@ index a2435bcd4f..cd0ba6e3df 100644 // set image format struct v4l2_format video_fmt; diff --git a/modules/video_capture/linux/device_info_v4l2.h b/modules/video_capture/linux/device_info_v4l2.h -index 95432a509d..e3c2395f49 100644 +index a94591e25d..7d2b5416da 100644 --- a/modules/video_capture/linux/device_info_v4l2.h +++ b/modules/video_capture/linux/device_info_v4l2.h -@@ -18,6 +18,8 @@ +@@ -19,6 +19,8 @@ #include "rtc_base/platform_thread.h" #include <sys/inotify.h> @@ -77,7 +77,7 @@ index 95432a509d..e3c2395f49 100644 namespace webrtc { namespace videocapturemodule { class DeviceInfoV4l2 : public DeviceInfoImpl { -@@ -49,6 +51,7 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { +@@ -50,6 +52,7 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { private: bool IsDeviceNameMatches(const char* name, const char* deviceUniqueIdUTF8); diff --git a/third_party/libwebrtc/moz-patch-stack/s0026.patch b/third_party/libwebrtc/moz-patch-stack/s0026.patch @@ -9,7 +9,7 @@ Differential Revision: https://phabricator.services.mozilla.com/D110589 1 file changed, 1 insertion(+) diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc -index cd0ba6e3df..c5d33ff9a4 100644 +index 05205a6138..0d410ed16d 100644 --- a/modules/video_capture/linux/device_info_v4l2.cc +++ b/modules/video_capture/linux/device_info_v4l2.cc @@ -330,6 +330,7 @@ int32_t DeviceInfoV4l2::CreateCapabilityMap(const char* deviceUniqueIdUTF8) { diff --git a/third_party/libwebrtc/moz-patch-stack/s0027.patch b/third_party/libwebrtc/moz-patch-stack/s0027.patch @@ -986,10 +986,10 @@ index 167bce9157..89203fbcb4 100644 } } diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn -index 058b86bce4..2f7b5b5333 100644 +index 39aa39a41c..b26e30e8bb 100644 --- a/modules/video_capture/BUILD.gn +++ b/modules/video_capture/BUILD.gn -@@ -135,21 +135,12 @@ if (!build_with_chromium || is_linux || is_chromeos) { +@@ -137,21 +137,12 @@ if (!build_with_chromium || is_linux || is_chromeos) { "strmiids.lib", "user32.lib", ] diff --git a/third_party/libwebrtc/moz-patch-stack/s0032.patch b/third_party/libwebrtc/moz-patch-stack/s0032.patch @@ -11,10 +11,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/99b99cca6b7b2c2eb 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/video_capture/video_capture_impl.h b/modules/video_capture/video_capture_impl.h -index 3889867842..f9bf4f97db 100644 +index 502a152902..4d5b83547f 100644 --- a/modules/video_capture/video_capture_impl.h +++ b/modules/video_capture/video_capture_impl.h -@@ -99,6 +99,10 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { +@@ -95,6 +95,10 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { RaceChecker capture_checker_; // current Device unique name; char* _deviceUniqueId RTC_GUARDED_BY(api_checker_); @@ -25,7 +25,7 @@ index 3889867842..f9bf4f97db 100644 Mutex api_lock_; // Should be set by platform dependent code in StartCapture. VideoCaptureCapability _requestedCapability RTC_GUARDED_BY(api_checker_); -@@ -106,8 +110,6 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { +@@ -102,8 +106,6 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { private: void UpdateFrameCount(); uint32_t CalculateFrameRate(int64_t now_ns); diff --git a/third_party/libwebrtc/moz-patch-stack/s0045.patch b/third_party/libwebrtc/moz-patch-stack/s0045.patch @@ -32,10 +32,10 @@ index c967019b11..bd66288681 100644 defines += [ "WEBRTC_MAC" ] } diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn -index 2f7b5b5333..a525311157 100644 +index b26e30e8bb..93743554a9 100644 --- a/modules/video_capture/BUILD.gn +++ b/modules/video_capture/BUILD.gn -@@ -78,7 +78,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { +@@ -80,7 +80,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { "video_capture_options.h", ] @@ -45,11 +45,11 @@ index 2f7b5b5333..a525311157 100644 "linux/device_info_linux.cc", "linux/device_info_v4l2.cc", diff --git a/modules/video_capture/linux/device_info_v4l2.h b/modules/video_capture/linux/device_info_v4l2.h -index e3c2395f49..119cb07ab8 100644 +index 7d2b5416da..74dd7e5818 100644 --- a/modules/video_capture/linux/device_info_v4l2.h +++ b/modules/video_capture/linux/device_info_v4l2.h -@@ -16,7 +16,9 @@ - #include "modules/video_capture/device_info_impl.h" +@@ -17,7 +17,9 @@ + #include "rtc_base/thread_annotations.h" #include "rtc_base/platform_thread.h" +#ifdef WEBRTC_LINUX diff --git a/third_party/libwebrtc/moz-patch-stack/s0048.patch b/third_party/libwebrtc/moz-patch-stack/s0048.patch @@ -9,7 +9,7 @@ Subject: Bug 1772380 - Build 1766646 - (fix-c89fdd716c) fixes for the 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..6755a46146 100644 +index 0d410ed16d..87b39d794d 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() @@ -58,10 +58,10 @@ index c5d33ff9a4..6755a46146 100644 #endif } diff --git a/modules/video_capture/linux/device_info_v4l2.h b/modules/video_capture/linux/device_info_v4l2.h -index 119cb07ab8..60df9bb244 100644 +index 74dd7e5818..db98a62bcc 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 { +@@ -61,8 +61,7 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { int EventCheck(int fd); int HandleEvents(int fd); int ProcessInotifyEvents(); diff --git a/third_party/libwebrtc/moz-patch-stack/s0050.patch b/third_party/libwebrtc/moz-patch-stack/s0050.patch @@ -10,10 +10,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/2e4867d8cc9813869 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/video_capture/linux/video_capture_v4l2.cc b/modules/video_capture/linux/video_capture_v4l2.cc -index 882928dcbb..16efad9825 100644 +index 03e3d9c7cc..cc295fd60b 100644 --- a/modules/video_capture/linux/video_capture_v4l2.cc +++ b/modules/video_capture/linux/video_capture_v4l2.cc -@@ -301,8 +301,8 @@ int32_t VideoCaptureModuleV4L2::StartCapture( +@@ -305,8 +305,8 @@ int32_t VideoCaptureModuleV4L2::StartCapture( if (_captureThread.empty()) { quit_ = false; _captureThread = PlatformThread::SpawnJoinable( diff --git a/third_party/libwebrtc/moz-patch-stack/s0065.patch b/third_party/libwebrtc/moz-patch-stack/s0065.patch @@ -11,10 +11,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/8ff886a4d366b4be3 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn -index a525311157..7cc8f5df17 100644 +index 93743554a9..0aec2d94c7 100644 --- a/modules/video_capture/BUILD.gn +++ b/modules/video_capture/BUILD.gn -@@ -114,6 +114,10 @@ if (!build_with_chromium || is_linux || is_chromeos) { +@@ -116,6 +116,10 @@ if (!build_with_chromium || is_linux || is_chromeos) { "../../media:rtc_media_base", "../portal", ] @@ -26,10 +26,10 @@ index a525311157..7cc8f5df17 100644 } if (is_win) { diff --git a/modules/video_capture/linux/device_info_pipewire.cc b/modules/video_capture/linux/device_info_pipewire.cc -index 0ec0da3933..b802fe580c 100644 +index 7eaf5fbd70..7748fcf08f 100644 --- a/modules/video_capture/linux/device_info_pipewire.cc +++ b/modules/video_capture/linux/device_info_pipewire.cc -@@ -49,9 +49,9 @@ int32_t DeviceInfoPipeWire::GetDeviceName(uint32_t deviceNumber, +@@ -43,9 +43,9 @@ int32_t DeviceInfoPipeWire::GetDeviceName(uint32_t deviceNumber, char* deviceUniqueIdUTF8, uint32_t deviceUniqueIdUTF8Length, char* productUniqueIdUTF8, @@ -42,10 +42,10 @@ index 0ec0da3933..b802fe580c 100644 return -1; diff --git a/modules/video_capture/linux/device_info_pipewire.h b/modules/video_capture/linux/device_info_pipewire.h -index 0187e47e5f..1e75f35909 100644 +index 5d0fc6740a..b3e6de6fee 100644 --- a/modules/video_capture/linux/device_info_pipewire.h +++ b/modules/video_capture/linux/device_info_pipewire.h -@@ -29,7 +29,8 @@ class DeviceInfoPipeWire : public DeviceInfoImpl { +@@ -31,7 +31,8 @@ class DeviceInfoPipeWire : public DeviceInfoImpl { char* deviceUniqueIdUTF8, uint32_t deviceUniqueIdUTF8Length, char* productUniqueIdUTF8 = nullptr, diff --git a/third_party/libwebrtc/moz-patch-stack/s0081.patch b/third_party/libwebrtc/moz-patch-stack/s0081.patch @@ -20,10 +20,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/ed31b2acb5fbca3e2 7 files changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/video_capture/linux/device_info_pipewire.cc b/modules/video_capture/linux/device_info_pipewire.cc -index b802fe580c..db2a3c7099 100644 +index 7748fcf08f..009e1408b9 100644 --- a/modules/video_capture/linux/device_info_pipewire.cc +++ b/modules/video_capture/linux/device_info_pipewire.cc -@@ -50,8 +50,10 @@ int32_t DeviceInfoPipeWire::GetDeviceName(uint32_t deviceNumber, +@@ -44,8 +44,10 @@ int32_t DeviceInfoPipeWire::GetDeviceName(uint32_t deviceNumber, uint32_t deviceUniqueIdUTF8Length, char* productUniqueIdUTF8, uint32_t productUniqueIdUTF8Length, @@ -36,10 +36,10 @@ index b802fe580c..db2a3c7099 100644 return -1; diff --git a/modules/video_capture/linux/device_info_pipewire.h b/modules/video_capture/linux/device_info_pipewire.h -index 1e75f35909..eb5d7a8e30 100644 +index b3e6de6fee..354e309ff9 100644 --- a/modules/video_capture/linux/device_info_pipewire.h +++ b/modules/video_capture/linux/device_info_pipewire.h -@@ -30,7 +30,8 @@ class DeviceInfoPipeWire : public DeviceInfoImpl { +@@ -32,7 +32,8 @@ class DeviceInfoPipeWire : public DeviceInfoImpl { uint32_t deviceUniqueIdUTF8Length, char* productUniqueIdUTF8 = nullptr, uint32_t productUniqueIdUTF8Length = 0, @@ -50,7 +50,7 @@ index 1e75f35909..eb5d7a8e30 100644 * Fills the membervariable _captureCapabilities with capabilites for the * given device name. diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc -index 6755a46146..bb533c6792 100644 +index 87b39d794d..adb15bf6e0 100644 --- a/modules/video_capture/linux/device_info_v4l2.cc +++ b/modules/video_capture/linux/device_info_v4l2.cc @@ -232,7 +232,8 @@ int32_t DeviceInfoV4l2::GetDeviceName(uint32_t deviceNumber, @@ -64,10 +64,10 @@ index 6755a46146..bb533c6792 100644 uint32_t count = 0; char device[20]; diff --git a/modules/video_capture/linux/device_info_v4l2.h b/modules/video_capture/linux/device_info_v4l2.h -index 60df9bb244..243b0c999d 100644 +index db98a62bcc..0717ea05bd 100644 --- a/modules/video_capture/linux/device_info_v4l2.h +++ b/modules/video_capture/linux/device_info_v4l2.h -@@ -36,7 +36,8 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { +@@ -37,7 +37,8 @@ class DeviceInfoV4l2 : public DeviceInfoImpl { uint32_t deviceUniqueIdUTF8Length, char* productUniqueIdUTF8 = 0, uint32_t productUniqueIdUTF8Length = 0, diff --git a/third_party/libwebrtc/moz-patch-stack/s0085.patch b/third_party/libwebrtc/moz-patch-stack/s0085.patch @@ -18,10 +18,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/b046a1446cee5ab48 1 file changed, 2 insertions(+) diff --git a/modules/video_capture/linux/video_capture_v4l2.cc b/modules/video_capture/linux/video_capture_v4l2.cc -index 16efad9825..b56a06f14b 100644 +index cc295fd60b..fa354dd994 100644 --- a/modules/video_capture/linux/video_capture_v4l2.cc +++ b/modules/video_capture/linux/video_capture_v4l2.cc -@@ -129,6 +129,7 @@ int32_t VideoCaptureModuleV4L2::StartCapture( +@@ -133,6 +133,7 @@ int32_t VideoCaptureModuleV4L2::StartCapture( } } @@ -29,7 +29,7 @@ index 16efad9825..b56a06f14b 100644 // We don't want members above to be guarded by capture_checker_ as // it's meant to be for members that are accessed on the API thread // only when we are not capturing. The code above can be called many -@@ -296,6 +297,7 @@ int32_t VideoCaptureModuleV4L2::StartCapture( +@@ -300,6 +301,7 @@ int32_t VideoCaptureModuleV4L2::StartCapture( _requestedCapability = capability; _captureStarted = true; _streaming = true; diff --git a/third_party/libwebrtc/moz-patch-stack/s0086.patch b/third_party/libwebrtc/moz-patch-stack/s0086.patch @@ -10,10 +10,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/00c4bd7039dc8992d 1 file changed, 1 insertion(+) diff --git a/modules/video_capture/linux/video_capture_v4l2.cc b/modules/video_capture/linux/video_capture_v4l2.cc -index b56a06f14b..4c128cc7be 100644 +index fa354dd994..1a58b0aa04 100644 --- a/modules/video_capture/linux/video_capture_v4l2.cc +++ b/modules/video_capture/linux/video_capture_v4l2.cc -@@ -62,6 +62,7 @@ VideoCaptureModuleV4L2::VideoCaptureModuleV4L2() +@@ -66,6 +66,7 @@ VideoCaptureModuleV4L2::VideoCaptureModuleV4L2() _deviceId(-1), _deviceFd(-1), _buffersAllocatedByDevice(-1), diff --git a/third_party/libwebrtc/moz-patch-stack/s0088.patch b/third_party/libwebrtc/moz-patch-stack/s0088.patch @@ -10,10 +10,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/6ed6737b8214bf664 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/video_capture/linux/video_capture_v4l2.cc b/modules/video_capture/linux/video_capture_v4l2.cc -index 4c128cc7be..6b2ae72ce7 100644 +index 1a58b0aa04..f17792653a 100644 --- a/modules/video_capture/linux/video_capture_v4l2.cc +++ b/modules/video_capture/linux/video_capture_v4l2.cc -@@ -301,15 +301,18 @@ int32_t VideoCaptureModuleV4L2::StartCapture( +@@ -305,15 +305,18 @@ int32_t VideoCaptureModuleV4L2::StartCapture( } // start capture thread; diff --git a/third_party/libwebrtc/moz-patch-stack/s0089.patch b/third_party/libwebrtc/moz-patch-stack/s0089.patch @@ -10,10 +10,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/65e120a9c1dcb9c8f 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/video_capture/linux/video_capture_v4l2.cc b/modules/video_capture/linux/video_capture_v4l2.cc -index 6b2ae72ce7..b40f17cc4d 100644 +index f17792653a..9ec034c7ed 100644 --- a/modules/video_capture/linux/video_capture_v4l2.cc +++ b/modules/video_capture/linux/video_capture_v4l2.cc -@@ -298,7 +298,6 @@ int32_t VideoCaptureModuleV4L2::StartCapture( +@@ -302,7 +302,6 @@ int32_t VideoCaptureModuleV4L2::StartCapture( _requestedCapability = capability; _captureStarted = true; _streaming = true; @@ -21,7 +21,7 @@ index 6b2ae72ce7..b40f17cc4d 100644 // start capture thread; if (!_captureThread.empty()) { -@@ -306,6 +305,7 @@ int32_t VideoCaptureModuleV4L2::StartCapture( +@@ -310,6 +309,7 @@ int32_t VideoCaptureModuleV4L2::StartCapture( } quit_ = false; diff --git a/third_party/libwebrtc/moz-patch-stack/s0098.patch b/third_party/libwebrtc/moz-patch-stack/s0098.patch @@ -16,10 +16,10 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/60eb5ef11c8df7eb6 3 files changed, 79 insertions(+), 4 deletions(-) diff --git a/modules/video_capture/linux/device_info_pipewire.cc b/modules/video_capture/linux/device_info_pipewire.cc -index db2a3c7099..a0607b4aba 100644 +index 009e1408b9..a737f9bdb3 100644 --- a/modules/video_capture/linux/device_info_pipewire.cc +++ b/modules/video_capture/linux/device_info_pipewire.cc -@@ -29,13 +29,19 @@ +@@ -23,13 +23,19 @@ namespace webrtc { namespace videocapturemodule { DeviceInfoPipeWire::DeviceInfoPipeWire(VideoCaptureOptions* options) @@ -42,7 +42,7 @@ index db2a3c7099..a0607b4aba 100644 uint32_t DeviceInfoPipeWire::NumberOfDevices() { RTC_CHECK(pipewire_session_); diff --git a/modules/video_capture/linux/pipewire_session.cc b/modules/video_capture/linux/pipewire_session.cc -index 990bfde912..25c4dfae4e 100644 +index 2c533a0edb..86368f6aa1 100644 --- a/modules/video_capture/linux/pipewire_session.cc +++ b/modules/video_capture/linux/pipewire_session.cc @@ -9,6 +9,7 @@ @@ -53,7 +53,7 @@ index 990bfde912..25c4dfae4e 100644 #include <spa/monitor/device.h> #include <spa/param/format-utils.h> -@@ -286,6 +287,28 @@ void PipeWireSession::InitPipeWire(int fd) { +@@ -296,6 +297,28 @@ void PipeWireSession::InitPipeWire(int fd) { Finish(VideoCaptureOptions::Status::ERROR); } @@ -82,7 +82,7 @@ index 990bfde912..25c4dfae4e 100644 RTC_NO_SANITIZE("cfi-icall") bool PipeWireSession::StartPipeWire(int fd) { pw_init(/*argc=*/nullptr, /*argv=*/nullptr); -@@ -358,6 +381,21 @@ void PipeWireSession::PipeWireSync() { +@@ -368,6 +391,21 @@ void PipeWireSession::PipeWireSync() { sync_seq_ = pw_core_sync(pw_core_, PW_ID_CORE, sync_seq_); } @@ -104,7 +104,7 @@ index 990bfde912..25c4dfae4e 100644 // static void PipeWireSession::OnCoreError(void* data, uint32_t id, -@@ -416,6 +454,8 @@ void PipeWireSession::OnRegistryGlobal(void* data, +@@ -426,6 +464,8 @@ void PipeWireSession::OnRegistryGlobal(void* data, that->nodes_.push_back(PipeWireNode::Create(that, id, props)); that->PipeWireSync(); @@ -113,7 +113,7 @@ index 990bfde912..25c4dfae4e 100644 } // static -@@ -427,10 +467,15 @@ void PipeWireSession::OnRegistryGlobalRemove(void* data, uint32_t id) { +@@ -437,10 +477,15 @@ void PipeWireSession::OnRegistryGlobalRemove(void* data, uint32_t id) { return node->id() == id; }); that->nodes_.erase(it, that->nodes_.end()); @@ -131,10 +131,10 @@ index 990bfde912..25c4dfae4e 100644 webrtc::MutexLock lock(&callback_lock_); diff --git a/modules/video_capture/linux/pipewire_session.h b/modules/video_capture/linux/pipewire_session.h -index aec268e008..7dbba23691 100644 +index b2a2023585..ecf419a026 100644 --- a/modules/video_capture/linux/pipewire_session.h +++ b/modules/video_capture/linux/pipewire_session.h -@@ -28,6 +28,7 @@ +@@ -31,6 +31,7 @@ namespace webrtc { namespace videocapturemodule { @@ -142,7 +142,7 @@ index aec268e008..7dbba23691 100644 class PipeWireSession; class VideoCaptureModulePipeWire; -@@ -96,6 +97,21 @@ class PipeWireSession : public webrtc::RefCountedNonVirtual<PipeWireSession> { +@@ -99,6 +100,21 @@ class PipeWireSession : public webrtc::RefCountedNonVirtual<PipeWireSession> { void Init(VideoCaptureOptions::Callback* callback, int fd = kInvalidPipeWireFd); @@ -164,7 +164,7 @@ index aec268e008..7dbba23691 100644 const std::deque<PipeWireNode::PipeWireNodePtr>& nodes() const { return nodes_; } -@@ -110,6 +126,8 @@ class PipeWireSession : public webrtc::RefCountedNonVirtual<PipeWireSession> { +@@ -113,6 +129,8 @@ class PipeWireSession : public webrtc::RefCountedNonVirtual<PipeWireSession> { void StopPipeWire(); void PipeWireSync(); @@ -173,7 +173,7 @@ index aec268e008..7dbba23691 100644 static void OnCoreError(void* data, uint32_t id, int seq, -@@ -132,7 +150,13 @@ class PipeWireSession : public webrtc::RefCountedNonVirtual<PipeWireSession> { +@@ -135,7 +153,13 @@ class PipeWireSession : public webrtc::RefCountedNonVirtual<PipeWireSession> { VideoCaptureOptions::Callback* callback_ RTC_GUARDED_BY(&callback_lock_) = nullptr; diff --git a/third_party/libwebrtc/moz-patch-stack/s0099.patch b/third_party/libwebrtc/moz-patch-stack/s0099.patch @@ -48,10 +48,10 @@ index e8367393a3..a693604389 100644 } } diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn -index 7cc8f5df17..df08cddc58 100644 +index 0aec2d94c7..83c1b21260 100644 --- a/modules/video_capture/BUILD.gn +++ b/modules/video_capture/BUILD.gn -@@ -116,7 +116,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { +@@ -118,7 +118,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { ] if (build_with_mozilla) { configs -= [ "../portal:pipewire_base" ] diff --git a/third_party/libwebrtc/moz-patch-stack/s0115.patch b/third_party/libwebrtc/moz-patch-stack/s0115.patch @@ -49,10 +49,10 @@ index 72972d18e1..70b4739ad0 100644 } } diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn -index df08cddc58..0e77bdb07f 100644 +index 83c1b21260..e32e3ab37e 100644 --- a/modules/video_capture/BUILD.gn +++ b/modules/video_capture/BUILD.gn -@@ -116,7 +116,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { +@@ -118,7 +118,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { ] if (build_with_mozilla) { configs -= [ "../portal:pipewire_base" ] diff --git a/third_party/libwebrtc/moz-patch-stack/s0119.patch b/third_party/libwebrtc/moz-patch-stack/s0119.patch @@ -55,10 +55,10 @@ index d47e25f271..0193bed0ba 100644 auto it = _dataCallBacks.find(dataCallBack); if (it != _dataCallBacks.end()) { diff --git a/modules/video_capture/video_capture_impl.h b/modules/video_capture/video_capture_impl.h -index f9bf4f97db..c177744e3d 100644 +index 4d5b83547f..220b8cff27 100644 --- a/modules/video_capture/video_capture_impl.h +++ b/modules/video_capture/video_capture_impl.h -@@ -67,7 +67,7 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { +@@ -63,7 +63,7 @@ class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule { virtual void RegisterCaptureDataCallback( RawVideoSinkInterface* dataCallback) override; void DeRegisterCaptureDataCallback(