Files
sousa-gecko/third_party/libwebrtc/moz-patch-stack/s0045.patch
T
Nico Grunbaum 2e3e260bd1 Bug 2047265 - Vendor libwebrtc from b2887131ee
Upstream commit: https://webrtc.googlesource.com/src/+/b2887131ee7872b53724e7b9e7d67aab7b18d9b5
    Adds rust version of webrtc::RateTracker

    This includes some updates to how units FFI is exposed and removes the
    previous bridge tests as now we have real tests for cxx bridges.

    Bug: webrtc:416446214
    Change-Id: I027e68b4521e14d5a1687dd0f0d03ed16a6a6964
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/470180
    Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
    Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
    Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
    Reviewed-by: Victor Boivie <boivie@webrtc.org>
    Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#47663}
2026-06-19 13:47:49 +00:00

89 lines
3.1 KiB
Diff

From: Landry Breuil <landry@openbsd.org>
Date: Wed, 22 Dec 2021 00:09:00 +0000
Subject: Bug 1654448 - P2 - readd partial support for BSD to webrtc
build;r=mjf
only OpenBSD/amd64 is supported for now
Depends on D134432
Differential Revision: https://phabricator.services.mozilla.com/D134433
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/0300b32b7de70fb8976dc82d7d3bb3adb9685857
---
BUILD.gn | 3 +++
modules/video_capture/BUILD.gn | 2 +-
modules/video_capture/linux/device_info_v4l2.h | 2 ++
rtc_base/platform_thread_types.cc | 4 +++-
webrtc.gni | 2 +-
5 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
index 5b156b2119..4ed38ce6de 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -255,6 +255,9 @@ config("common_inherited_config") {
if (is_linux || is_chromeos) {
defines += [ "WEBRTC_LINUX" ]
}
+ if (is_bsd) {
+ defines += [ "WEBRTC_BSD" ]
+ }
if (is_mac) {
defines += [ "WEBRTC_MAC" ]
}
diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn
index b8d65383e3..22cafadb45 100644
--- a/modules/video_capture/BUILD.gn
+++ b/modules/video_capture/BUILD.gn
@@ -80,7 +80,7 @@ if (!build_with_chromium || is_linux || is_chromeos) {
"video_capture_options.h",
]
- if (is_linux || is_chromeos) {
+ if (is_linux || is_bsd || is_chromeos) {
sources += [
"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 7d2b5416da..74dd7e5818 100644
--- a/modules/video_capture/linux/device_info_v4l2.h
+++ b/modules/video_capture/linux/device_info_v4l2.h
@@ -17,7 +17,9 @@
#include "rtc_base/thread_annotations.h"
#include "rtc_base/platform_thread.h"
+#ifdef WEBRTC_LINUX
#include <sys/inotify.h>
+#endif
struct v4l2_capability;
diff --git a/rtc_base/platform_thread_types.cc b/rtc_base/platform_thread_types.cc
index 20bf4afc44..697bedadb9 100644
--- a/rtc_base/platform_thread_types.cc
+++ b/rtc_base/platform_thread_types.cc
@@ -56,7 +56,9 @@ PlatformThreadId CurrentThreadId() {
return static_cast<PlatformThreadId>(pthread_self());
#else
// Default implementation for nacl and solaris.
- return reinterpret_cast<PlatformThreadId>(pthread_self());
+ // WEBRTC_BSD: pthread_t is a pointer, so cannot be casted to pid_t
+ // (aka int32_t) on 64-bit archs. Required on OpenBSD.
+ return reinterpret_cast<long>(pthread_self());
#endif
#endif // defined(WEBRTC_POSIX)
}
diff --git a/webrtc.gni b/webrtc.gni
index 6bff55438e..baa6fef0ef 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -342,7 +342,7 @@ rtc_opus_dir = "//third_party/opus"
# Desktop capturer is supported only on Windows, OSX and Linux.
rtc_desktop_capture_supported =
- (is_win && current_os != "winuwp") || is_mac ||
+ (is_win && current_os != "winuwp") || is_mac || is_bsd ||
((is_linux || is_chromeos) && (rtc_use_x11_extensions || rtc_use_pipewire))
###############################################################################