Move TaskQueueFactory ownership into Environment
Now that it is used through the environment both for creating MediaEngine and for creating Calls.
Bug: webrtc:15656
Change-Id: Ib95ee46fe08d9d1ed1ef96bd67189e98052599ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329202
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41286}
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index e73213f..8540611 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -1530,7 +1530,6 @@
"../api/metronome",
"../api/neteq:neteq_api",
"../api/rtc_event_log:rtc_event_log",
- "../api/task_queue:task_queue",
"../api/transport:bitrate_settings",
"../api/transport:network_control",
"../api/transport:sctp_transport_factory_interface",
diff --git a/pc/peer_connection_factory.cc b/pc/peer_connection_factory.cc
index ab0bc24..8c45c89 100644
--- a/pc/peer_connection_factory.cc
+++ b/pc/peer_connection_factory.cc
@@ -80,12 +80,9 @@
// Static
rtc::scoped_refptr<PeerConnectionFactory> PeerConnectionFactory::Create(
PeerConnectionFactoryDependencies dependencies) {
- // TODO(bugs.webrtc.org/15656): Move task_queue_factory into environment with
- // ownership when MediaFactory::CreateMedia would use it from the
- // Environment instead of the PeerConnectionFactoryDependencies.
auto context = ConnectionContext::Create(
CreateEnvironment(std::move(dependencies.trials),
- dependencies.task_queue_factory.get()),
+ std::move(dependencies.task_queue_factory)),
&dependencies);
if (!context) {
return nullptr;
@@ -97,7 +94,6 @@
rtc::scoped_refptr<ConnectionContext> context,
PeerConnectionFactoryDependencies* dependencies)
: context_(context),
- task_queue_factory_(std::move(dependencies->task_queue_factory)),
event_log_factory_(std::move(dependencies->event_log_factory)),
fec_controller_factory_(std::move(dependencies->fec_controller_factory)),
network_state_predictor_factory_(
@@ -111,15 +107,12 @@
: std::make_unique<RtpTransportControllerSendFactory>()),
metronome_(std::move(dependencies->metronome)) {}
-// TODO(bugs.webrtc.org/15656): Move task_queue_factory into environment with
-// ownership when MediaFactory::CreateMedia would use it from the
-// Environment instead of the PeerConnectionFactoryDependencies.
PeerConnectionFactory::PeerConnectionFactory(
PeerConnectionFactoryDependencies dependencies)
: PeerConnectionFactory(
ConnectionContext::Create(
CreateEnvironment(std::move(dependencies.trials),
- dependencies.task_queue_factory.get()),
+ std::move(dependencies.task_queue_factory)),
&dependencies),
&dependencies) {}
diff --git a/pc/peer_connection_factory.h b/pc/peer_connection_factory.h
index 5e652a7..c3760c0 100644
--- a/pc/peer_connection_factory.h
+++ b/pc/peer_connection_factory.h
@@ -33,7 +33,6 @@
#include "api/rtp_parameters.h"
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
-#include "api/task_queue/task_queue_factory.h"
#include "api/transport/network_control.h"
#include "api/transport/sctp_transport_factory_interface.h"
#include "call/call.h"
@@ -139,7 +138,6 @@
rtc::scoped_refptr<ConnectionContext> context_;
PeerConnectionFactoryInterface::Options options_
RTC_GUARDED_BY(signaling_thread());
- std::unique_ptr<TaskQueueFactory> task_queue_factory_;
std::unique_ptr<RtcEventLogFactoryInterface> event_log_factory_;
std::unique_ptr<FecControllerFactoryInterface> fec_controller_factory_;
std::unique_ptr<NetworkStatePredictorFactoryInterface>