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}
diff --git a/api/test/create_time_controller.cc b/api/test/create_time_controller.cc
index 1d6f24e..09682bd 100644
--- a/api/test/create_time_controller.cc
+++ b/api/test/create_time_controller.cc
@@ -12,6 +12,7 @@
#include <memory>
+#include "call/call.h"
#include "test/time_controller/external_time_controller.h"
namespace webrtc {
@@ -21,4 +22,22 @@
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