Adds CreateTimeControllerBasedCallFactory.
Bug: webrtc:11255 Change-Id: I9614823761ff5d2eb4fe03342f255a81087b6449 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166960 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30358}
This commit is contained in:
parent
3c7e4dd85f
commit
7aa2edf936
@ -941,7 +941,9 @@ if (rtc_include_tests) {
|
||||
]
|
||||
|
||||
deps = [
|
||||
":callfactory_api",
|
||||
":time_controller",
|
||||
"../call:call_interfaces",
|
||||
"../test/time_controller",
|
||||
]
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "call/call.h"
|
||||
#include "test/time_controller/external_time_controller.h"
|
||||
|
||||
namespace webrtc {
|
||||
@ -21,4 +22,22 @@ std::unique_ptr<TimeController> CreateTimeController(
|
||||
return std::make_unique<ExternalTimeController>(alarm);
|
||||
}
|
||||
|
||||
std::unique_ptr<CallFactoryInterface> 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<TimeControllerBasedCallFactory>(time_controller);
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "api/call/call_factory_interface.h"
|
||||
#include "api/test/time_controller.h"
|
||||
|
||||
namespace webrtc {
|
||||
@ -19,6 +20,11 @@ namespace webrtc {
|
||||
std::unique_ptr<TimeController> CreateTimeController(
|
||||
ControlledAlarmClock* alarm);
|
||||
|
||||
// This is creates a call factory that creates Call instances that are backed by
|
||||
// a time controller.
|
||||
std::unique_ptr<CallFactoryInterface> CreateTimeControllerBasedCallFactory(
|
||||
TimeController* time_controller);
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // API_TEST_CREATE_TIME_CONTROLLER_H_
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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<TimeControllerBasedCallFactory>(net->time_controller());
|
||||
CreateTimeControllerBasedCallFactory(net->time_controller());
|
||||
pcf_deps.task_queue_factory =
|
||||
net->time_controller()->CreateTaskQueueFactory();
|
||||
pcf_deps.event_log_factory =
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user