Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  0137.patch   Sprache: unbekannt

 
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 f11d86d211..6f75ecbbf5 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -524,6 +524,9 @@ if (!rtc_build_ssl) {
       "crypto",
       "ssl",
     ]
+    if (build_with_mozilla) {
+      libs = []
+    }
   }
 }
 
@@ -619,6 +622,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 76f45d7045..aa6ea24934 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",
+    ]
   }
 }
 
@@ -403,6 +404,7 @@ rtc_library("codec") {
   ]
 }
 
+# MOZILLA Bug 1931241 - how much of this do we need?
 rtc_library("rtp_utils") {
 if (!build_with_mozilla) {
   sources = [
@@ -448,7 +450,6 @@ rtc_library("media_constants") {
 }
 
 rtc_library("turn_utils") {
-if (!build_with_mozilla) {
   sources = [
     "base/turn_utils.cc",
     "base/turn_utils.h",
@@ -459,17 +460,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 = []
 }
-}
 
 rtc_library("rtc_simulcast_encoder_adapter") {
   visibility = [ "*" ]
@@ -715,6 +713,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 be88e2c586..c12590eadc 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -1526,29 +1526,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",
@@ -1569,6 +1572,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 d29bf59424..6e86706f29 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.
@@ -346,7 +346,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).

[ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge