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}
This commit is contained in:
Danil Chapovalov 2023-11-30 11:37:02 +01:00 committed by WebRTC LUCI CQ
parent a5c8ee1672
commit 530b243a1d
3 changed files with 2 additions and 12 deletions

View File

@ -1530,7 +1530,6 @@ rtc_source_set("peer_connection_factory") {
"../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",

View File

@ -80,12 +80,9 @@ CreateModularPeerConnectionFactory(
// 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 @@ PeerConnectionFactory::PeerConnectionFactory(
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 @@ PeerConnectionFactory::PeerConnectionFactory(
: 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) {}

View File

@ -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 @@ class PeerConnectionFactory : public PeerConnectionFactoryInterface {
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>