Use explicit TaskQueueFactory for FrameGeneratorCapturer in video/ tests

This replaces the implicit usage of GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: Ic53254ee6d9a421be18bf2df62f1742c46812701
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133576
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27690}
diff --git a/video/end_to_end_tests/multi_stream_tester.cc b/video/end_to_end_tests/multi_stream_tester.cc
index e9d1d04..58d7bc9 100644
--- a/video/end_to_end_tests/multi_stream_tester.cc
+++ b/video/end_to_end_tests/multi_stream_tester.cc
@@ -15,6 +15,7 @@
 #include <vector>
 
 #include "absl/memory/memory.h"
+#include "api/task_queue/default_task_queue_factory.h"
 #include "api/test/simulated_network.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
@@ -45,6 +46,7 @@
 
 void MultiStreamTester::RunTest() {
   webrtc::RtcEventLogNullImpl event_log;
+  auto task_queue_factory = CreateDefaultTaskQueueFactory();
   Call::Config config(&event_log);
   std::unique_ptr<Call> sender_call;
   std::unique_ptr<Call> receiver_call;
@@ -107,12 +109,16 @@
           receiver_call->CreateVideoReceiveStream(std::move(receive_config));
       receive_streams[i]->Start();
 
-      frame_generators[i] = test::FrameGeneratorCapturer::Create(
-          width, height, absl::nullopt, absl::nullopt, 30,
-          Clock::GetRealTimeClock());
-      send_streams[i]->SetSource(frame_generators[i],
+      auto* frame_generator = new test::FrameGeneratorCapturer(
+          Clock::GetRealTimeClock(),
+          test::FrameGenerator::CreateSquareGenerator(
+              width, height, absl::nullopt, absl::nullopt),
+          30, *task_queue_factory);
+      frame_generators[i] = frame_generator;
+      send_streams[i]->SetSource(frame_generator,
                                  DegradationPreference::MAINTAIN_FRAMERATE);
-      frame_generators[i]->Start();
+      frame_generator->Init();
+      frame_generator->Start();
     }
   });
 
diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc
index 1b13980..b48f08e 100644
--- a/video/video_quality_test.cc
+++ b/video/video_quality_test.cc
@@ -999,10 +999,16 @@
 void VideoQualityTest::SetupThumbnailCapturers(size_t num_thumbnail_streams) {
   VideoStream thumbnail = DefaultThumbnailStream();
   for (size_t i = 0; i < num_thumbnail_streams; ++i) {
-    thumbnail_capturers_.emplace_back(test::FrameGeneratorCapturer::Create(
-        static_cast<int>(thumbnail.width), static_cast<int>(thumbnail.height),
-        absl::nullopt, absl::nullopt, thumbnail.max_framerate, clock_));
-    RTC_DCHECK(thumbnail_capturers_.back());
+    auto frame_generator_capturer =
+        absl::make_unique<test::FrameGeneratorCapturer>(
+            clock_,
+            test::FrameGenerator::CreateSquareGenerator(
+                static_cast<int>(thumbnail.width),
+                static_cast<int>(thumbnail.height), absl::nullopt,
+                absl::nullopt),
+            thumbnail.max_framerate, *task_queue_factory_);
+    EXPECT_TRUE(frame_generator_capturer->Init());
+    thumbnail_capturers_.push_back(std::move(frame_generator_capturer));
   }
 }
 
@@ -1056,57 +1062,53 @@
   RTC_DCHECK(video_sources_.empty());
   video_sources_.resize(num_video_streams_);
   for (size_t video_idx = 0; video_idx < num_video_streams_; ++video_idx) {
+    std::unique_ptr<test::FrameGenerator> frame_generator;
     if (params_.screenshare[video_idx].enabled) {
-      std::unique_ptr<test::FrameGenerator> frame_generator =
-          CreateFrameGenerator(video_idx);
-      test::FrameGeneratorCapturer* frame_generator_capturer =
-          new test::FrameGeneratorCapturer(clock_, std::move(frame_generator),
-                                           params_.video[video_idx].fps);
-      EXPECT_TRUE(frame_generator_capturer->Init());
-      video_sources_[video_idx].reset(frame_generator_capturer);
-    } else {
-      if (params_.video[video_idx].clip_path == "Generator") {
-        video_sources_[video_idx].reset(test::FrameGeneratorCapturer::Create(
+      frame_generator = CreateFrameGenerator(video_idx);
+    } else if (params_.video[video_idx].clip_path == "Generator") {
+      frame_generator = test::FrameGenerator::CreateSquareGenerator(
+          static_cast<int>(params_.video[video_idx].width),
+          static_cast<int>(params_.video[video_idx].height), absl::nullopt,
+          absl::nullopt);
+    } else if (params_.video[video_idx].clip_path == "GeneratorI420A") {
+      frame_generator = test::FrameGenerator::CreateSquareGenerator(
+          static_cast<int>(params_.video[video_idx].width),
+          static_cast<int>(params_.video[video_idx].height),
+          test::FrameGenerator::OutputType::I420A, absl::nullopt);
+    } else if (params_.video[video_idx].clip_path == "GeneratorI010") {
+      frame_generator = test::FrameGenerator::CreateSquareGenerator(
+          static_cast<int>(params_.video[video_idx].width),
+          static_cast<int>(params_.video[video_idx].height),
+          test::FrameGenerator::OutputType::I010, absl::nullopt);
+    } else if (params_.video[video_idx].clip_path.empty()) {
+      video_sources_[video_idx] = test::CreateVideoCapturer(
+          params_.video[video_idx].width, params_.video[video_idx].height,
+          params_.video[video_idx].fps,
+          params_.video[video_idx].capture_device_index);
+      if (video_sources_[video_idx]) {
+        continue;
+      } else {
+        // Failed to get actual camera, use chroma generator as backup.
+        frame_generator = test::FrameGenerator::CreateSquareGenerator(
             static_cast<int>(params_.video[video_idx].width),
             static_cast<int>(params_.video[video_idx].height), absl::nullopt,
-            absl::nullopt, params_.video[video_idx].fps, clock_));
-      } else if (params_.video[video_idx].clip_path == "GeneratorI420A") {
-        video_sources_[video_idx].reset(test::FrameGeneratorCapturer::Create(
-            static_cast<int>(params_.video[video_idx].width),
-            static_cast<int>(params_.video[video_idx].height),
-            test::FrameGenerator::OutputType::I420A, absl::nullopt,
-            params_.video[video_idx].fps, clock_));
-      } else if (params_.video[video_idx].clip_path == "GeneratorI010") {
-        video_sources_[video_idx].reset(test::FrameGeneratorCapturer::Create(
-            static_cast<int>(params_.video[video_idx].width),
-            static_cast<int>(params_.video[video_idx].height),
-            test::FrameGenerator::OutputType::I010, absl::nullopt,
-            params_.video[video_idx].fps, clock_));
-      } else if (params_.video[video_idx].clip_path.empty()) {
-        video_sources_[video_idx] = test::CreateVideoCapturer(
-            params_.video[video_idx].width, params_.video[video_idx].height,
-            params_.video[video_idx].fps,
-            params_.video[video_idx].capture_device_index);
-        if (!video_sources_[video_idx]) {
-          // Failed to get actual camera, use chroma generator as backup.
-          video_sources_[video_idx].reset(test::FrameGeneratorCapturer::Create(
-              static_cast<int>(params_.video[video_idx].width),
-              static_cast<int>(params_.video[video_idx].height), absl::nullopt,
-              absl::nullopt, params_.video[video_idx].fps, clock_));
-        }
-      } else {
-        video_sources_[video_idx].reset(
-            test::FrameGeneratorCapturer::CreateFromYuvFile(
-                params_.video[video_idx].clip_path,
-                params_.video[video_idx].width, params_.video[video_idx].height,
-                params_.video[video_idx].fps, clock_));
-        ASSERT_TRUE(video_sources_[video_idx])
-            << "Could not create capturer for "
-            << params_.video[video_idx].clip_path
-            << ".yuv. Is this file present?";
+            absl::nullopt);
       }
+    } else {
+      frame_generator = test::FrameGenerator::CreateFromYuvFile(
+          {params_.video[video_idx].clip_path}, params_.video[video_idx].width,
+          params_.video[video_idx].height, 1);
+      ASSERT_TRUE(frame_generator) << "Could not create capturer for "
+                                   << params_.video[video_idx].clip_path
+                                   << ".yuv. Is this file present?";
     }
-    RTC_DCHECK(video_sources_[video_idx]);
+    ASSERT_TRUE(frame_generator);
+    auto frame_generator_capturer =
+        absl::make_unique<test::FrameGeneratorCapturer>(
+            clock_, std::move(frame_generator), params_.video[video_idx].fps,
+            *task_queue_factory_);
+    EXPECT_TRUE(frame_generator_capturer->Init());
+    video_sources_[video_idx] = std::move(frame_generator_capturer);
   }
 }