1455 lines
44 KiB
Diff
1455 lines
44 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 IceCat 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 | 46 ++++++++++++++++++-
|
|
api/BUILD.gn | 36 ++++++++++++++-
|
|
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 | 14 +++++-
|
|
call/audio_send_stream.h | 2 +-
|
|
call/video_send_stream.h | 2 +-
|
|
common_audio/BUILD.gn | 4 --
|
|
common_audio/fir_filter_avx2.cc | 2 +
|
|
common_audio/intrin.h | 8 ++++
|
|
media/BUILD.gn | 39 +++++++++++++++-
|
|
media/base/media_channel.h | 4 --
|
|
media/base/media_channel_impl.cc | 13 ------
|
|
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 | 30 +++++++++++-
|
|
rtc_base/system/BUILD.gn | 2 +-
|
|
test/BUILD.gn | 10 ++++
|
|
video/BUILD.gn | 4 +-
|
|
webrtc.gni | 32 ++++++++-----
|
|
31 files changed, 319 insertions(+), 98 deletions(-)
|
|
create mode 100644 api/rtp_sender_setparameters_callback.cc
|
|
create mode 100644 api/rtp_sender_setparameters_callback.h
|
|
create mode 100644 common_audio/intrin.h
|
|
|
|
diff --git a/.gn b/.gn
|
|
index b886ea86aa..19a4b72c2a 100644
|
|
--- a/.gn
|
|
+++ b/.gn
|
|
@@ -73,6 +73,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 571049f3e4..f393179bbb 100644
|
|
--- a/BUILD.gn
|
|
+++ b/BUILD.gn
|
|
@@ -33,7 +33,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") {
|
|
@@ -158,6 +158,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" ]
|
|
}
|
|
@@ -480,9 +484,11 @@ config("common_config") {
|
|
}
|
|
}
|
|
|
|
+if (is_mac) {
|
|
config("common_objc") {
|
|
frameworks = [ "Foundation.framework" ]
|
|
}
|
|
+}
|
|
|
|
if (!build_with_chromium) {
|
|
# Target to build all the WebRTC production code.
|
|
@@ -533,6 +539,34 @@ if (!build_with_chromium) {
|
|
"sdk",
|
|
"video",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ deps -= [
|
|
+ "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/test/metrics",
|
|
+ "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",
|
|
+ "p2p:rtc_p2p",
|
|
+ "pc:libjingle_peerconnection",
|
|
+ "pc:rtc_pc",
|
|
+ "sdk",
|
|
+ ]
|
|
+ }
|
|
|
|
if (rtc_include_builtin_audio_codecs) {
|
|
deps += [
|
|
@@ -545,6 +579,16 @@ if (!build_with_chromium) {
|
|
deps += [
|
|
"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/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",
|
|
]
|
|
} else {
|
|
deps += [
|
|
diff --git a/api/BUILD.gn b/api/BUILD.gn
|
|
index 16a55f36b4..6b68cfc9ff 100644
|
|
--- a/api/BUILD.gn
|
|
+++ b/api/BUILD.gn
|
|
@@ -40,6 +40,9 @@ rtc_source_set("enable_media") {
|
|
"../rtc_base/system:rtc_export",
|
|
"environment",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ deps -= [ "../pc:media_factory" ]
|
|
+ }
|
|
}
|
|
|
|
rtc_source_set("enable_media_with_defaults") {
|
|
@@ -66,7 +69,7 @@ rtc_source_set("enable_media_with_defaults") {
|
|
]
|
|
}
|
|
|
|
-if (!build_with_chromium) {
|
|
+if (!build_with_chromium && !build_with_mozilla) {
|
|
rtc_library("create_peerconnection_factory") {
|
|
visibility = [ "*" ]
|
|
allow_poison = [ "environment_construction" ]
|
|
@@ -221,6 +224,10 @@ rtc_source_set("ice_transport_interface") {
|
|
}
|
|
|
|
rtc_library("dtls_transport_interface") {
|
|
+# Previously, GNU 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 = [
|
|
@@ -237,6 +244,7 @@ rtc_library("dtls_transport_interface") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("dtmf_sender_interface") {
|
|
visibility = [ "*" ]
|
|
@@ -249,6 +257,10 @@ rtc_library("dtmf_sender_interface") {
|
|
}
|
|
|
|
rtc_library("rtp_sender_interface") {
|
|
+# Previously, GNU 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 = [
|
|
@@ -263,16 +275,31 @@ rtc_library("rtp_sender_interface") {
|
|
":ref_count",
|
|
":rtc_error",
|
|
":rtp_parameters",
|
|
+ ":rtp_sender_setparameters_callback",
|
|
":scoped_refptr",
|
|
"../rtc_base:checks",
|
|
"../rtc_base/system:rtc_export",
|
|
"crypto:frame_encryptor_interface",
|
|
"video_codecs:video_codecs_api",
|
|
]
|
|
+}
|
|
+}
|
|
+
|
|
+rtc_library("rtp_sender_setparameters_callback") {
|
|
+ visibility = [ "*" ]
|
|
+
|
|
+ sources = [
|
|
+ "rtp_sender_setparameters_callback.cc",
|
|
+ "rtp_sender_setparameters_callback.h",
|
|
+ ]
|
|
+ deps = [
|
|
+ ":rtc_error",
|
|
+ ]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ]
|
|
}
|
|
|
|
rtc_library("libjingle_peerconnection_api") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
cflags = []
|
|
sources = [
|
|
@@ -391,6 +418,7 @@ rtc_library("libjingle_peerconnection_api") {
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("frame_transformer_interface") {
|
|
visibility = [ "*" ]
|
|
@@ -564,6 +592,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" ]
|
|
@@ -612,6 +641,7 @@ rtc_source_set("peer_connection_quality_test_fixture_api") {
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("frame_generator_api") {
|
|
visibility = [ "*" ]
|
|
@@ -731,6 +761,7 @@ rtc_library("create_frame_generator") {
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
}
|
|
|
|
+if (!build_with_mozilla) {
|
|
rtc_library("create_peer_connection_quality_test_frame_generator") {
|
|
visibility = [ "*" ]
|
|
testonly = true
|
|
@@ -747,6 +778,7 @@ rtc_library("create_peer_connection_quality_test_frame_generator") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("libjingle_logging_api") {
|
|
visibility = [ "*" ]
|
|
@@ -926,6 +958,7 @@ rtc_source_set("refcountedbase") {
|
|
]
|
|
}
|
|
|
|
+if (!build_with_mozilla) {
|
|
rtc_library("ice_transport_factory") {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
@@ -949,6 +982,7 @@ rtc_library("ice_transport_factory") {
|
|
"rtc_event_log:rtc_event_log",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("neteq_simulator_api") {
|
|
visibility = [ "*" ]
|
|
diff --git a/api/rtp_sender_interface.h b/api/rtp_sender_interface.h
|
|
index 7b8ab135c8..7090c233cd 100644
|
|
--- a/api/rtp_sender_interface.h
|
|
+++ b/api/rtp_sender_interface.h
|
|
@@ -32,9 +32,9 @@
|
|
#include "api/video_codecs/video_encoder_factory.h"
|
|
#include "rtc_base/system/rtc_export.h"
|
|
|
|
-namespace webrtc {
|
|
+#include "api/rtp_sender_setparameters_callback.h"
|
|
|
|
-using SetParametersCallback = absl::AnyInvocable<void(RTCError) &&>;
|
|
+namespace webrtc {
|
|
|
|
class RTC_EXPORT RtpSenderInterface : public webrtc::RefCountInterface {
|
|
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 d2e96de4d0..8697f87433 100644
|
|
--- a/api/task_queue/BUILD.gn
|
|
+++ b/api/task_queue/BUILD.gn
|
|
@@ -31,6 +31,7 @@ rtc_library("task_queue") {
|
|
]
|
|
}
|
|
|
|
+if (rtc_include_tests) {
|
|
rtc_library("task_queue_test") {
|
|
visibility = [ "*" ]
|
|
testonly = true
|
|
@@ -79,6 +80,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 c06234e612..ea6cb0efb5 100644
|
|
--- a/api/transport/BUILD.gn
|
|
+++ b/api/transport/BUILD.gn
|
|
@@ -98,6 +98,7 @@ rtc_source_set("sctp_transport_factory_interface") {
|
|
}
|
|
|
|
rtc_source_set("stun_types") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"stun.cc",
|
|
@@ -118,6 +119,7 @@ rtc_source_set("stun_types") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
|
|
}
|
|
+}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_source_set("test_feedback_generator_interface") {
|
|
diff --git a/call/BUILD.gn b/call/BUILD.gn
|
|
index 57c6f3a516..a9d69b93ef 100644
|
|
--- a/call/BUILD.gn
|
|
+++ b/call/BUILD.gn
|
|
@@ -44,7 +44,7 @@ rtc_library("call_interfaces") {
|
|
"../api:network_state_predictor_api",
|
|
"../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",
|
|
@@ -343,6 +343,16 @@ rtc_library("call") {
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
+ if (build_with_mozilla) { # See Bug 1820869.
|
|
+ sources -= [
|
|
+ "create_call.cc",
|
|
+ "degraded_call.cc",
|
|
+ ]
|
|
+ deps -= [
|
|
+ ":fake_network",
|
|
+ ":simulated_network",
|
|
+ ]
|
|
+ }
|
|
}
|
|
|
|
rtc_source_set("receive_stream_interface") {
|
|
@@ -370,7 +380,7 @@ rtc_library("video_stream_api") {
|
|
"../api:frame_transformer_interface",
|
|
"../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 9c2fad652f..f9e49db574 100644
|
|
--- a/call/audio_send_stream.h
|
|
+++ b/call/audio_send_stream.h
|
|
@@ -25,7 +25,7 @@
|
|
#include "api/crypto/frame_encryptor_interface.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 "call/audio_sender.h"
|
|
#include "call/rtp_config.h"
|
|
diff --git a/call/video_send_stream.h b/call/video_send_stream.h
|
|
index 2c3fe55f8d..ca900823c8 100644
|
|
--- a/call/video_send_stream.h
|
|
+++ b/call/video_send_stream.h
|
|
@@ -23,7 +23,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/video/video_content_type.h"
|
|
#include "api/video/video_frame.h"
|
|
diff --git a/common_audio/BUILD.gn b/common_audio/BUILD.gn
|
|
index 2ae6d32710..a45214f754 100644
|
|
--- a/common_audio/BUILD.gn
|
|
+++ b/common_audio/BUILD.gn
|
|
@@ -267,14 +267,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 9cb0f770ca..0031392f8a 100644
|
|
--- a/common_audio/fir_filter_avx2.cc
|
|
+++ b/common_audio/fir_filter_avx2.cc
|
|
@@ -15,6 +15,8 @@
|
|
#include <string.h>
|
|
#include <xmmintrin.h>
|
|
|
|
+#include "common_audio/intrin.h"
|
|
+
|
|
#include "rtc_base/checks.h"
|
|
#include "rtc_base/memory/aligned_malloc.h"
|
|
|
|
diff --git a/common_audio/intrin.h b/common_audio/intrin.h
|
|
new file mode 100644
|
|
index 0000000000..f6ff7f218f
|
|
--- /dev/null
|
|
+++ b/common_audio/intrin.h
|
|
@@ -0,0 +1,8 @@
|
|
+#if defined (__SSE__)
|
|
+ #include <immintrin.h>
|
|
+ #if defined (__clang__)
|
|
+ #include <avxintrin.h>
|
|
+ #include <avx2intrin.h>
|
|
+ #include <fmaintrin.h>
|
|
+ #endif
|
|
+#endif
|
|
diff --git a/media/BUILD.gn b/media/BUILD.gn
|
|
index a1a3603bc7..4a715821cf 100644
|
|
--- a/media/BUILD.gn
|
|
+++ b/media/BUILD.gn
|
|
@@ -79,7 +79,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",
|
|
@@ -138,6 +138,12 @@ rtc_library("rtc_media_base") {
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ sources -= [
|
|
+ "base/adapted_video_track_source.cc",
|
|
+ "base/adapted_video_track_source.h",
|
|
+ ]
|
|
+ }
|
|
}
|
|
|
|
rtc_library("adapted_video_track_source") {
|
|
@@ -163,6 +169,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" ]
|
|
+ }
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
deps = []
|
|
}
|
|
@@ -261,9 +270,16 @@ rtc_library("media_engine") {
|
|
"../rtc_base/system:file_wrapper",
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
|
|
+ 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",
|
|
@@ -313,6 +329,7 @@ rtc_library("media_channel_impl") {
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("media_channel") {
|
|
sources = [ "base/media_channel.h" ]
|
|
@@ -390,6 +407,7 @@ rtc_library("codec") {
|
|
}
|
|
|
|
rtc_library("rtp_utils") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/rtp_utils.cc",
|
|
"base/rtp_utils.h",
|
|
@@ -406,8 +424,10 @@ rtc_library("rtp_utils") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("stream_params") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/stream_params.cc",
|
|
"base/stream_params.h",
|
|
@@ -420,6 +440,7 @@ rtc_library("stream_params") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("media_constants") {
|
|
sources = [
|
|
@@ -430,6 +451,7 @@ rtc_library("media_constants") {
|
|
}
|
|
|
|
rtc_library("turn_utils") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"base/turn_utils.cc",
|
|
"base/turn_utils.h",
|
|
@@ -440,14 +462,17 @@ 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",
|
|
]
|
|
deps = []
|
|
}
|
|
+}
|
|
|
|
rtc_library("rtc_simulcast_encoder_adapter") {
|
|
visibility = [ "*" ]
|
|
@@ -523,6 +548,11 @@ rtc_library("rtc_internal_video_codecs") {
|
|
"../system_wrappers:field_trial",
|
|
"../test:fake_video_codecs",
|
|
]
|
|
+ if (build_with_mozilla) {
|
|
+ deps -= [
|
|
+ "../test:fake_video_codecs",
|
|
+ ]
|
|
+ }
|
|
|
|
if (enable_libaom) {
|
|
defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ]
|
|
@@ -546,6 +576,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 f941823323..1fe86f9588 100644
|
|
--- a/media/base/media_channel.h
|
|
+++ b/media/base/media_channel.h
|
|
@@ -65,10 +65,6 @@ class Timing;
|
|
|
|
namespace webrtc {
|
|
class VideoFrame;
|
|
-
|
|
-webrtc::RTCError InvokeSetParametersCallback(SetParametersCallback& callback,
|
|
- RTCError error);
|
|
-
|
|
} // namespace webrtc
|
|
|
|
namespace cricket {
|
|
diff --git a/media/base/media_channel_impl.cc b/media/base/media_channel_impl.cc
|
|
index 1c08382969..ff69ea62dc 100644
|
|
--- a/media/base/media_channel_impl.cc
|
|
+++ b/media/base/media_channel_impl.cc
|
|
@@ -31,19 +31,6 @@
|
|
#include "modules/rtp_rtcp/include/report_block_data.h"
|
|
#include "rtc_base/checks.h"
|
|
|
|
-namespace webrtc {
|
|
-
|
|
-webrtc::RTCError InvokeSetParametersCallback(SetParametersCallback& callback,
|
|
- RTCError error) {
|
|
- if (callback) {
|
|
- std::move(callback)(error);
|
|
- callback = nullptr;
|
|
- }
|
|
- return error;
|
|
-}
|
|
-
|
|
-} // namespace webrtc
|
|
-
|
|
namespace cricket {
|
|
using webrtc::FrameDecryptorInterface;
|
|
using webrtc::FrameEncryptorInterface;
|
|
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
|
|
index 8b23955d5b..a49df7e7d2 100644
|
|
--- a/modules/audio_coding/BUILD.gn
|
|
+++ b/modules/audio_coding/BUILD.gn
|
|
@@ -553,7 +553,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 359867e50c..711b62006c 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 = [ "*" ]
|
|
@@ -63,6 +65,7 @@ rtc_library("audio_device_config") {
|
|
}
|
|
|
|
rtc_library("audio_device_buffer") {
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
sources = [
|
|
"audio_device_buffer.cc",
|
|
"audio_device_buffer.h",
|
|
@@ -89,6 +92,7 @@ rtc_library("audio_device_buffer") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("audio_device_generic") {
|
|
sources = [
|
|
@@ -265,6 +269,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_api",
|
|
@@ -313,9 +318,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",
|
|
]
|
|
}
|
|
|
|
@@ -420,6 +425,7 @@ rtc_library("audio_device_impl") {
|
|
sources += [ "dummy/file_audio_device_factory.h" ]
|
|
}
|
|
}
|
|
+}
|
|
|
|
if (is_mac) {
|
|
rtc_source_set("audio_device_impl_frameworks") {
|
|
@@ -437,6 +443,7 @@ if (is_mac) {
|
|
}
|
|
}
|
|
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
rtc_source_set("mock_audio_device") {
|
|
visibility = [ "*" ]
|
|
testonly = true
|
|
@@ -454,8 +461,10 @@ rtc_source_set("mock_audio_device") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
}
|
|
+}
|
|
|
|
-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 f5eb5d5951..3e11a245a1 100644
|
|
--- a/modules/audio_processing/aec3/BUILD.gn
|
|
+++ b/modules/audio_processing/aec3/BUILD.gn
|
|
@@ -264,14 +264,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 b6eda9f117..8d6e1cf3d7 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 "modules/audio_processing/aec3/adaptive_fir_filter.h"
|
|
#include "rtc_base/checks.h"
|
|
diff --git a/modules/audio_processing/agc2/rnn_vad/BUILD.gn b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
|
|
index 9093a68cf3..3003a585bd 100644
|
|
--- a/modules/audio_processing/agc2/rnn_vad/BUILD.gn
|
|
+++ b/modules/audio_processing/agc2/rnn_vad/BUILD.gn
|
|
@@ -122,7 +122,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 fcf1836930..344c8a1531 100644
|
|
--- a/modules/desktop_capture/BUILD.gn
|
|
+++ b/modules/desktop_capture/BUILD.gn
|
|
@@ -343,37 +343,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) {
|
|
@@ -539,9 +514,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 d0756f269b..d7768b2323 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",
|
|
@@ -88,6 +89,12 @@ if ((is_linux || is_chromeos) && rtc_use_pipewire) {
|
|
defines += [ "WEBRTC_USE_GIO" ]
|
|
}
|
|
}
|
|
+} else {
|
|
+ config("pipewire_all") {
|
|
+ }
|
|
+ config("pipewire_config") {
|
|
+ }
|
|
+}
|
|
|
|
rtc_library("portal") {
|
|
sources = [
|
|
@@ -120,5 +127,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 8cefe5653c..b8d75865f7 100644
|
|
--- a/modules/utility/BUILD.gn
|
|
+++ b/modules/utility/BUILD.gn
|
|
@@ -25,5 +25,9 @@ rtc_source_set("utility") {
|
|
"../../rtc_base:platform_thread",
|
|
"../../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 b8345841fa..7289dbe0a8 100644
|
|
--- a/modules/video_capture/BUILD.gn
|
|
+++ b/modules/video_capture/BUILD.gn
|
|
@@ -125,21 +125,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 abc8916e29..db3481e694 100644
|
|
--- a/rtc_base/BUILD.gn
|
|
+++ b/rtc_base/BUILD.gn
|
|
@@ -327,6 +327,7 @@ rtc_library("sample_counter") {
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
}
|
|
|
|
+if (!build_with_mozilla) { # See Bug 1820869.
|
|
rtc_library("timestamp_aligner") {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
@@ -340,6 +341,7 @@ rtc_library("timestamp_aligner") {
|
|
"system:rtc_export",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("zero_memory") {
|
|
visibility = [ "*" ]
|
|
@@ -858,7 +860,9 @@ rtc_library("rtc_json") {
|
|
"strings/json.h",
|
|
]
|
|
deps = [ ":stringutils" ]
|
|
+if (!build_with_mozilla) {
|
|
all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
|
|
+}
|
|
if (rtc_build_json) {
|
|
deps += [ "//third_party/jsoncpp" ]
|
|
} else {
|
|
@@ -1212,6 +1216,7 @@ if (!build_with_chromium) {
|
|
}
|
|
|
|
rtc_library("network") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"network.cc",
|
|
@@ -1250,16 +1255,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",
|
|
@@ -1268,8 +1277,10 @@ rtc_library("net_helper") {
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
|
|
deps = [ "system:rtc_export" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("socket_adapters") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"socket_adapters.cc",
|
|
@@ -1289,6 +1300,7 @@ rtc_library("socket_adapters") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("network_route") {
|
|
sources = [
|
|
@@ -1303,6 +1315,7 @@ rtc_library("network_route") {
|
|
}
|
|
|
|
rtc_library("async_tcp_socket") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"async_tcp_socket.cc",
|
|
"async_tcp_socket.h",
|
|
@@ -1320,8 +1333,10 @@ rtc_library("async_tcp_socket") {
|
|
"network:sent_packet",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("async_udp_socket") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"async_udp_socket.cc",
|
|
@@ -1345,8 +1360,10 @@ rtc_library("async_udp_socket") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("async_packet_socket") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"async_packet_socket.cc",
|
|
@@ -1366,6 +1383,7 @@ rtc_library("async_packet_socket") {
|
|
"third_party/sigslot",
|
|
]
|
|
}
|
|
+}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_library("async_packet_socket_unittest") {
|
|
@@ -1394,6 +1412,7 @@ rtc_library("dscp") {
|
|
}
|
|
|
|
rtc_library("proxy_info") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"proxy_info.cc",
|
|
@@ -1404,6 +1423,7 @@ rtc_library("proxy_info") {
|
|
":socket_address",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("file_rotating_stream") {
|
|
sources = [
|
|
@@ -1432,6 +1452,7 @@ rtc_library("data_rate_limiter") {
|
|
}
|
|
|
|
rtc_library("unique_id_generator") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"unique_id_generator.cc",
|
|
"unique_id_generator.h",
|
|
@@ -1446,6 +1467,7 @@ rtc_library("unique_id_generator") {
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
|
|
}
|
|
+}
|
|
|
|
rtc_library("crc32") {
|
|
sources = [
|
|
@@ -1473,6 +1495,7 @@ rtc_library("stream") {
|
|
}
|
|
|
|
rtc_library("rtc_certificate_generator") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"rtc_certificate_generator.cc",
|
|
@@ -1490,8 +1513,10 @@ rtc_library("rtc_certificate_generator") {
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
+}
|
|
|
|
rtc_library("ssl") {
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
sources = [
|
|
"helpers.cc",
|
|
@@ -1592,6 +1617,7 @@ rtc_library("ssl") {
|
|
deps += [ ":win32" ]
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("crypt_string") {
|
|
sources = [
|
|
@@ -1601,6 +1627,7 @@ rtc_library("crypt_string") {
|
|
}
|
|
|
|
rtc_library("http_common") {
|
|
+if (!build_with_mozilla) {
|
|
sources = [
|
|
"http_common.cc",
|
|
"http_common.h",
|
|
@@ -1617,6 +1644,7 @@ rtc_library("http_common") {
|
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
|
|
}
|
|
+}
|
|
|
|
rtc_source_set("gtest_prod") {
|
|
sources = [ "gtest_prod_util.h" ]
|
|
@@ -2176,7 +2204,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 77f5139a2f..486b37590c 100644
|
|
--- a/rtc_base/system/BUILD.gn
|
|
+++ b/rtc_base/system/BUILD.gn
|
|
@@ -101,7 +101,7 @@ if (is_mac || is_ios) {
|
|
rtc_source_set("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 d98ff0a33d..6151a1a487 100644
|
|
--- a/test/BUILD.gn
|
|
+++ b/test/BUILD.gn
|
|
@@ -240,6 +240,7 @@ rtc_library("audio_test_common") {
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
|
|
}
|
|
|
|
+if (!build_with_mozilla) {
|
|
if (!build_with_chromium) {
|
|
if (is_mac || is_ios) {
|
|
rtc_library("video_test_mac") {
|
|
@@ -293,8 +294,12 @@ if (!build_with_chromium) {
|
|
}
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("rtp_test_utils") {
|
|
+ if (build_with_mozilla) {
|
|
+ sources = []
|
|
+ } else {
|
|
testonly = true
|
|
sources = [
|
|
"rtcp_packet_parser.cc",
|
|
@@ -304,6 +309,7 @@ rtc_library("rtp_test_utils") {
|
|
"rtp_file_writer.cc",
|
|
"rtp_file_writer.h",
|
|
]
|
|
+ }
|
|
|
|
deps = [
|
|
"../api:array_view",
|
|
@@ -558,7 +564,9 @@ rtc_library("video_test_support") {
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
|
|
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" ]
|
|
@@ -1312,6 +1320,7 @@ if (!build_with_chromium) {
|
|
}
|
|
}
|
|
|
|
+if (!build_with_mozilla) {
|
|
if (!build_with_chromium && is_android) {
|
|
rtc_android_library("native_test_java") {
|
|
testonly = true
|
|
@@ -1325,6 +1334,7 @@ if (!build_with_chromium && is_android) {
|
|
]
|
|
}
|
|
}
|
|
+}
|
|
|
|
rtc_library("call_config_utils") {
|
|
testonly = true
|
|
diff --git a/video/BUILD.gn b/video/BUILD.gn
|
|
index eeabef8b77..7c49ceb849 100644
|
|
--- a/video/BUILD.gn
|
|
+++ b/video/BUILD.gn
|
|
@@ -17,7 +17,7 @@ rtc_library("video_stream_encoder_interface") {
|
|
"../api:fec_controller_api",
|
|
"../api:rtc_error",
|
|
"../api:rtp_parameters",
|
|
- "../api:rtp_sender_interface",
|
|
+ "../api:rtp_sender_setparameters_callback",
|
|
"../api:scoped_refptr",
|
|
"../api/adaptation:resource_adaptation_api",
|
|
"../api/units:data_rate",
|
|
@@ -410,7 +410,7 @@ rtc_library("video_stream_encoder_impl") {
|
|
":video_stream_encoder_interface",
|
|
"../api:field_trials_view",
|
|
"../api:rtp_parameters",
|
|
- "../api:rtp_sender_interface",
|
|
+ "../api:rtp_sender_setparameters_callback",
|
|
"../api:sequence_checker",
|
|
"../api/adaptation:resource_adaptation_api",
|
|
"../api/environment",
|
|
diff --git a/webrtc.gni b/webrtc.gni
|
|
index 277c12c054..c84464e84a 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")
|
|
}
|
|
@@ -42,6 +47,11 @@ if (is_fuchsia) {
|
|
# 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 GNU 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.
|
|
@@ -92,7 +102,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
|
|
@@ -118,7 +128,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"
|
|
|
|
# Enable when an external authentication mechanism is used for performing
|
|
# packet authentication for RTP packets instead of libsrtp.
|
|
@@ -135,13 +145,13 @@ declare_args() {
|
|
rtc_enable_bwe_test_logging = 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
|
|
@@ -152,9 +162,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 GNU 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
|
|
@@ -280,7 +287,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
|
|
|
|
@@ -299,7 +306,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.
|
|
@@ -343,6 +350,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"
|
|
@@ -1146,7 +1156,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,
|