Use explicit TaskQueueFactory for FrameGeneratorCapturer in CallTest.
This replaces the implicit usage of GlobalTaskQueueFactory with an explicitly provided DefaultTaskQueueFactory instance.
Bug: webrtc:10284
Change-Id: I4a97724ca69829c245c3d1c5e69bedf8755ce5f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133486
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27687}
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 85baf98..b384865 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -705,6 +705,8 @@
"../api:transport_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/audio_codecs:builtin_audio_encoder_factory",
+ "../api/task_queue",
+ "../api/task_queue:default_task_queue_factory",
"../api/test/video:function_video_factory",
"../api/video:builtin_video_bitrate_allocator_factory",
"../api/video:video_bitrate_allocator_factory",
diff --git a/test/call_test.cc b/test/call_test.cc
index 8c9a62f..3538085 100644
--- a/test/call_test.cc
+++ b/test/call_test.cc
@@ -15,6 +15,7 @@
#include "absl/memory/memory.h"
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
+#include "api/task_queue/default_task_queue_factory.h"
#include "api/video/builtin_video_bitrate_allocator_factory.h"
#include "api/video_codecs/video_encoder_config.h"
#include "call/fake_network_pipe.h"
@@ -30,6 +31,7 @@
CallTest::CallTest()
: clock_(Clock::GetRealTimeClock()),
+ task_queue_factory_(CreateDefaultTaskQueueFactory()),
send_event_log_(RtcEventLog::CreateNull()),
recv_event_log_(RtcEventLog::CreateNull()),
audio_send_config_(/*send_transport=*/nullptr,
@@ -459,10 +461,15 @@
int width,
int height) {
video_sources_.clear();
- frame_generator_capturer_ = test::FrameGeneratorCapturer::Create(
- width, height, absl::nullopt, absl::nullopt, framerate * speed, clock);
- video_sources_.emplace_back(
- std::unique_ptr<FrameGeneratorCapturer>(frame_generator_capturer_));
+ auto frame_generator_capturer =
+ absl::make_unique<test::FrameGeneratorCapturer>(
+ clock,
+ test::FrameGenerator::CreateSquareGenerator(
+ width, height, absl::nullopt, absl::nullopt),
+ framerate * speed, *task_queue_factory_);
+ frame_generator_capturer_ = frame_generator_capturer.get();
+ frame_generator_capturer->Init();
+ video_sources_.push_back(std::move(frame_generator_capturer));
ConnectVideoSourcesToStreams();
}
@@ -470,10 +477,15 @@
int width,
int height) {
video_sources_.clear();
- frame_generator_capturer_ = test::FrameGeneratorCapturer::Create(
- width, height, absl::nullopt, absl::nullopt, framerate, clock_);
- video_sources_.emplace_back(
- std::unique_ptr<FrameGeneratorCapturer>(frame_generator_capturer_));
+ auto frame_generator_capturer =
+ absl::make_unique<test::FrameGeneratorCapturer>(
+ clock_,
+ test::FrameGenerator::CreateSquareGenerator(
+ width, height, absl::nullopt, absl::nullopt),
+ framerate, *task_queue_factory_);
+ frame_generator_capturer_ = frame_generator_capturer.get();
+ frame_generator_capturer->Init();
+ video_sources_.push_back(std::move(frame_generator_capturer));
ConnectVideoSourcesToStreams();
}
diff --git a/test/call_test.h b/test/call_test.h
index 99f37c52..e27b7db 100644
--- a/test/call_test.h
+++ b/test/call_test.h
@@ -16,6 +16,7 @@
#include <vector>
#include "absl/types/optional.h"
+#include "api/task_queue/task_queue_factory.h"
#include "api/test/video/function_video_decoder_factory.h"
#include "api/test/video/function_video_encoder_factory.h"
#include "api/video/video_bitrate_allocator_factory.h"
@@ -174,6 +175,7 @@
Clock* const clock_;
+ std::unique_ptr<TaskQueueFactory> task_queue_factory_;
std::unique_ptr<webrtc::RtcEventLog> send_event_log_;
std::unique_ptr<webrtc::RtcEventLog> recv_event_log_;
std::unique_ptr<Call> sender_call_;