Upstream commit: https://webrtc.googlesource.com/src/+/888fb5647ce3fe5740a33500eaf731ec8c6b1b0d Use StrongAlias for RTP header extension identification. This change introduces RtpHeaderExtensionId as a StrongAlias to improve type safety for RTP header extension IDs. The type is used throughout the RTP stack. The code previous to this change has many different places where it defines what a valid ID is (between 1 and 255) by checking it - having a separate type allows us to centralize that check for validity. IDs need to be allocated at an RTP transport level. Manufacturing your own ID is a footgun - sooner or later the ID you manufacture will be used by the allocator, leading to an unexpected error situation. Having a separate type allows the reader to easily figure out where IDs are being created, and verify that it's either in an unit test or in the allocator. Key changes: - RtpHeaderExtensionId defined in api/rtp_header_extension_id.h - Backwards compatible overloads (taking int) added to public APIs in api/ and modules/rtp_rtcp/ to ensure no breaking changes for downstream projects. - RtpPacket, RtpHeaderExtensionPicker, and other internal components updated to use the new type. - Updated SRTP components to handle RtpHeaderExtensionId. - Fixed naming conflict in fake_rtp.h by renaming kRtcpReport to kFakeRtcpReport. - Updated numerous tests to comply with the new explicit type. Bug: webrtc:514817938 Change-Id: I79eb728f2ebd5c1fe5a1711eae2162c742fd029c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/473880 Auto-Submit: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47832}
1398 lines
42 KiB
Diff
1398 lines
42 KiB
Diff
From: Dan Minor <dminor@mozilla.com>
|
|
Date: Thu, 5 Nov 2020 07:47:00 +0000
|
|
Subject: Bug 1654112 - Tweak upstream gn files for Firefox build. r=ng
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D130075
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/127ace4d8887f11abb201d300a849772a2b519f8
|
|
|
|
Bug 1820869 - avoid building unreachable files. r=ng,webrtc-reviewers
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D171922
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/88b3cc6bbece7c53d00e124713330f3d34d2789d
|
|
|
|
Bug 1822194 - (fix-acabb3641b) Break the new SetParametersCallback stuff into stand-alone files.
|
|
|
|
acabb3641b from upstream added a callback mechanism to allow failures to be
|
|
propagated back to RTCRtpSender.setParameters. Unfortunately, this callback
|
|
mechanism was (needlessly) tightly coupled to libwebrtc's implementation of
|
|
RTCRtpSender, and also their media channel code. This introduced a lot of
|
|
unnecessary dependencies throughout libwebrtc, that spilled into our code as
|
|
well.
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/59232687efa00e5f7b7bd3d6befca129149e2bf5
|
|
|
|
Bug 1828517 - (fix-794d599741) account for moved files in BUILD.gn that we don't want to build.
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/4a969f6709183d4f55215adaffb8a52b790a8492
|
|
|
|
Bug 1839451 - (fix-186ebdc1b0) remove BUILD.gn refs to gone files delayable.h, media_channel.h
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/d0f4d1733cb1a2d8189097af4b5537118ebc95a6
|
|
|
|
Bug 1839451 - (fix-f6eae959bf) s/rtc_encoder_simulcast_proxy/rtc_simulcast_encoder_adapter/ BUILD ref.
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/876b3f5821cd5c30564a82c1da7d057d79d17b01
|
|
|
|
Bug 1828517 - (fix-a138c6c8a5) handle file moves in BUILD.gn
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/cf7e333da17689b3c115a6ffd07fab042bc5f086
|
|
|
|
Bug 1817024 - (fix-0e2cf6cc01) Skip library create_peer_connection_quality_test_frame_generator. r?mjf!
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D170887
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/fbbc1bf963fda30bca26ae6aac0c3459b8ebea6f
|
|
|
|
Bug 1826428 - remove libwebrtc's jvm_android.cc from build r=ng,webrtc-reviewers
|
|
|
|
Based on info from John Lin and previous try runs, we're almost
|
|
certainly not using this. Let's try removing it from the build
|
|
and landing it. If no problems emerge, we'll be able to remove
|
|
our custom changes to upstream code in jvm_android.cc.
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D174793
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/dca1b97525487ae57d43ced1ebdb4a2d9c9dae89
|
|
|
|
Bug 1774628 - re-enable support for Windows.Graphics.Capture APIs in libwebrtc. r=pehrsons,webrtc-reviewers
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D186862
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/08567f4539a12b54202aecbf554ec6540fb99ab2
|
|
|
|
Bug 1876843 - (fix-082cb56ee7) remove mozilla dependency on pc:media_factory.
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/136b3fc0377be6dcaa302469d27968f445e0355e
|
|
|
|
Bug 1876843 - (fix-b29ff000da) remove mozilla dependency on api:enable_media
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/7f403ee038e9797a1aff6161fc70a2d92769851f
|
|
|
|
Bug 1883116 - (fix-3d9c3687a4) Supporting change of call_factory.cc to create_call.cc.
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/b86cb7278bc4e557104cec0313d83511b9c8f40d
|
|
---
|
|
.gn | 2 +
|
|
BUILD.gn | 48 ++++++++++++++++++-
|
|
api/BUILD.gn | 37 +++++++++++++-
|
|
api/rtp_sender_interface.h | 4 +-
|
|
api/rtp_sender_setparameters_callback.cc | 27 +++++++++++
|
|
api/rtp_sender_setparameters_callback.h | 28 +++++++++++
|
|
api/task_queue/BUILD.gn | 2 +
|
|
api/transport/BUILD.gn | 2 +
|
|
call/BUILD.gn | 2 +-
|
|
call/audio_send_stream.h | 2 +-
|
|
call/video_send_stream.h | 2 +-
|
|
common_audio/BUILD.gn | 4 --
|
|
common_audio/fir_filter_avx2.cc | 2 +
|
|
media/BUILD.gn | 39 ++++++++++++++-
|
|
media/base/media_channel.h | 3 --
|
|
media/base/media_channel_impl.cc | 9 ----
|
|
modules/audio_coding/BUILD.gn | 2 +-
|
|
modules/audio_device/BUILD.gn | 17 +++++--
|
|
modules/audio_processing/aec3/BUILD.gn | 13 ++---
|
|
.../aec3/adaptive_fir_filter_avx2.cc | 2 +-
|
|
.../audio_processing/agc2/rnn_vad/BUILD.gn | 2 +-
|
|
modules/desktop_capture/BUILD.gn | 29 +----------
|
|
modules/portal/BUILD.gn | 24 ++++++++++
|
|
modules/utility/BUILD.gn | 4 ++
|
|
modules/video_capture/BUILD.gn | 11 +----
|
|
rtc_base/BUILD.gn | 26 +++++++++-
|
|
rtc_base/system/BUILD.gn | 2 +-
|
|
test/BUILD.gn | 10 ++++
|
|
video/BUILD.gn | 4 +-
|
|
webrtc.gni | 32 ++++++++-----
|
|
30 files changed, 299 insertions(+), 92 deletions(-)
|
|
create mode 100644 api/rtp_sender_setparameters_callback.cc
|
|
create mode 100644 api/rtp_sender_setparameters_callback.h
|
|
|
|
diff --git a/.gn b/.gn
|
|
index 4706638e3e..675807743a 100644
|
|
--- a/.gn
|
|
+++ b/.gn
|
|
@@ -71,6 +71,8 @@ default_args = {
|
|
# Prevent jsoncpp to pass -Wno-deprecated-declarations to users
|
|
jsoncpp_no_deprecated_declarations = false
|
|
|
|
+ use_custom_libcxx = false
|
|
+
|
|
# Fixes the abi-revision issue.
|
|
# TODO(https://bugs.webrtc.org/14437): Remove this section if general
|
|
# Chromium fix resolves the problem.
|
|
diff --git a/BUILD.gn b/BUILD.gn
|
|
index 0bef5aea19..9fd93022f6 100644
|
|
--- a/BUILD.gn
|
|
+++ b/BUILD.gn
|
|
@@ -39,7 +39,7 @@ if (is_android) {
|
|
import("//third_party/jni_zero/jni_zero.gni")
|
|
}
|
|
|
|
-if (!build_with_chromium) {
|
|
+if (!build_with_chromium && !build_with_mozilla) {
|
|
# This target should (transitively) cause everything to be built; if you run
|
|
# 'ninja default' and then 'ninja all', the second build should do no work.
|
|
group("default") {
|
|
@@ -186,6 +186,10 @@ config("common_inherited_config") {
|
|
defines += [ "WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT" ]
|
|
}
|
|
|
|
+ if (build_with_mozilla) {
|
|
+ defines += [ "WEBRTC_MOZILLA_BUILD" ]
|
|
+ }
|
|
+
|
|
if (!rtc_builtin_ssl_root_certificates) {
|
|
defines += [ "WEBRTC_EXCLUDE_BUILT_IN_SSL_ROOT_CERTS" ]
|
|
}
|
|
@@ -501,9 +505,11 @@ config("common_config") {
|
|
}
|
|
}
|
|
|
|
+if (is_mac) {
|
|
config("common_objc") {
|
|
frameworks = [ "Foundation.framework" ]
|
|
}
|
|
+}
|
|
|
|
if (!rtc_build_ssl) {
|
|
config("external_ssl_library") {
|
|
@@ -565,6 +571,32 @@ if (!build_with_chromium) {
|
|
"pc:rtc_pc",
|
|
"video",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ deps -= [
|
|
+ "api:create_modular_peer_connection_factory",
|
|
+ "api:create_peerconnection_factory",
|
|
+ "api:enable_media",
|
|
+ "api:rtc_error",
|
|
+ "api:transport_api",
|
|
+ "api/crypto",
|
|
+ "api/rtc_event_log:rtc_event_log_factory",
|
|
+ "api/task_queue",
|
|
+ "api/task_queue:default_task_queue_factory",
|
|
+ "api/video_codecs:video_decoder_factory_template",
|
|
+ "api/video_codecs:video_decoder_factory_template_dav1d_adapter",
|
|
+ "api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
|
|
+ "api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
|
|
+ "api/video_codecs:video_decoder_factory_template_open_h264_adapter",
|
|
+ "api/video_codecs:video_encoder_factory_template",
|
|
+ "api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
|
|
+ "api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
|
|
+ "api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
|
|
+ "api/video_codecs:video_encoder_factory_template_open_h264_adapter",
|
|
+ "logging:rtc_event_log_api",
|
|
+ "pc:libjingle_peerconnection",
|
|
+ "pc:rtc_pc",
|
|
+ ]
|
|
+ }
|
|
|
|
if (rtc_include_builtin_audio_codecs) {
|
|
deps += [
|
|
@@ -575,8 +607,22 @@ if (!build_with_chromium) {
|
|
|
|
if (build_with_mozilla) {
|
|
deps += [
|
|
+ "api:frame_transformer_factory",
|
|
+ "api/audio:builtin_audio_processing_builder",
|
|
+ "api/video:builtin_video_bitrate_allocator_factory",
|
|
"api/video:video_frame",
|
|
"api/video:video_rtp_headers",
|
|
+ "test:rtp_test_utils",
|
|
+ ]
|
|
+ # Added when we removed deps in other places to avoid building
|
|
+ # unreachable sources. See Bug 1820869.
|
|
+ deps += [
|
|
+ "api/audio:aec3_factory",
|
|
+ "api/video_codecs:video_codecs_api",
|
|
+ "api/video_codecs:rtc_software_fallback_wrappers",
|
|
+ "media:rtc_simulcast_encoder_adapter",
|
|
+ "modules/video_coding:webrtc_vp8",
|
|
+ "modules/video_coding:webrtc_vp9",
|
|
]
|
|
}
|
|
|
|
diff --git a/api/BUILD.gn b/api/BUILD.gn
|
|
index c923431cff..fffc79b43c 100644
|
|
--- a/api/BUILD.gn
|
|
+++ b/api/BUILD.gn
|
|
@@ -34,6 +34,9 @@ rtc_library("enable_media") {
|
|
"environment",
|
|
"//third_party/abseil-cpp/absl/base:nullability",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ deps -= [ "../pc:media_factory" ]
|
|
+ }
|
|
}
|
|
|
|
rtc_library("enable_media_with_defaults") {
|
|
@@ -78,7 +81,7 @@ rtc_library("create_modular_peer_connection_factory") {
|
|
]
|
|
}
|
|
|
|
-if (!build_with_chromium) {
|
|
+if (!build_with_chromium && !build_with_mozilla) {
|
|
rtc_library("create_peerconnection_factory") {
|
|
visibility = [ "*" ]
|
|
allow_poison = [ "environment_construction" ]
|
|
@@ -237,6 +240,10 @@ rtc_library("rtp_transport_factory") {
|
|
}
|
|
|
|
rtc_library("dtls_transport_interface") {
|
|
+# Previously, Mozilla has tried to limit including this dep, but as
|
|
+# upstream changes, it requires whack-a-mole. Making it an empty
|
|
+# definition has the same effect, but only requires one change.
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
|
|
sources = [
|
|
@@ -253,6 +260,7 @@ rtc_library("dtls_transport_interface") {
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("dtmf_sender_interface") {
|
|
visibility = [ "*" ]
|
|
@@ -287,6 +295,10 @@ rtc_library("sframe_decrypter_interface") {
|
|
}
|
|
|
|
rtc_library("rtp_sender_interface") {
|
|
+# Previously, Mozilla has tried to limit including this dep, but as
|
|
+# upstream changes, it requires whack-a-mole. Making it an empty
|
|
+# definition has the same effect, but only requires one change.
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
|
|
sources = [
|
|
@@ -301,6 +313,7 @@ rtc_library("rtp_sender_interface") {
|
|
":ref_count",
|
|
":rtc_error",
|
|
":rtp_parameters",
|
|
+ ":rtp_sender_setparameters_callback",
|
|
":scoped_refptr",
|
|
":sframe_encrypter_interface",
|
|
"../rtc_base:checks",
|
|
@@ -310,6 +323,20 @@ rtc_library("rtp_sender_interface") {
|
|
"//third_party/abseil-cpp/absl/functional:any_invocable",
|
|
]
|
|
}
|
|
+}
|
|
+
|
|
+rtc_library("rtp_sender_setparameters_callback") {
|
|
+ visibility = [ "*" ]
|
|
+
|
|
+ sources = [
|
|
+ "rtp_sender_setparameters_callback.cc",
|
|
+ "rtp_sender_setparameters_callback.h",
|
|
+ ]
|
|
+ deps = [
|
|
+ ":rtc_error",
|
|
+ "//third_party/abseil-cpp/absl/functional:any_invocable",
|
|
+ ]
|
|
+}
|
|
|
|
rtc_library("sctp_transport_interface") {
|
|
visibility = [ "*" ]
|
|
@@ -574,6 +601,7 @@ rtc_library("video_track_source_proxy_factory") {
|
|
}
|
|
|
|
rtc_library("libjingle_peerconnection_api") {
|
|
+if (!build_with_mozilla) {
|
|
# This target is visible externally for backwards compatibility,
|
|
# but should not be depended on by webrtc source.
|
|
visibility = [ "*" ]
|
|
@@ -676,6 +704,7 @@ rtc_library("libjingle_peerconnection_api") {
|
|
"../rtc_base/system:rtc_export", # keep
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("frame_transformer_interface") {
|
|
visibility = [ "*" ]
|
|
@@ -912,6 +941,7 @@ rtc_source_set("peer_network_dependencies") {
|
|
}
|
|
|
|
rtc_source_set("peer_connection_quality_test_fixture_api") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
testonly = true
|
|
sources = [ "test/peerconnection_quality_test_fixture.h" ]
|
|
@@ -927,6 +957,7 @@ rtc_source_set("peer_connection_quality_test_fixture_api") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("frame_generator_api") {
|
|
visibility = [ "*" ]
|
|
@@ -1028,6 +1059,7 @@ rtc_library("create_frame_generator") {
|
|
]
|
|
}
|
|
|
|
+if (!build_with_mozilla) {
|
|
rtc_library("create_peer_connection_quality_test_frame_generator") {
|
|
visibility = [ "*" ]
|
|
testonly = true
|
|
@@ -1045,6 +1077,7 @@ rtc_library("create_peer_connection_quality_test_frame_generator") {
|
|
"units:time_delta",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("data_channel_event_observer_interface") {
|
|
visibility = [ "*" ]
|
|
@@ -1219,6 +1252,7 @@ rtc_source_set("refcountedbase") {
|
|
}
|
|
|
|
rtc_library("ice_transport_factory") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"ice_transport_factory.cc",
|
|
@@ -1236,6 +1270,7 @@ rtc_library("ice_transport_factory") {
|
|
"../rtc_base/system:rtc_export",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("neteq_simulator_api") {
|
|
visibility = [ "*" ]
|
|
diff --git a/api/rtp_sender_interface.h b/api/rtp_sender_interface.h
|
|
index 32cbfeb556..31629ddc21 100644
|
|
--- a/api/rtp_sender_interface.h
|
|
+++ b/api/rtp_sender_interface.h
|
|
@@ -36,6 +36,8 @@
|
|
#include "rtc_base/checks.h"
|
|
#include "rtc_base/system/rtc_export.h"
|
|
|
|
+#include "api/rtp_sender_setparameters_callback.h"
|
|
+
|
|
namespace webrtc {
|
|
|
|
class RtpSenderObserverInterface {
|
|
@@ -48,8 +50,6 @@ class RtpSenderObserverInterface {
|
|
virtual ~RtpSenderObserverInterface() {}
|
|
};
|
|
|
|
-using SetParametersCallback = absl::AnyInvocable<void(RTCError) &&>;
|
|
-
|
|
class RTC_EXPORT RtpSenderInterface : public RefCountInterface,
|
|
public FrameTransformerHost {
|
|
public:
|
|
diff --git a/api/rtp_sender_setparameters_callback.cc b/api/rtp_sender_setparameters_callback.cc
|
|
new file mode 100644
|
|
index 0000000000..99728ef95e
|
|
--- /dev/null
|
|
+++ b/api/rtp_sender_setparameters_callback.cc
|
|
@@ -0,0 +1,27 @@
|
|
+/*
|
|
+ * Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
|
+ *
|
|
+ * Use of this source code is governed by a BSD-style license
|
|
+ * that can be found in the LICENSE file in the root of the source
|
|
+ * tree. An additional intellectual property rights grant can be found
|
|
+ * in the file PATENTS. All contributing project authors may
|
|
+ * be found in the AUTHORS file in the root of the source tree.
|
|
+ */
|
|
+
|
|
+// File added by mozilla, to decouple this from libwebrtc's implementation of
|
|
+// RTCRtpSender.
|
|
+
|
|
+#include "api/rtp_sender_setparameters_callback.h"
|
|
+
|
|
+namespace webrtc {
|
|
+
|
|
+webrtc::RTCError InvokeSetParametersCallback(SetParametersCallback& callback,
|
|
+ RTCError error) {
|
|
+ if (callback) {
|
|
+ std::move(callback)(error);
|
|
+ callback = nullptr;
|
|
+ }
|
|
+ return error;
|
|
+}
|
|
+
|
|
+} // namespace webrtc
|
|
diff --git a/api/rtp_sender_setparameters_callback.h b/api/rtp_sender_setparameters_callback.h
|
|
new file mode 100644
|
|
index 0000000000..45194f5ace
|
|
--- /dev/null
|
|
+++ b/api/rtp_sender_setparameters_callback.h
|
|
@@ -0,0 +1,28 @@
|
|
+/*
|
|
+ * Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
|
+ *
|
|
+ * Use of this source code is governed by a BSD-style license
|
|
+ * that can be found in the LICENSE file in the root of the source
|
|
+ * tree. An additional intellectual property rights grant can be found
|
|
+ * in the file PATENTS. All contributing project authors may
|
|
+ * be found in the AUTHORS file in the root of the source tree.
|
|
+ */
|
|
+
|
|
+// File added by mozilla, to decouple this from libwebrtc's implementation of
|
|
+// RTCRtpSender.
|
|
+
|
|
+#ifndef API_RTP_SENDER_SETPARAMETERS_CALLBACK_H_
|
|
+#define API_RTP_SENDER_SETPARAMETERS_CALLBACK_H_
|
|
+
|
|
+#include "api/rtc_error.h"
|
|
+#include "absl/functional/any_invocable.h"
|
|
+
|
|
+namespace webrtc {
|
|
+
|
|
+using SetParametersCallback = absl::AnyInvocable<void(RTCError) &&>;
|
|
+
|
|
+webrtc::RTCError InvokeSetParametersCallback(SetParametersCallback& callback,
|
|
+ RTCError error);
|
|
+} // namespace webrtc
|
|
+
|
|
+#endif // API_RTP_SENDER_SETPARAMETERS_CALLBACK_H_
|
|
diff --git a/api/task_queue/BUILD.gn b/api/task_queue/BUILD.gn
|
|
index c40c481a7a..cb35bf1839 100644
|
|
--- a/api/task_queue/BUILD.gn
|
|
+++ b/api/task_queue/BUILD.gn
|
|
@@ -28,6 +28,7 @@ rtc_library("task_queue") {
|
|
]
|
|
}
|
|
|
|
+if (rtc_include_tests) {
|
|
rtc_library("task_queue_test") {
|
|
visibility = [ "*" ]
|
|
testonly = true
|
|
@@ -74,6 +75,7 @@ rtc_library("task_queue_test") {
|
|
]
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("default_task_queue_factory") {
|
|
visibility = [ "*" ]
|
|
diff --git a/api/transport/BUILD.gn b/api/transport/BUILD.gn
|
|
index 407a99eb29..a939fbb8ac 100644
|
|
--- a/api/transport/BUILD.gn
|
|
+++ b/api/transport/BUILD.gn
|
|
@@ -98,6 +98,7 @@ rtc_source_set("sctp_transport_factory_interface") {
|
|
}
|
|
|
|
rtc_library("stun_types") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"stun.cc",
|
|
@@ -122,6 +123,7 @@ rtc_library("stun_types") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_source_set("test_feedback_generator_interface") {
|
|
diff --git a/call/BUILD.gn b/call/BUILD.gn
|
|
index 99530d85a3..319e7715cf 100644
|
|
--- a/call/BUILD.gn
|
|
+++ b/call/BUILD.gn
|
|
@@ -46,7 +46,7 @@ rtc_library("call_interfaces") {
|
|
"../api:ref_count",
|
|
"../api:rtp_headers",
|
|
"../api:rtp_parameters",
|
|
- "../api:rtp_sender_interface",
|
|
+ "../api:rtp_sender_setparameters_callback",
|
|
"../api:scoped_refptr",
|
|
"../api:transport_api",
|
|
"../api/adaptation:resource_adaptation_api",
|
|
diff --git a/call/audio_send_stream.h b/call/audio_send_stream.h
|
|
index 40bfd812a4..46be3bcc47 100644
|
|
--- a/call/audio_send_stream.h
|
|
+++ b/call/audio_send_stream.h
|
|
@@ -26,7 +26,7 @@
|
|
#include "api/frame_transformer_interface.h"
|
|
#include "api/rtp_headers.h"
|
|
#include "api/rtp_parameters.h"
|
|
-#include "api/rtp_sender_interface.h"
|
|
+#include "api/rtp_sender_setparameters_callback.h"
|
|
#include "api/scoped_refptr.h"
|
|
#include "api/units/time_delta.h"
|
|
#include "call/audio_sender.h"
|
|
diff --git a/call/video_send_stream.h b/call/video_send_stream.h
|
|
index 07a26350bf..7ce5ca4f00 100644
|
|
--- a/call/video_send_stream.h
|
|
+++ b/call/video_send_stream.h
|
|
@@ -24,7 +24,7 @@
|
|
#include "api/crypto/crypto_options.h"
|
|
#include "api/frame_transformer_interface.h"
|
|
#include "api/rtp_parameters.h"
|
|
-#include "api/rtp_sender_interface.h"
|
|
+#include "api/rtp_sender_setparameters_callback.h"
|
|
#include "api/scoped_refptr.h"
|
|
#include "api/units/data_rate.h"
|
|
#include "api/video/encoded_image.h"
|
|
diff --git a/common_audio/BUILD.gn b/common_audio/BUILD.gn
|
|
index e7de9bd8cb..e77bf2a07f 100644
|
|
--- a/common_audio/BUILD.gn
|
|
+++ b/common_audio/BUILD.gn
|
|
@@ -263,14 +263,10 @@ if (current_cpu == "x86" || current_cpu == "x64") {
|
|
"resampler/sinc_resampler_avx2.cc",
|
|
]
|
|
|
|
- if (is_win) {
|
|
- cflags = [ "/arch:AVX2" ]
|
|
- } else {
|
|
cflags = [
|
|
"-mavx2",
|
|
"-mfma",
|
|
]
|
|
- }
|
|
|
|
deps = [
|
|
":fir_filter",
|
|
diff --git a/common_audio/fir_filter_avx2.cc b/common_audio/fir_filter_avx2.cc
|
|
index 88890be798..c9aefc297b 100644
|
|
--- a/common_audio/fir_filter_avx2.cc
|
|
+++ b/common_audio/fir_filter_avx2.cc
|
|
@@ -16,6 +16,8 @@
|
|
#include <cstdint>
|
|
#include <cstring>
|
|
|
|
+#include "common_audio/intrin.h"
|
|
+
|
|
#include "rtc_base/checks.h"
|
|
#include "rtc_base/memory/aligned_malloc.h"
|
|
|
|
diff --git a/media/BUILD.gn b/media/BUILD.gn
|
|
index e303ae3353..b4093c3bee 100644
|
|
--- a/media/BUILD.gn
|
|
+++ b/media/BUILD.gn
|
|
@@ -76,7 +76,7 @@ rtc_library("rtc_media_base") {
|
|
"../api:media_stream_interface",
|
|
"../api:rtc_error",
|
|
"../api:rtp_parameters",
|
|
- "../api:rtp_sender_interface",
|
|
+ "../api:rtp_sender_setparameters_callback",
|
|
"../api:scoped_refptr",
|
|
"../api:sequence_checker",
|
|
"../api:transport_api",
|
|
@@ -127,6 +127,12 @@ rtc_library("rtc_media_base") {
|
|
"../video/config:encoder_config",
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ sources -= [
|
|
+ "base/adapted_video_track_source.cc",
|
|
+ "base/adapted_video_track_source.h",
|
|
+ ]
|
|
+ }
|
|
}
|
|
|
|
rtc_library("adapted_video_track_source") {
|
|
@@ -153,6 +159,9 @@ rtc_library("adapted_video_track_source") {
|
|
|
|
rtc_source_set("audio_source") {
|
|
sources = [ "base/audio_source.h" ]
|
|
+ if (build_with_mozilla) {
|
|
+ sources -= [ "base/audio_source.h" ]
|
|
+ }
|
|
}
|
|
|
|
rtc_library("video_adapter") {
|
|
@@ -262,9 +271,16 @@ rtc_library("media_engine") {
|
|
"//third_party/abseil-cpp/absl/algorithm:container",
|
|
"//third_party/abseil-cpp/absl/functional:any_invocable",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ sources -= [
|
|
+ "base/media_engine.cc",
|
|
+ "base/media_engine.h",
|
|
+ ]
|
|
+ }
|
|
}
|
|
|
|
rtc_library("media_channel_impl") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/media_channel_impl.cc",
|
|
"base/media_channel_impl.h",
|
|
@@ -311,6 +327,7 @@ rtc_library("media_channel_impl") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("media_channel") {
|
|
sources = [ "base/media_channel.h" ]
|
|
@@ -415,6 +432,7 @@ rtc_library("codec_list") {
|
|
}
|
|
|
|
rtc_library("rtp_utils") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/rtp_utils.cc",
|
|
"base/rtp_utils.h",
|
|
@@ -430,8 +448,10 @@ rtc_library("rtp_utils") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("stream_params") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/stream_params.cc",
|
|
"base/stream_params.h",
|
|
@@ -445,6 +465,7 @@ rtc_library("stream_params") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("media_constants") {
|
|
sources = [
|
|
@@ -455,6 +476,7 @@ rtc_library("media_constants") {
|
|
}
|
|
|
|
rtc_library("turn_utils") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/turn_utils.cc",
|
|
"base/turn_utils.h",
|
|
@@ -465,8 +487,10 @@ rtc_library("turn_utils") {
|
|
"../rtc_base/system:rtc_export",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("rid_description") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/rid_description.cc",
|
|
"base/rid_description.h",
|
|
@@ -476,6 +500,7 @@ rtc_library("rid_description") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("rtc_simulcast_encoder_adapter") {
|
|
visibility = [ "*" ]
|
|
@@ -560,6 +585,11 @@ rtc_library("rtc_internal_video_codecs") {
|
|
"//third_party/abseil-cpp/absl/container:inlined_vector",
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ deps -= [
|
|
+ "../test:fake_video_codecs",
|
|
+ ]
|
|
+ }
|
|
|
|
if (enable_libaom) {
|
|
defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ]
|
|
@@ -579,6 +609,13 @@ rtc_library("rtc_internal_video_codecs") {
|
|
"engine/internal_encoder_factory.cc",
|
|
"engine/internal_encoder_factory.h",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ sources -= [
|
|
+ "engine/fake_video_codec_factory.cc",
|
|
+ "engine/fake_video_codec_factory.h",
|
|
+ "engine/internal_encoder_factory.cc", # See Bug 1820869.
|
|
+ ]
|
|
+ }
|
|
}
|
|
|
|
rtc_library("rtc_audio_video") {
|
|
diff --git a/media/base/media_channel.h b/media/base/media_channel.h
|
|
index ee9d19d04a..4e29076204 100644
|
|
--- a/media/base/media_channel.h
|
|
+++ b/media/base/media_channel.h
|
|
@@ -70,9 +70,6 @@ namespace webrtc {
|
|
class VideoFrame;
|
|
struct VideoFormat;
|
|
|
|
-RTCError InvokeSetParametersCallback(SetParametersCallback& callback,
|
|
- RTCError error);
|
|
-
|
|
class VideoMediaSendChannelInterface;
|
|
class VideoMediaReceiveChannelInterface;
|
|
class VoiceMediaSendChannelInterface;
|
|
diff --git a/media/base/media_channel_impl.cc b/media/base/media_channel_impl.cc
|
|
index cb74a2710e..b1c02c5025 100644
|
|
--- a/media/base/media_channel_impl.cc
|
|
+++ b/media/base/media_channel_impl.cc
|
|
@@ -35,15 +35,6 @@
|
|
|
|
namespace webrtc {
|
|
|
|
-RTCError InvokeSetParametersCallback(SetParametersCallback& callback,
|
|
- RTCError error) {
|
|
- if (callback) {
|
|
- std::move(callback)(error);
|
|
- callback = nullptr;
|
|
- }
|
|
- return error;
|
|
-}
|
|
-
|
|
VideoOptions::VideoOptions()
|
|
: content_hint(VideoTrackInterface::ContentHint::kNone) {}
|
|
VideoOptions::~VideoOptions() = default;
|
|
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
|
|
index afe73786df..c759878059 100644
|
|
--- a/modules/audio_coding/BUILD.gn
|
|
+++ b/modules/audio_coding/BUILD.gn
|
|
@@ -338,7 +338,7 @@ rtc_library("webrtc_opus_wrapper") {
|
|
deps += [ rtc_opus_dir ]
|
|
public_configs = [ "//third_party/opus:opus_config" ]
|
|
} else if (build_with_mozilla) {
|
|
- include_dirs = [ getenv("DIST") + "/include/opus" ]
|
|
+ public_configs = [ "//third_party/opus:opus_config" ]
|
|
}
|
|
}
|
|
|
|
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
|
|
index e62ce13dd8..ceea41532c 100644
|
|
--- a/modules/audio_device/BUILD.gn
|
|
+++ b/modules/audio_device/BUILD.gn
|
|
@@ -30,6 +30,7 @@ rtc_source_set("audio_device_default") {
|
|
}
|
|
|
|
rtc_source_set("audio_device") {
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
visibility = [ "*" ]
|
|
public_deps += [ # no-presubmit-check TODO(webrtc:8603)
|
|
":audio_device_api",
|
|
@@ -40,6 +41,7 @@ rtc_source_set("audio_device") {
|
|
":audio_device_impl",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("audio_device_api") {
|
|
visibility = [ "*" ]
|
|
@@ -51,6 +53,7 @@ rtc_source_set("audio_device_api") {
|
|
}
|
|
|
|
rtc_library("audio_device_buffer") {
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
sources = [
|
|
"audio_device_buffer.cc",
|
|
"audio_device_buffer.h",
|
|
@@ -77,6 +80,7 @@ rtc_library("audio_device_buffer") {
|
|
"../../system_wrappers:metrics",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("audio_device_generic") {
|
|
sources = [
|
|
@@ -249,6 +253,7 @@ if (!build_with_chromium) {
|
|
# Contains default implementations of webrtc::AudioDeviceModule for Windows,
|
|
# Linux, Mac, iOS and Android.
|
|
rtc_library("audio_device_impl") {
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
visibility = [ "*" ]
|
|
deps = [
|
|
":audio_device_buffer",
|
|
@@ -294,9 +299,9 @@ rtc_library("audio_device_impl") {
|
|
sources = [ "include/fake_audio_device.h" ]
|
|
|
|
if (build_with_mozilla) {
|
|
- sources += [
|
|
- "opensl/single_rw_fifo.cc",
|
|
- "opensl/single_rw_fifo.h",
|
|
+ sources -= [
|
|
+ "include/test_audio_device.cc",
|
|
+ "include/test_audio_device.h",
|
|
]
|
|
}
|
|
|
|
@@ -399,6 +404,7 @@ rtc_library("audio_device_impl") {
|
|
sources += [ "dummy/file_audio_device_factory.h" ]
|
|
}
|
|
}
|
|
+}
|
|
|
|
if (is_mac) {
|
|
rtc_source_set("audio_device_impl_frameworks") {
|
|
@@ -416,6 +422,7 @@ if (is_mac) {
|
|
}
|
|
}
|
|
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
rtc_source_set("mock_audio_device") {
|
|
visibility = [ "*" ]
|
|
testonly = true
|
|
@@ -434,8 +441,10 @@ rtc_source_set("mock_audio_device") {
|
|
"../../test:test_support",
|
|
]
|
|
}
|
|
+}
|
|
|
|
-if (rtc_include_tests && !build_with_chromium) {
|
|
+# See Bug 1820869 for !build_with_mozilla.
|
|
+if (rtc_include_tests && !build_with_chromium && !build_with_mozilla) {
|
|
rtc_library("audio_device_unittests") {
|
|
testonly = true
|
|
|
|
diff --git a/modules/audio_processing/aec3/BUILD.gn b/modules/audio_processing/aec3/BUILD.gn
|
|
index 22b5419168..2f2d349514 100644
|
|
--- a/modules/audio_processing/aec3/BUILD.gn
|
|
+++ b/modules/audio_processing/aec3/BUILD.gn
|
|
@@ -260,14 +260,11 @@ if (current_cpu == "x86" || current_cpu == "x64") {
|
|
"vector_math_avx2.cc",
|
|
]
|
|
|
|
- if (is_win) {
|
|
- cflags = [ "/arch:AVX2" ]
|
|
- } else {
|
|
- cflags = [
|
|
- "-mavx2",
|
|
- "-mfma",
|
|
- ]
|
|
- }
|
|
+ cflags = [
|
|
+ "-mavx",
|
|
+ "-mavx2",
|
|
+ "-mfma",
|
|
+ ]
|
|
|
|
deps = [
|
|
":adaptive_fir_filter",
|
|
diff --git a/modules/audio_processing/aec3/adaptive_fir_filter_avx2.cc b/modules/audio_processing/aec3/adaptive_fir_filter_avx2.cc
|
|
index 327f0fb16d..22000b5946 100644
|
|
--- a/modules/audio_processing/aec3/adaptive_fir_filter_avx2.cc
|
|
+++ b/modules/audio_processing/aec3/adaptive_fir_filter_avx2.cc
|
|
@@ -8,7 +8,7 @@
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
-#include <immintrin.h>
|
|
+#include "common_audio/intrin.h"
|
|
|
|
#include <algorithm>
|
|
#include <array>
|
|
diff --git a/modules/audio_processing/agc2/rnn_vad/BUILD.gn b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
|
|
index 0f581c6922..5465a0e26c 100644
|
|
--- a/modules/audio_processing/agc2/rnn_vad/BUILD.gn
|
|
+++ b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
|
|
@@ -114,7 +114,7 @@ rtc_source_set("vector_math") {
|
|
if (current_cpu == "x86" || current_cpu == "x64") {
|
|
rtc_library("vector_math_avx2") {
|
|
sources = [ "vector_math_avx2.cc" ]
|
|
- if (is_win) {
|
|
+ if (is_win && !build_with_mozilla) {
|
|
cflags = [ "/arch:AVX2" ]
|
|
} else {
|
|
cflags = [
|
|
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
|
|
index a845b09128..a5d4544dd8 100644
|
|
--- a/modules/desktop_capture/BUILD.gn
|
|
+++ b/modules/desktop_capture/BUILD.gn
|
|
@@ -361,37 +361,12 @@ rtc_library("desktop_capture") {
|
|
]
|
|
deps += [ ":desktop_capture_objc" ]
|
|
}
|
|
-
|
|
- if (build_with_mozilla) {
|
|
- sources += [
|
|
- "desktop_device_info.cc",
|
|
- "desktop_device_info.h",
|
|
- ]
|
|
- if (is_win) {
|
|
- sources += [
|
|
- "app_capturer_win.cc",
|
|
- "win/desktop_device_info_win.cc",
|
|
- "win/win_shared.cc",
|
|
- ]
|
|
- }
|
|
- }
|
|
if (rtc_use_x11_extensions || rtc_use_pipewire) {
|
|
sources += [
|
|
"mouse_cursor_monitor_linux.cc",
|
|
"screen_capturer_linux.cc",
|
|
"window_capturer_linux.cc",
|
|
]
|
|
-
|
|
- if (build_with_mozilla && (is_linux || is_chromeos)) {
|
|
- sources += [
|
|
- "app_capturer_linux.cc",
|
|
- "linux/x11/app_capturer_x11.cc",
|
|
- "linux/x11/desktop_device_info_linux.cc",
|
|
- "linux/x11/desktop_device_info_linux.h",
|
|
- "linux/x11/shared_x_util.cc",
|
|
- "linux/x11/shared_x_util.h",
|
|
- ]
|
|
- }
|
|
}
|
|
|
|
if (rtc_use_x11_extensions) {
|
|
@@ -554,9 +529,7 @@ rtc_library("desktop_capture") {
|
|
deps += [ "../../rtc_base:sanitizer" ]
|
|
}
|
|
|
|
- if (!build_with_mozilla) {
|
|
- deps += [ "//third_party/libyuv" ]
|
|
- }
|
|
+ deps += [ "//third_party/libyuv" ]
|
|
|
|
if (use_desktop_capture_differ_sse2) {
|
|
deps += [ ":desktop_capture_differ_sse2" ]
|
|
diff --git a/modules/portal/BUILD.gn b/modules/portal/BUILD.gn
|
|
index 52e515c1fc..11c8285abe 100644
|
|
--- a/modules/portal/BUILD.gn
|
|
+++ b/modules/portal/BUILD.gn
|
|
@@ -11,6 +11,7 @@ import("//tools/generate_stubs/rules.gni")
|
|
import("../../webrtc.gni")
|
|
|
|
if ((is_linux || is_chromeos) && rtc_use_pipewire) {
|
|
+if (!build_with_mozilla) {
|
|
pkg_config("gio") {
|
|
packages = [
|
|
"gio-2.0",
|
|
@@ -89,6 +90,12 @@ if ((is_linux || is_chromeos) && rtc_use_pipewire) {
|
|
defines += [ "WEBRTC_USE_GIO" ]
|
|
}
|
|
}
|
|
+} else {
|
|
+ config("pipewire_all") {
|
|
+ }
|
|
+ config("pipewire_config") {
|
|
+ }
|
|
+}
|
|
|
|
rtc_library("portal") {
|
|
sources = [
|
|
@@ -126,5 +133,22 @@ if ((is_linux || is_chromeos) && rtc_use_pipewire) {
|
|
|
|
deps += [ ":pipewire_stubs" ]
|
|
}
|
|
+
|
|
+ if (build_with_mozilla) {
|
|
+ configs -= [
|
|
+ ":gio",
|
|
+ ":pipewire",
|
|
+ ":pipewire_config",
|
|
+ ]
|
|
+ deps -= [ ":pipewire_stubs" ]
|
|
+ defines -= [ "WEBRTC_DLOPEN_PIPEWIRE" ]
|
|
+ public_deps = [
|
|
+ "//third_party/pipewire",
|
|
+ "//third_party/drm",
|
|
+ "//third_party/gbm",
|
|
+ "//third_party/libepoxy"
|
|
+ ]
|
|
+ }
|
|
}
|
|
}
|
|
+
|
|
diff --git a/modules/utility/BUILD.gn b/modules/utility/BUILD.gn
|
|
index 167bce9157..89203fbcb4 100644
|
|
--- a/modules/utility/BUILD.gn
|
|
+++ b/modules/utility/BUILD.gn
|
|
@@ -26,5 +26,9 @@ rtc_library("utility") {
|
|
"../../rtc_base:platform_thread_types",
|
|
"../../rtc_base/system:arch",
|
|
]
|
|
+
|
|
+ if (build_with_mozilla) {
|
|
+ sources -= [ "source/jvm_android.cc" ]
|
|
+ }
|
|
}
|
|
}
|
|
diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn
|
|
index 5a6fab0b74..b8d65383e3 100644
|
|
--- a/modules/video_capture/BUILD.gn
|
|
+++ b/modules/video_capture/BUILD.gn
|
|
@@ -137,21 +137,12 @@ if (!build_with_chromium || is_linux || is_chromeos) {
|
|
"strmiids.lib",
|
|
"user32.lib",
|
|
]
|
|
-
|
|
- if (build_with_mozilla) {
|
|
- sources += [
|
|
- "windows/BaseFilter.cpp",
|
|
- "windows/BaseInputPin.cpp",
|
|
- "windows/BasePin.cpp",
|
|
- "windows/MediaType.cpp",
|
|
- ]
|
|
- }
|
|
}
|
|
if (is_fuchsia) {
|
|
sources += [ "video_capture_factory_null.cc" ]
|
|
}
|
|
|
|
- if (build_with_mozilla && is_android) {
|
|
+ if (!build_with_mozilla && is_android) {
|
|
include_dirs = [
|
|
"/config/external/nspr",
|
|
"/nsprpub/lib/ds",
|
|
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
|
|
index ca1869da2a..67b2b4c179 100644
|
|
--- a/rtc_base/BUILD.gn
|
|
+++ b/rtc_base/BUILD.gn
|
|
@@ -428,6 +428,7 @@ rtc_library("sample_counter") {
|
|
]
|
|
}
|
|
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
rtc_library("timestamp_aligner") {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
@@ -441,6 +442,7 @@ rtc_library("timestamp_aligner") {
|
|
"system:rtc_export",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("zero_memory") {
|
|
visibility = [ "*" ]
|
|
@@ -920,7 +922,9 @@ rtc_library("rtc_json") {
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
+if (!build_with_mozilla) {
|
|
all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
|
|
+}
|
|
if (rtc_build_json) {
|
|
deps += [ "//third_party/jsoncpp" ]
|
|
} else {
|
|
@@ -1302,6 +1306,7 @@ if (!build_with_chromium) {
|
|
}
|
|
|
|
rtc_library("network") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"network.cc",
|
|
@@ -1343,16 +1348,20 @@ rtc_library("network") {
|
|
deps += [ ":win32" ]
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("socket_address_pair") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"socket_address_pair.cc",
|
|
"socket_address_pair.h",
|
|
]
|
|
deps = [ ":socket_address" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("net_helper") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"net_helper.cc",
|
|
@@ -1363,8 +1372,10 @@ rtc_library("net_helper") {
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("socket_adapters") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"socket_adapters.cc",
|
|
@@ -1381,6 +1392,7 @@ rtc_library("socket_adapters") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("network_route") {
|
|
sources = [
|
|
@@ -1395,6 +1407,7 @@ rtc_library("network_route") {
|
|
}
|
|
|
|
rtc_library("async_tcp_socket") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"async_tcp_socket.cc",
|
|
"async_tcp_socket.h",
|
|
@@ -1414,8 +1427,10 @@ rtc_library("async_tcp_socket") {
|
|
"//third_party/abseil-cpp/absl/memory",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("async_udp_socket") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"async_udp_socket.cc",
|
|
@@ -1440,8 +1455,10 @@ rtc_library("async_udp_socket") {
|
|
"//third_party/abseil-cpp/absl/base:nullability",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("async_packet_socket") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"async_packet_socket.cc",
|
|
@@ -1462,6 +1479,7 @@ rtc_library("async_packet_socket") {
|
|
"//third_party/abseil-cpp/absl/functional:any_invocable",
|
|
]
|
|
}
|
|
+}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_library("async_packet_socket_unittest") {
|
|
@@ -1547,6 +1565,7 @@ rtc_library("data_rate_limiter") {
|
|
}
|
|
|
|
rtc_library("unique_id_generator") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"unique_id_generator.cc",
|
|
"unique_id_generator.h",
|
|
@@ -1563,6 +1582,7 @@ rtc_library("unique_id_generator") {
|
|
"//third_party/abseil-cpp/absl/strings:string_view",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("crc32") {
|
|
sources = [
|
|
@@ -1589,6 +1609,7 @@ rtc_library("stream") {
|
|
}
|
|
|
|
rtc_library("rtc_certificate_generator") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"rtc_certificate_generator.cc",
|
|
@@ -1603,6 +1624,7 @@ rtc_library("rtc_certificate_generator") {
|
|
"//third_party/abseil-cpp/absl/functional:any_invocable",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("ssl_header") {
|
|
visibility = [ "*" ]
|
|
@@ -1666,6 +1688,7 @@ rtc_library("crypto_random") {
|
|
}
|
|
|
|
rtc_library("ssl") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"openssl_key_pair.cc",
|
|
@@ -1738,6 +1761,7 @@ rtc_library("ssl") {
|
|
deps += [ ":win32" ]
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("ssl_adapter") {
|
|
visibility = [ "*" ]
|
|
@@ -2477,7 +2501,7 @@ if (rtc_include_tests) {
|
|
}
|
|
}
|
|
|
|
-if (is_android) {
|
|
+if (is_android && !build_with_mozilla) {
|
|
rtc_android_library("base_java") {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
diff --git a/rtc_base/system/BUILD.gn b/rtc_base/system/BUILD.gn
|
|
index c0fb04ac82..af412f6890 100644
|
|
--- a/rtc_base/system/BUILD.gn
|
|
+++ b/rtc_base/system/BUILD.gn
|
|
@@ -122,7 +122,7 @@ rtc_library("system_time") {
|
|
rtc_library("warn_current_thread_is_deadlocked") {
|
|
sources = [ "warn_current_thread_is_deadlocked.h" ]
|
|
deps = []
|
|
- if (is_android && !build_with_chromium) {
|
|
+ if (is_android && (!build_with_chromium && !build_with_mozilla)) {
|
|
sources += [ "warn_current_thread_is_deadlocked.cc" ]
|
|
deps += [
|
|
"..:logging",
|
|
diff --git a/test/BUILD.gn b/test/BUILD.gn
|
|
index b03d019330..456fa3dee5 100644
|
|
--- a/test/BUILD.gn
|
|
+++ b/test/BUILD.gn
|
|
@@ -278,6 +278,7 @@ rtc_library("audio_test_common") {
|
|
]
|
|
}
|
|
|
|
+if (!build_with_mozilla) {
|
|
if (!build_with_chromium) {
|
|
if (is_mac || is_ios) {
|
|
rtc_library("video_test_mac") {
|
|
@@ -332,8 +333,12 @@ if (!build_with_chromium) {
|
|
}
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("rtp_test_utils") {
|
|
+ if (build_with_mozilla) {
|
|
+ sources = []
|
|
+ } else {
|
|
testonly = true
|
|
sources = [
|
|
"rtcp_packet_parser.cc",
|
|
@@ -343,6 +348,7 @@ rtc_library("rtp_test_utils") {
|
|
"rtp_file_writer.cc",
|
|
"rtp_file_writer.h",
|
|
]
|
|
+ }
|
|
|
|
deps = [
|
|
"../api:rtp_parameters",
|
|
@@ -512,7 +518,9 @@ rtc_library("video_frame_writer") {
|
|
]
|
|
|
|
if (!is_ios) {
|
|
+ if (!build_with_mozilla) {
|
|
deps += [ "//third_party:jpeg" ]
|
|
+ }
|
|
sources += [ "testsupport/jpeg_frame_writer.cc" ]
|
|
} else {
|
|
sources += [ "testsupport/jpeg_frame_writer_ios.cc" ]
|
|
@@ -1393,6 +1401,7 @@ if (!build_with_chromium) {
|
|
}
|
|
}
|
|
|
|
+if (!build_with_mozilla) {
|
|
if (!build_with_chromium && is_android) {
|
|
rtc_android_library("native_test_java") {
|
|
testonly = true
|
|
@@ -1435,6 +1444,7 @@ if (!build_with_chromium && is_android) {
|
|
sources = [ "android/org/webrtc/native_test/NativeTestWebrtc.java" ]
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("call_config_utils") {
|
|
testonly = true
|
|
diff --git a/video/BUILD.gn b/video/BUILD.gn
|
|
index e8d61bc055..dab65eb829 100644
|
|
--- a/video/BUILD.gn
|
|
+++ b/video/BUILD.gn
|
|
@@ -16,7 +16,7 @@ rtc_library("video_stream_encoder_interface") {
|
|
deps = [
|
|
"../api:fec_controller_api",
|
|
"../api:rtp_parameters",
|
|
- "../api:rtp_sender_interface",
|
|
+ "../api:rtp_sender_setparameters_callback",
|
|
"../api:scoped_refptr",
|
|
"../api/adaptation:resource_adaptation_api",
|
|
"../api/units:data_rate",
|
|
@@ -438,7 +438,7 @@ rtc_library("video_stream_encoder_impl") {
|
|
"../api:rtc_error",
|
|
"../api:rtp_packet_info",
|
|
"../api:rtp_parameters",
|
|
- "../api:rtp_sender_interface",
|
|
+ "../api:rtp_sender_setparameters_callback",
|
|
"../api:scoped_refptr",
|
|
"../api:sequence_checker",
|
|
"../api/adaptation:resource_adaptation_api",
|
|
diff --git a/webrtc.gni b/webrtc.gni
|
|
index 3f3b9314a3..76592553d8 100644
|
|
--- a/webrtc.gni
|
|
+++ b/webrtc.gni
|
|
@@ -35,6 +35,11 @@ if (is_mac) {
|
|
import("//build/config/mac/rules.gni")
|
|
}
|
|
|
|
+if (is_android) {
|
|
+ import("//build/config/android/config.gni")
|
|
+ import("//build/config/android/rules.gni")
|
|
+}
|
|
+
|
|
if (is_fuchsia) {
|
|
import("//build/config/fuchsia/config.gni")
|
|
}
|
|
@@ -46,6 +51,11 @@ if (build_with_chromium) {
|
|
# This declare_args is separated from the next one because args declared
|
|
# in this one, can be read from the next one (args defined in the same
|
|
# declare_args cannot be referenced in that scope).
|
|
+declare_args() {
|
|
+ # Enable to use the Mozilla internal settings.
|
|
+ build_with_mozilla = true
|
|
+}
|
|
+
|
|
declare_args() {
|
|
# Setting this to true will make RTC_EXPORT (see rtc_base/system/rtc_export.h)
|
|
# expand to code that will manage symbols visibility.
|
|
@@ -79,7 +89,7 @@ declare_args() {
|
|
# will tell the pre-processor to remove the default definition of the
|
|
# SystemTimeNanos() which is defined in rtc_base/system_time.cc. In
|
|
# that case a new implementation needs to be provided.
|
|
- rtc_exclude_system_time = build_with_chromium
|
|
+ rtc_exclude_system_time = build_with_chromium || build_with_mozilla
|
|
|
|
# Setting this to false will require the API user to pass in their own
|
|
# SSLCertificateVerifier to verify the certificates presented from a
|
|
@@ -102,7 +112,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 = ""
|
|
+ rtc_ssl_root = "unused"
|
|
|
|
# Selects whether debug dumps for the audio processing module
|
|
# should be generated.
|
|
@@ -112,13 +122,13 @@ declare_args() {
|
|
rtc_exclude_audio_processing_module = false
|
|
|
|
# Set this to false to skip building examples.
|
|
- rtc_build_examples = true
|
|
+ rtc_build_examples = false
|
|
|
|
# Set this to false to skip building tools.
|
|
- rtc_build_tools = true
|
|
+ rtc_build_tools = false
|
|
|
|
# Set this to false to skip building code that requires X11.
|
|
- rtc_use_x11 = ozone_platform_x11
|
|
+ rtc_use_x11 = use_x11
|
|
|
|
# Set this to use PipeWire on the Wayland display server.
|
|
# By default it's only enabled on desktop Linux (excludes ChromeOS) and
|
|
@@ -129,9 +139,6 @@ declare_args() {
|
|
# Set this to link PipeWire and required libraries directly instead of using the dlopen.
|
|
rtc_link_pipewire = false
|
|
|
|
- # Enable to use the Mozilla internal settings.
|
|
- build_with_mozilla = false
|
|
-
|
|
# Experimental: enable use of Android AAudio which requires Android SDK 26 or above
|
|
# and NDK r16 or above.
|
|
rtc_enable_android_aaudio = false
|
|
@@ -270,7 +277,7 @@ declare_args() {
|
|
rtc_build_json = !build_with_mozilla
|
|
rtc_build_libsrtp = !build_with_mozilla
|
|
rtc_build_libvpx = !build_with_mozilla
|
|
- rtc_libvpx_build_vp9 = !build_with_mozilla
|
|
+ rtc_libvpx_build_vp9 = true
|
|
rtc_build_opus = !build_with_mozilla
|
|
rtc_build_ssl = !build_with_mozilla
|
|
|
|
@@ -279,7 +286,7 @@ declare_args() {
|
|
|
|
# Chromium uses its own IO handling, so the internal ADM is only built for
|
|
# standalone WebRTC.
|
|
- rtc_include_internal_audio_device = !build_with_chromium
|
|
+ rtc_include_internal_audio_device = !build_with_chromium && !build_with_mozilla
|
|
|
|
# Set this to true to enable the avx2 support in webrtc.
|
|
# TODO: Make sure that AVX2 works also for non-clang compilers.
|
|
@@ -325,6 +332,9 @@ declare_args() {
|
|
rtc_enable_grpc = rtc_enable_protobuf && (is_linux || is_mac)
|
|
}
|
|
|
|
+# Enable liboam only on non-mozilla builds.
|
|
+enable_libaom = !build_with_mozilla
|
|
+
|
|
# 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).
|
|
rtc_libvpx_dir = "//third_party/libvpx"
|
|
@@ -1235,7 +1245,7 @@ if (is_mac || is_ios) {
|
|
}
|
|
}
|
|
|
|
-if (is_android) {
|
|
+if (is_android && !build_with_mozilla) {
|
|
template("rtc_android_library") {
|
|
android_library(target_name) {
|
|
forward_variables_from(invoker,
|