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_;