We already cherry-picked this when we vendored f30c044cf9. Upstream commit: https://webrtc.googlesource.com/src/+/995688c8e85b520d50961486abbe0cc03eae9558 Revert "more p2p cleanups" This reverts commit f30c044cf9bd06f91017c171d98690094ce6d88b. Reason for revert: breaks roll to chromium: https://ci.chromium.org/ui/p/chromium/builders/try/mac_chromium_compile_dbg_ng/2290104/overview Original change's description: > more p2p cleanups > > Move test code from p2p/base and rtc_base/ into p2p/test/ > This p2p/base much less crowded and > clarifies that the rtc_base/nat* is in fact only test code. > > BUG=webrtc:0 > > Change-Id: I4d14fae24cb0eff6783962f4b4483b560367ca5d > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/378900 > Commit-Queue: Jonas Oreland <jonaso@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Auto-Submit: Jonas Oreland <jonaso@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#43995} Bug: webrtc:0 Change-Id: I6c79fa85f53fdb9a1dacbe38911771f9a4289c76 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/379040 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/main@{#43999} Differential Revision: https://phabricator.services.mozilla.com/D244009
75 lines
2.7 KiB
Diff
75 lines
2.7 KiB
Diff
From: Dan Baker <dbaker@mozilla.com>
|
|
Date: Thu, 14 Mar 2024 10:51:00 -0600
|
|
Subject: Bug 1883116 - (fix-e79e722834) add enviroment_factory to libwebrtc
|
|
build and enforce providing clock and task_queue when creating Environment
|
|
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/2185cab977988fd4ab03b38dc67f9b06162444da
|
|
---
|
|
BUILD.gn | 1 +
|
|
api/environment/environment_factory.cc | 10 ++++++++++
|
|
api/task_queue/BUILD.gn | 5 +++++
|
|
3 files changed, 16 insertions(+)
|
|
|
|
diff --git a/BUILD.gn b/BUILD.gn
|
|
index a760062978..b5b4ca9a01 100644
|
|
--- a/BUILD.gn
|
|
+++ b/BUILD.gn
|
|
@@ -609,6 +609,7 @@ if (!build_with_chromium) {
|
|
|
|
if (build_with_mozilla) {
|
|
deps += [
|
|
+ "api/environment:environment_factory",
|
|
"api/video:video_frame",
|
|
"api/video:video_rtp_headers",
|
|
"test:rtp_test_utils",
|
|
diff --git a/api/environment/environment_factory.cc b/api/environment/environment_factory.cc
|
|
index 293ef6cf8a..b9cb6b4f53 100644
|
|
--- a/api/environment/environment_factory.cc
|
|
+++ b/api/environment/environment_factory.cc
|
|
@@ -102,12 +102,22 @@ Environment EnvironmentFactory::CreateWithDefaults() && {
|
|
if (field_trials_ == nullptr) {
|
|
Set(std::make_unique<FieldTrialBasedConfig>());
|
|
}
|
|
+#if defined(WEBRTC_MOZILLA_BUILD)
|
|
+ // We want to use our clock, not GetRealTimeClockRaw, and we avoid
|
|
+ // building the code under third_party/libwebrtc/task_queue. To
|
|
+ // ensure we're setting up things correctly, namely providing an
|
|
+ // Environment object with a preset task_queue_factory and clock,
|
|
+ // we'll do a release assert here.
|
|
+ RTC_CHECK(clock_);
|
|
+ RTC_CHECK(task_queue_factory_);
|
|
+#else
|
|
if (clock_ == nullptr) {
|
|
Set(Clock::GetRealTimeClock());
|
|
}
|
|
if (task_queue_factory_ == nullptr) {
|
|
Set(CreateDefaultTaskQueueFactory(field_trials_));
|
|
}
|
|
+#endif
|
|
if (event_log_ == nullptr) {
|
|
Set(std::make_unique<RtcEventLogNull>());
|
|
}
|
|
diff --git a/api/task_queue/BUILD.gn b/api/task_queue/BUILD.gn
|
|
index de937ccf7e..15b0878bbb 100644
|
|
--- a/api/task_queue/BUILD.gn
|
|
+++ b/api/task_queue/BUILD.gn
|
|
@@ -83,6 +83,10 @@ rtc_library("task_queue_test") {
|
|
}
|
|
|
|
rtc_library("default_task_queue_factory") {
|
|
+# Mozilla - disable this entire target to avoid inclusion of code we want
|
|
+# to avoid. Better here than trying to wack-a-mole for places that list
|
|
+# it as a dependency.
|
|
+if (!build_with_mozilla) {
|
|
visibility = [ "*" ]
|
|
if (!is_ios && !is_android) {
|
|
# Internally webrtc shouldn't rely on any specific TaskQueue implementation
|
|
@@ -107,6 +111,7 @@ rtc_library("default_task_queue_factory") {
|
|
sources += [ "default_task_queue_factory_stdlib.cc" ]
|
|
deps += [ "../../rtc_base:rtc_task_queue_stdlib" ]
|
|
}
|
|
+} # of if (!build_with_mozilla) {
|
|
}
|
|
|
|
rtc_library("pending_task_safety_flag") {
|