1
0
Fork 0
firefox/third_party/libwebrtc/moz-patch-stack/0136.patch
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

204 lines
5.2 KiB
Diff

From: Nico Grunbaum <na-g@nostrum.com>
Date: Wed, 27 Nov 2024 03:41:00 +0000
Subject: Bug 1921154 - libwebrtc build related changes for
AV1;r=mjf,webrtc-reviewers
These are most of the changes needed to get a build with AV1.
The crypto/openssl changes are later altered in the stack adding an NSPR based implementation of the functionality that was missing.
Differential Revision: https://phabricator.services.mozilla.com/D228540
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/4527c41ef71d7683c60d9c435991a0d93bc5ce4d
---
BUILD.gn | 4 ++++
media/BUILD.gn | 24 ++++++++++++++----------
rtc_base/BUILD.gn | 44 ++++++++++++++++++++++++--------------------
webrtc.gni | 4 ++--
4 files changed, 44 insertions(+), 32 deletions(-)
diff --git a/BUILD.gn b/BUILD.gn
index b44356c790..0dd2bb4f74 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -521,6 +521,9 @@ if (!rtc_build_ssl) {
"crypto",
"ssl",
]
+ if (build_with_mozilla) {
+ libs = []
+ }
}
}
@@ -615,6 +618,7 @@ if (!build_with_chromium) {
"api/environment:environment_factory",
"api/video:video_frame",
"api/video:video_rtp_headers",
+ "api/video_codecs:builtin_video_decoder_factory",
"test:rtp_test_utils",
]
# Added when we removed deps in other places to avoid building
diff --git a/media/BUILD.gn b/media/BUILD.gn
index b855511fdb..b32e6aba0d 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -12,12 +12,10 @@ import("../webrtc.gni")
group("media") {
deps = []
- if (!build_with_mozilla) {
- deps += [
- ":rtc_media",
- ":rtc_media_base",
- ]
- }
+ deps += [
+ ":rtc_media",
+ ":rtc_media_base",
+ ]
}
config("rtc_media_defines_config") {
@@ -273,6 +271,9 @@ rtc_library("media_engine") {
"base/media_engine.cc",
"base/media_engine.h",
]
+ deps -= [
+ ":media_channel_impl",
+ ]
}
}
@@ -419,6 +420,7 @@ rtc_library("codec_list") {
]
}
+# MOZILLA Bug 1931241 - how much of this do we need?
rtc_library("rtp_utils") {
if (!build_with_mozilla) {
sources = [
@@ -464,7 +466,6 @@ rtc_library("media_constants") {
}
rtc_library("turn_utils") {
-if (!build_with_mozilla) {
sources = [
"base/turn_utils.cc",
"base/turn_utils.h",
@@ -475,17 +476,14 @@ if (!build_with_mozilla) {
"../rtc_base/system:rtc_export",
]
}
-}
rtc_library("rid_description") {
-if (!build_with_mozilla) {
sources = [
"base/rid_description.cc",
"base/rid_description.h",
]
deps = [ ":codec" ]
}
-}
rtc_library("rtc_simulcast_encoder_adapter") {
visibility = [ "*" ]
@@ -734,6 +732,12 @@ rtc_library("rtc_audio_video") {
"engine/webrtc_voice_engine.cc",
"engine/webrtc_voice_engine.h",
]
+ if (build_with_mozilla) {
+ sources -= [
+ "engine/webrtc_video_engine.cc",
+ "engine/webrtc_voice_engine.cc",
+ ]
+ }
public_configs = []
if (!build_with_chromium) {
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 233e5f2a9d..d8494187c9 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -1501,29 +1501,32 @@ rtc_source_set("ssl_header") {
}
rtc_source_set("digest") {
- visibility = [ "*" ]
- sources = [
- "message_digest.cc",
- "message_digest.h",
- "openssl_digest.cc",
- "openssl_digest.h",
- ]
- deps = [
- ":checks",
- ":ssl_header",
- ":stringutils",
- "//third_party/abseil-cpp/absl/strings:string_view",
- ]
-
- # If we are building the SSL library ourselves, we know it's BoringSSL.
- if (rtc_build_ssl) {
- deps += [ "//third_party/boringssl" ]
- } else {
- configs += [ "..:external_ssl_library" ]
- }
+if (!build_with_mozilla) {
+ visibility = [ "*" ]
+ sources = [
+ "message_digest.cc",
+ "message_digest.h",
+ "openssl_digest.cc",
+ "openssl_digest.h",
+ ]
+ deps = [
+ ":checks",
+ ":ssl_header",
+ ":stringutils",
+ "//third_party/abseil-cpp/absl/strings:string_view",
+ ]
+
+ # If we are building the SSL library ourselves, we know it's BoringSSL.
+ if (rtc_build_ssl) {
+ deps += [ "//third_party/boringssl" ]
+ } else {
+ configs += [ "..:external_ssl_library" ]
+ }
+}
}
rtc_library("crypto_random") {
+if (!build_with_mozilla) {
visibility = [ "*" ]
sources = [
"crypto_random.cc",
@@ -1544,6 +1547,7 @@ rtc_library("crypto_random") {
configs += [ "..:external_ssl_library" ]
}
}
+}
rtc_library("ssl") {
if (!build_with_mozilla) {
diff --git a/webrtc.gni b/webrtc.gni
index fe68d3317d..17306b77b7 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -125,7 +125,7 @@ declare_args() {
# Used to specify an external OpenSSL include path when not compiling the
# library that comes with WebRTC (i.e. rtc_build_ssl == 0).
- rtc_ssl_root = "unused"
+ rtc_ssl_root = ""
# Enable when an external authentication mechanism is used for performing
# packet authentication for RTP packets instead of libsrtp.
@@ -347,7 +347,7 @@ declare_args() {
}
# Enable liboam only on non-mozilla builds.
-enable_libaom = !build_with_mozilla
+enable_libaom = true
# Make it possible to provide custom locations for some libraries (move these
# up into declare_args should we need to actually use them for the GN build).