Revert "Add TaskQueueStdlib experiment."
This reverts commit 83db78e854ff35d57124f04aff9464c0862cd833. Reason for revert: Some tests in Chromium's blink no longer compile because of the change in the signature of the CreateDefaultTaskQueueFactory() function. Original change's description: > Add TaskQueueStdlib experiment. > > Bug: webrtc:14389 > Change-Id: I23c6e0ae675748ec35a99c334104dd2654995a33 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265802 > Commit-Queue: Ali Tofigh <alito@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> > Reviewed-by: Jonas Oreland <jonaso@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#37888} Bug: webrtc:14389 Change-Id: If3e63d6b4ab9e838dc5020b88076a73fd29916e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272920 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Auto-Submit: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37902}
This commit is contained in:
parent
ffd99aa069
commit
e7e3d5925a
@ -40,20 +40,19 @@ rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
|
|||||||
rtc::scoped_refptr<AudioProcessing> audio_processing,
|
rtc::scoped_refptr<AudioProcessing> audio_processing,
|
||||||
AudioFrameProcessor* audio_frame_processor,
|
AudioFrameProcessor* audio_frame_processor,
|
||||||
std::unique_ptr<FieldTrialsView> field_trials) {
|
std::unique_ptr<FieldTrialsView> field_trials) {
|
||||||
if (!field_trials) {
|
|
||||||
field_trials = std::make_unique<webrtc::FieldTrialBasedConfig>();
|
|
||||||
}
|
|
||||||
|
|
||||||
PeerConnectionFactoryDependencies dependencies;
|
PeerConnectionFactoryDependencies dependencies;
|
||||||
dependencies.network_thread = network_thread;
|
dependencies.network_thread = network_thread;
|
||||||
dependencies.worker_thread = worker_thread;
|
dependencies.worker_thread = worker_thread;
|
||||||
dependencies.signaling_thread = signaling_thread;
|
dependencies.signaling_thread = signaling_thread;
|
||||||
dependencies.task_queue_factory =
|
dependencies.task_queue_factory = CreateDefaultTaskQueueFactory();
|
||||||
CreateDefaultTaskQueueFactory(field_trials.get());
|
|
||||||
dependencies.call_factory = CreateCallFactory();
|
dependencies.call_factory = CreateCallFactory();
|
||||||
dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>(
|
dependencies.event_log_factory = std::make_unique<RtcEventLogFactory>(
|
||||||
dependencies.task_queue_factory.get());
|
dependencies.task_queue_factory.get());
|
||||||
|
if (field_trials) {
|
||||||
dependencies.trials = std::move(field_trials);
|
dependencies.trials = std::move(field_trials);
|
||||||
|
} else {
|
||||||
|
dependencies.trials = std::make_unique<webrtc::FieldTrialBasedConfig>();
|
||||||
|
}
|
||||||
|
|
||||||
if (network_thread) {
|
if (network_thread) {
|
||||||
// TODO(bugs.webrtc.org/13145): Add an rtc::SocketFactory* argument.
|
// TODO(bugs.webrtc.org/13145): Add an rtc::SocketFactory* argument.
|
||||||
|
|||||||
@ -61,9 +61,7 @@ rtc_library("task_queue_test") {
|
|||||||
]
|
]
|
||||||
} else {
|
} else {
|
||||||
deps = [
|
deps = [
|
||||||
":default_task_queue_factory",
|
|
||||||
":task_queue",
|
":task_queue",
|
||||||
"../../api:field_trials_view",
|
|
||||||
"../../api/units:time_delta",
|
"../../api/units:time_delta",
|
||||||
"../../rtc_base:refcount",
|
"../../rtc_base:refcount",
|
||||||
"../../rtc_base:rtc_event",
|
"../../rtc_base:rtc_event",
|
||||||
@ -83,26 +81,11 @@ rtc_library("default_task_queue_factory") {
|
|||||||
poisonous = [ "default_task_queue" ]
|
poisonous = [ "default_task_queue" ]
|
||||||
}
|
}
|
||||||
sources = [ "default_task_queue_factory.h" ]
|
sources = [ "default_task_queue_factory.h" ]
|
||||||
deps = [
|
deps = [ ":task_queue" ]
|
||||||
":task_queue",
|
|
||||||
"../../api:field_trials_view",
|
|
||||||
"../../rtc_base/memory:always_valid_pointer",
|
|
||||||
]
|
|
||||||
|
|
||||||
if (rtc_enable_libevent) {
|
if (rtc_enable_libevent) {
|
||||||
if (is_android) {
|
|
||||||
sources +=
|
|
||||||
[ "default_task_queue_factory_stdlib_or_libevent_experiment.cc" ]
|
|
||||||
deps += [
|
|
||||||
"../../api/transport:field_trial_based_config",
|
|
||||||
"../../rtc_base:logging",
|
|
||||||
"../../rtc_base:rtc_task_queue_libevent",
|
|
||||||
"../../rtc_base:rtc_task_queue_stdlib",
|
|
||||||
]
|
|
||||||
} else {
|
|
||||||
sources += [ "default_task_queue_factory_libevent.cc" ]
|
sources += [ "default_task_queue_factory_libevent.cc" ]
|
||||||
deps += [ "../../rtc_base:rtc_task_queue_libevent" ]
|
deps += [ "../../rtc_base:rtc_task_queue_libevent" ]
|
||||||
}
|
|
||||||
} else if (is_mac || is_ios) {
|
} else if (is_mac || is_ios) {
|
||||||
sources += [ "default_task_queue_factory_gcd.cc" ]
|
sources += [ "default_task_queue_factory_gcd.cc" ]
|
||||||
deps += [ "../../rtc_base:rtc_task_queue_gcd" ]
|
deps += [ "../../rtc_base:rtc_task_queue_gcd" ]
|
||||||
|
|||||||
@ -12,13 +12,11 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory(
|
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory();
|
||||||
const FieldTrialsView* field_trials = nullptr);
|
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|
||||||
|
|||||||
@ -9,14 +9,12 @@
|
|||||||
*/
|
*/
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
#include "rtc_base/task_queue_gcd.h"
|
#include "rtc_base/task_queue_gcd.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory(
|
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory() {
|
||||||
const FieldTrialsView* field_trials) {
|
|
||||||
return CreateTaskQueueGcdFactory();
|
return CreateTaskQueueGcdFactory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,14 +9,12 @@
|
|||||||
*/
|
*/
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
#include "rtc_base/task_queue_libevent.h"
|
#include "rtc_base/task_queue_libevent.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory(
|
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory() {
|
||||||
const FieldTrialsView* field_trials) {
|
|
||||||
return CreateTaskQueueLibeventFactory();
|
return CreateTaskQueueLibeventFactory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,14 +9,12 @@
|
|||||||
*/
|
*/
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
#include "rtc_base/task_queue_stdlib.h"
|
#include "rtc_base/task_queue_stdlib.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory(
|
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory() {
|
||||||
const FieldTrialsView* field_trials) {
|
|
||||||
return CreateTaskQueueStdlibFactory();
|
return CreateTaskQueueStdlibFactory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2022 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
|
||||||
#include "api/transport/field_trial_based_config.h"
|
|
||||||
#include "rtc_base/logging.h"
|
|
||||||
#include "rtc_base/memory/always_valid_pointer.h"
|
|
||||||
#include "rtc_base/task_queue_libevent.h"
|
|
||||||
#include "rtc_base/task_queue_stdlib.h"
|
|
||||||
|
|
||||||
namespace webrtc {
|
|
||||||
|
|
||||||
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory(
|
|
||||||
const FieldTrialsView* field_trials_view) {
|
|
||||||
AlwaysValidPointer<const FieldTrialsView, FieldTrialBasedConfig> field_trials(
|
|
||||||
field_trials_view);
|
|
||||||
if (field_trials->IsEnabled("WebRTC-TaskQueue-ReplaceLibeventWithStdlib")) {
|
|
||||||
RTC_LOG(LS_INFO) << "WebRTC-TaskQueue-ReplaceLibeventWithStdlib: "
|
|
||||||
<< "using TaskQueueStdlibFactory.";
|
|
||||||
return CreateTaskQueueStdlibFactory();
|
|
||||||
}
|
|
||||||
|
|
||||||
RTC_LOG(LS_INFO) << "WebRTC-TaskQueue-ReplaceLibeventWithStdlib: "
|
|
||||||
<< "using TaskQueueLibeventFactory.";
|
|
||||||
return CreateTaskQueueLibeventFactory();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace webrtc
|
|
||||||
@ -9,14 +9,12 @@
|
|||||||
*/
|
*/
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
#include "rtc_base/task_queue_win.h"
|
#include "rtc_base/task_queue_win.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory(
|
std::unique_ptr<TaskQueueFactory> CreateDefaultTaskQueueFactory() {
|
||||||
const FieldTrialsView* field_trials) {
|
|
||||||
return CreateTaskQueueWinFactory();
|
return CreateTaskQueueWinFactory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
#include "absl/cleanup/cleanup.h"
|
#include "absl/cleanup/cleanup.h"
|
||||||
#include "absl/strings/string_view.h"
|
#include "absl/strings/string_view.h"
|
||||||
#include "api/task_queue/default_task_queue_factory.h"
|
|
||||||
#include "api/units/time_delta.h"
|
#include "api/units/time_delta.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
#include "rtc_base/ref_counter.h"
|
#include "rtc_base/ref_counter.h"
|
||||||
@ -30,13 +29,13 @@ std::unique_ptr<TaskQueueBase, TaskQueueDeleter> CreateTaskQueue(
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, Construct) {
|
TEST_P(TaskQueueTest, Construct) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
auto queue = CreateTaskQueue(factory, "Construct");
|
auto queue = CreateTaskQueue(factory, "Construct");
|
||||||
EXPECT_FALSE(queue->IsCurrent());
|
EXPECT_FALSE(queue->IsCurrent());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostAndCheckCurrent) {
|
TEST_P(TaskQueueTest, PostAndCheckCurrent) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
rtc::Event event;
|
rtc::Event event;
|
||||||
auto queue = CreateTaskQueue(factory, "PostAndCheckCurrent");
|
auto queue = CreateTaskQueue(factory, "PostAndCheckCurrent");
|
||||||
|
|
||||||
@ -54,7 +53,7 @@ TEST_P(TaskQueueTest, PostAndCheckCurrent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostCustomTask) {
|
TEST_P(TaskQueueTest, PostCustomTask) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
rtc::Event ran;
|
rtc::Event ran;
|
||||||
auto queue = CreateTaskQueue(factory, "PostCustomImplementation");
|
auto queue = CreateTaskQueue(factory, "PostCustomImplementation");
|
||||||
|
|
||||||
@ -73,7 +72,7 @@ TEST_P(TaskQueueTest, PostCustomTask) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostDelayedZero) {
|
TEST_P(TaskQueueTest, PostDelayedZero) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
rtc::Event event;
|
rtc::Event event;
|
||||||
auto queue = CreateTaskQueue(factory, "PostDelayedZero");
|
auto queue = CreateTaskQueue(factory, "PostDelayedZero");
|
||||||
|
|
||||||
@ -82,7 +81,7 @@ TEST_P(TaskQueueTest, PostDelayedZero) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostFromQueue) {
|
TEST_P(TaskQueueTest, PostFromQueue) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
rtc::Event event;
|
rtc::Event event;
|
||||||
auto queue = CreateTaskQueue(factory, "PostFromQueue");
|
auto queue = CreateTaskQueue(factory, "PostFromQueue");
|
||||||
|
|
||||||
@ -92,7 +91,7 @@ TEST_P(TaskQueueTest, PostFromQueue) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostDelayed) {
|
TEST_P(TaskQueueTest, PostDelayed) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
rtc::Event event;
|
rtc::Event event;
|
||||||
auto queue =
|
auto queue =
|
||||||
CreateTaskQueue(factory, "PostDelayed", TaskQueueFactory::Priority::HIGH);
|
CreateTaskQueue(factory, "PostDelayed", TaskQueueFactory::Priority::HIGH);
|
||||||
@ -114,7 +113,7 @@ TEST_P(TaskQueueTest, PostDelayed) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostMultipleDelayed) {
|
TEST_P(TaskQueueTest, PostMultipleDelayed) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
auto queue = CreateTaskQueue(factory, "PostMultipleDelayed");
|
auto queue = CreateTaskQueue(factory, "PostMultipleDelayed");
|
||||||
|
|
||||||
std::vector<rtc::Event> events(100);
|
std::vector<rtc::Event> events(100);
|
||||||
@ -133,7 +132,7 @@ TEST_P(TaskQueueTest, PostMultipleDelayed) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostDelayedAfterDestruct) {
|
TEST_P(TaskQueueTest, PostDelayedAfterDestruct) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
rtc::Event run;
|
rtc::Event run;
|
||||||
rtc::Event deleted;
|
rtc::Event deleted;
|
||||||
auto queue = CreateTaskQueue(factory, "PostDelayedAfterDestruct");
|
auto queue = CreateTaskQueue(factory, "PostDelayedAfterDestruct");
|
||||||
@ -148,7 +147,7 @@ TEST_P(TaskQueueTest, PostDelayedAfterDestruct) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(TaskQueueTest, PostAndReuse) {
|
TEST_P(TaskQueueTest, PostAndReuse) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
rtc::Event event;
|
rtc::Event event;
|
||||||
auto post_queue = CreateTaskQueue(factory, "PostQueue");
|
auto post_queue = CreateTaskQueue(factory, "PostQueue");
|
||||||
auto reply_queue = CreateTaskQueue(factory, "ReplyQueue");
|
auto reply_queue = CreateTaskQueue(factory, "ReplyQueue");
|
||||||
@ -204,7 +203,7 @@ TEST_P(TaskQueueTest, PostALot) {
|
|||||||
rtc::Event event_;
|
rtc::Event event_;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
static constexpr int kTaskCount = 0xffff;
|
static constexpr int kTaskCount = 0xffff;
|
||||||
rtc::Event posting_done;
|
rtc::Event posting_done;
|
||||||
BlockingCounter all_destroyed(kTaskCount);
|
BlockingCounter all_destroyed(kTaskCount);
|
||||||
@ -248,7 +247,7 @@ TEST_P(TaskQueueTest, PostALot) {
|
|||||||
// unit test, run it under TSan or some other tool that is able to
|
// unit test, run it under TSan or some other tool that is able to
|
||||||
// directly detect data races.
|
// directly detect data races.
|
||||||
TEST_P(TaskQueueTest, PostTwoWithSharedUnprotectedState) {
|
TEST_P(TaskQueueTest, PostTwoWithSharedUnprotectedState) {
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
|
std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
|
||||||
struct SharedState {
|
struct SharedState {
|
||||||
// First task will set this value to 1 and second will assert it.
|
// First task will set this value to 1 and second will assert it.
|
||||||
int state = 0;
|
int state = 0;
|
||||||
|
|||||||
@ -13,7 +13,6 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
#include "test/gtest.h"
|
#include "test/gtest.h"
|
||||||
|
|
||||||
@ -32,9 +31,9 @@ namespace webrtc {
|
|||||||
// INSTANTIATE_TEST_SUITE_P(My, TaskQueueTest, Values(CreateMyFactory));
|
// INSTANTIATE_TEST_SUITE_P(My, TaskQueueTest, Values(CreateMyFactory));
|
||||||
//
|
//
|
||||||
// } // namespace
|
// } // namespace
|
||||||
class TaskQueueTest
|
class TaskQueueTest : public ::testing::TestWithParam<
|
||||||
: public ::testing::TestWithParam<std::function<
|
std::function<std::unique_ptr<TaskQueueFactory>()>> {
|
||||||
std::unique_ptr<TaskQueueFactory>(const FieldTrialsView*)>> {};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|
||||||
|
|||||||
@ -1753,7 +1753,6 @@ if (rtc_include_tests) {
|
|||||||
":threading",
|
":threading",
|
||||||
":timeutils",
|
":timeutils",
|
||||||
"../api:array_view",
|
"../api:array_view",
|
||||||
"../api:field_trials_view",
|
|
||||||
"../api:make_ref_counted",
|
"../api:make_ref_counted",
|
||||||
"../api/task_queue",
|
"../api/task_queue",
|
||||||
"../api/task_queue:pending_task_safety_flag",
|
"../api/task_queue:pending_task_safety_flag",
|
||||||
|
|||||||
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "api/field_trials_view.h"
|
|
||||||
#include "api/task_queue/task_queue_factory.h"
|
#include "api/task_queue/task_queue_factory.h"
|
||||||
#include "api/task_queue/task_queue_test.h"
|
#include "api/task_queue/task_queue_test.h"
|
||||||
#include "api/units/time_delta.h"
|
#include "api/units/time_delta.h"
|
||||||
@ -1153,16 +1152,11 @@ class ThreadFactory : public webrtc::TaskQueueFactory {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> CreateDefaultThreadFactory(
|
|
||||||
const webrtc::FieldTrialsView*) {
|
|
||||||
return std::make_unique<ThreadFactory>();
|
|
||||||
}
|
|
||||||
|
|
||||||
using ::webrtc::TaskQueueTest;
|
using ::webrtc::TaskQueueTest;
|
||||||
|
|
||||||
INSTANTIATE_TEST_SUITE_P(RtcThread,
|
INSTANTIATE_TEST_SUITE_P(RtcThread,
|
||||||
TaskQueueTest,
|
TaskQueueTest,
|
||||||
::testing::Values(CreateDefaultThreadFactory));
|
::testing::Values(std::make_unique<ThreadFactory>));
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace rtc
|
} // namespace rtc
|
||||||
|
|||||||
@ -340,22 +340,21 @@ class RtpReplayer final {
|
|||||||
// Replay a rtp dump with an optional json configuration.
|
// Replay a rtp dump with an optional json configuration.
|
||||||
static void Replay(const std::string& replay_config_path,
|
static void Replay(const std::string& replay_config_path,
|
||||||
const std::string& rtp_dump_path) {
|
const std::string& rtp_dump_path) {
|
||||||
webrtc::RtcEventLogNull event_log;
|
|
||||||
Call::Config call_config(&event_log);
|
|
||||||
call_config.trials = new FieldTrialBasedConfig();
|
|
||||||
|
|
||||||
std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory =
|
std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory =
|
||||||
webrtc::CreateDefaultTaskQueueFactory(call_config.trials);
|
webrtc::CreateDefaultTaskQueueFactory();
|
||||||
auto worker_thread = task_queue_factory->CreateTaskQueue(
|
auto worker_thread = task_queue_factory->CreateTaskQueue(
|
||||||
"worker_thread", TaskQueueFactory::Priority::NORMAL);
|
"worker_thread", TaskQueueFactory::Priority::NORMAL);
|
||||||
rtc::Event sync_event(/*manual_reset=*/false,
|
rtc::Event sync_event(/*manual_reset=*/false,
|
||||||
/*initially_signalled=*/false);
|
/*initially_signalled=*/false);
|
||||||
|
webrtc::RtcEventLogNull event_log;
|
||||||
|
Call::Config call_config(&event_log);
|
||||||
call_config.task_queue_factory = task_queue_factory.get();
|
call_config.task_queue_factory = task_queue_factory.get();
|
||||||
|
call_config.trials = new FieldTrialBasedConfig();
|
||||||
|
std::unique_ptr<Call> call;
|
||||||
|
std::unique_ptr<StreamState> stream_state;
|
||||||
|
|
||||||
// Creation of the streams must happen inside a task queue because it is
|
// Creation of the streams must happen inside a task queue because it is
|
||||||
// resued as a worker thread.
|
// resued as a worker thread.
|
||||||
std::unique_ptr<Call> call;
|
|
||||||
std::unique_ptr<StreamState> stream_state;
|
|
||||||
worker_thread->PostTask([&]() {
|
worker_thread->PostTask([&]() {
|
||||||
call.reset(Call::Create(call_config));
|
call.reset(Call::Create(call_config));
|
||||||
|
|
||||||
|
|||||||
@ -173,9 +173,8 @@
|
|||||||
if (webrtc::field_trial::IsEnabled("WebRTC-Network-UseNWPathMonitor")) {
|
if (webrtc::field_trial::IsEnabled("WebRTC-Network-UseNWPathMonitor")) {
|
||||||
dependencies.network_monitor_factory = webrtc::CreateNetworkMonitorFactory();
|
dependencies.network_monitor_factory = webrtc::CreateNetworkMonitorFactory();
|
||||||
}
|
}
|
||||||
|
dependencies.task_queue_factory = webrtc::CreateDefaultTaskQueueFactory();
|
||||||
dependencies.trials = std::make_unique<webrtc::FieldTrialBasedConfig>();
|
dependencies.trials = std::make_unique<webrtc::FieldTrialBasedConfig>();
|
||||||
dependencies.task_queue_factory =
|
|
||||||
webrtc::CreateDefaultTaskQueueFactory(dependencies.trials.get());
|
|
||||||
cricket::MediaEngineDependencies media_deps;
|
cricket::MediaEngineDependencies media_deps;
|
||||||
media_deps.adm = std::move(audioDeviceModule);
|
media_deps.adm = std::move(audioDeviceModule);
|
||||||
media_deps.task_queue_factory = dependencies.task_queue_factory.get();
|
media_deps.task_queue_factory = dependencies.task_queue_factory.get();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user