diff --git a/api/BUILD.gn b/api/BUILD.gn index d95f749da9..860ac36e91 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -941,7 +941,9 @@ if (rtc_include_tests) { ] deps = [ + ":callfactory_api", ":time_controller", + "../call:call_interfaces", "../test/time_controller", ] } diff --git a/api/test/create_time_controller.cc b/api/test/create_time_controller.cc index 1d6f24ebc6..09682bd279 100644 --- a/api/test/create_time_controller.cc +++ b/api/test/create_time_controller.cc @@ -12,6 +12,7 @@ #include +#include "call/call.h" #include "test/time_controller/external_time_controller.h" namespace webrtc { @@ -21,4 +22,22 @@ std::unique_ptr CreateTimeController( return std::make_unique(alarm); } +std::unique_ptr CreateTimeControllerBasedCallFactory( + TimeController* time_controller) { + class TimeControllerBasedCallFactory : public CallFactoryInterface { + public: + explicit TimeControllerBasedCallFactory(TimeController* time_controller) + : time_controller_(time_controller) {} + Call* CreateCall(const Call::Config& config) override { + return Call::Create(config, time_controller_->GetClock(), + time_controller_->CreateProcessThread("CallModules"), + time_controller_->CreateProcessThread("Pacer")); + } + + private: + TimeController* time_controller_; + }; + return std::make_unique(time_controller); +} + } // namespace webrtc diff --git a/api/test/create_time_controller.h b/api/test/create_time_controller.h index 9c5b19bd41..f4bd3f2c7b 100644 --- a/api/test/create_time_controller.h +++ b/api/test/create_time_controller.h @@ -12,6 +12,7 @@ #include +#include "api/call/call_factory_interface.h" #include "api/test/time_controller.h" namespace webrtc { @@ -19,6 +20,11 @@ namespace webrtc { std::unique_ptr CreateTimeController( ControlledAlarmClock* alarm); +// This is creates a call factory that creates Call instances that are backed by +// a time controller. +std::unique_ptr CreateTimeControllerBasedCallFactory( + TimeController* time_controller); + } // namespace webrtc #endif // API_TEST_CREATE_TIME_CONTROLLER_H_ diff --git a/test/peer_scenario/BUILD.gn b/test/peer_scenario/BUILD.gn index 9faff929b6..137543c517 100644 --- a/test/peer_scenario/BUILD.gn +++ b/test/peer_scenario/BUILD.gn @@ -27,6 +27,7 @@ if (rtc_include_tests) { "..:fileutils", "..:test_support", "../:video_test_common", + "../../api:create_time_controller", "../../api:libjingle_peerconnection_api", "../../api:network_emulation_manager_api", "../../api:rtc_stats_api", @@ -37,7 +38,6 @@ if (rtc_include_tests) { "../../api/task_queue:default_task_queue_factory", "../../api/video_codecs:builtin_video_decoder_factory", "../../api/video_codecs:builtin_video_encoder_factory", - "../../call:call_interfaces", "../../media:rtc_audio_video", "../../media:rtc_media_base", "../../modules/audio_device:audio_device_impl", diff --git a/test/peer_scenario/peer_scenario_client.cc b/test/peer_scenario/peer_scenario_client.cc index 3485298fd5..a88ac168d0 100644 --- a/test/peer_scenario/peer_scenario_client.cc +++ b/test/peer_scenario/peer_scenario_client.cc @@ -17,9 +17,9 @@ #include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/rtc_event_log/rtc_event_log_factory.h" #include "api/task_queue/default_task_queue_factory.h" +#include "api/test/create_time_controller.h" #include "api/video_codecs/builtin_video_decoder_factory.h" #include "api/video_codecs/builtin_video_encoder_factory.h" -#include "call/call.h" #include "media/engine/webrtc_media_engine.h" #include "modules/audio_device/include/test_audio_device.h" #include "p2p/client/basic_port_allocator.h" @@ -114,19 +114,6 @@ class LambdaPeerConnectionObserver final : public PeerConnectionObserver { PeerScenarioClient::CallbackHandlers* handlers_; }; -class TimeControllerBasedCallFactory : public CallFactoryInterface { - public: - explicit TimeControllerBasedCallFactory(TimeController* time_controller) - : time_controller_(time_controller) {} - Call* CreateCall(const Call::Config& config) override { - return Call::Create(config, time_controller_->GetClock(), - time_controller_->CreateProcessThread("CallModules"), - time_controller_->CreateProcessThread("Pacer")); - } - - private: - TimeController* time_controller_; -}; } // namespace @@ -175,7 +162,7 @@ PeerScenarioClient::PeerScenarioClient( pcf_deps.signaling_thread = signaling_thread_; pcf_deps.worker_thread = worker_thread_.get(); pcf_deps.call_factory = - std::make_unique(net->time_controller()); + CreateTimeControllerBasedCallFactory(net->time_controller()); pcf_deps.task_queue_factory = net->time_controller()->CreateTaskQueueFactory(); pcf_deps.event_log_factory =