Avoid using global task queue factory in audio/ unittests

in particular replace rtc::TaskQueue with TaskQueueForTest class since
latter uses DefaultTaskQueueFactory() directly instead of through
GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: I1a52c5942626e3e2256b3d78975d2740e9facb1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128880
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27245}
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index 4fdb1f6..4646eb1 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -131,7 +131,7 @@
       "../api/audio_codecs:audio_codecs_api",
       "../api/audio_codecs/opus:audio_decoder_opus",
       "../api/audio_codecs/opus:audio_encoder_opus",
-      "../api/task_queue:global_task_queue_factory",
+      "../api/task_queue:default_task_queue_factory",
       "../api/units:time_delta",
       "../call:mock_bitrate_allocator",
       "../call:mock_call_interfaces",
@@ -142,12 +142,8 @@
       "../common_audio",
       "../logging:mocks",
       "../logging:rtc_event_log_api",
+      "../modules/audio_device:audio_device_impl",  # For TestAudioDeviceModule
       "../modules/audio_device:mock_audio_device",
-      "../rtc_base:rtc_base_tests_utils",
-      "../test:field_trial",
-
-      # For TestAudioDeviceModule
-      "../modules/audio_device:audio_device_impl",
       "../modules/audio_mixer:audio_mixer_impl",
       "../modules/audio_processing:audio_processing_statistics",
       "../modules/audio_processing:mocks",
@@ -157,11 +153,13 @@
       "../modules/utility",
       "../rtc_base:checks",
       "../rtc_base:rtc_base_approved",
-      "../rtc_base:rtc_task_queue",
+      "../rtc_base:rtc_base_tests_utils",
       "../rtc_base:safe_compare",
+      "../rtc_base:task_queue_for_test",
       "../rtc_base:timeutils",
       "../system_wrappers",
       "../test:audio_codec_mocks",
+      "../test:field_trial",
       "../test:rtp_test_utils",
       "../test:test_common",
       "../test:test_support",
@@ -254,6 +252,7 @@
       "../call:simulated_network",
       "../common_audio",
       "../rtc_base:rtc_base_approved",
+      "../rtc_base:task_queue_for_test",
       "../system_wrappers",
       "../test:field_trial",
       "../test:fileutils",
diff --git a/audio/audio_send_stream_unittest.cc b/audio/audio_send_stream_unittest.cc
index 1d946c5..0db569b 100644
--- a/audio/audio_send_stream_unittest.cc
+++ b/audio/audio_send_stream_unittest.cc
@@ -13,7 +13,7 @@
 #include <vector>
 
 #include "absl/memory/memory.h"
-#include "api/task_queue/global_task_queue_factory.h"
+#include "api/task_queue/default_task_queue_factory.h"
 #include "api/test/mock_frame_encryptor.h"
 #include "audio/audio_send_stream.h"
 #include "audio/audio_state.h"
@@ -28,7 +28,7 @@
 #include "modules/rtp_rtcp/mocks/mock_rtcp_bandwidth_observer.h"
 #include "modules/rtp_rtcp/mocks/mock_rtcp_rtt_stats.h"
 #include "modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
-#include "rtc_base/task_queue.h"
+#include "rtc_base/task_queue_for_test.h"
 #include "system_wrappers/include/clock.h"
 #include "test/field_trial.h"
 #include "test/gtest.h"
@@ -128,10 +128,13 @@
 struct ConfigHelper {
   ConfigHelper(bool audio_bwe_enabled, bool expect_set_encoder_call)
       : clock_(1000000),
+        task_queue_factory_(CreateDefaultTaskQueueFactory()),
         stream_config_(/*send_transport=*/nullptr, /*media_transport=*/nullptr),
         audio_processing_(new rtc::RefCountedObject<MockAudioProcessing>()),
         bitrate_allocator_(&clock_, &limit_observer_),
-        worker_queue_("ConfigHelper_worker_queue"),
+        worker_queue_(task_queue_factory_->CreateTaskQueue(
+            "ConfigHelper_worker_queue",
+            TaskQueueFactory::Priority::NORMAL)),
         audio_encoder_(nullptr) {
     using testing::Invoke;
 
@@ -167,7 +170,7 @@
     return std::unique_ptr<internal::AudioSendStream>(
         new internal::AudioSendStream(
             Clock::GetRealTimeClock(), stream_config_, audio_state_,
-            &GlobalTaskQueueFactory(), &rtp_transport_, &bitrate_allocator_,
+            task_queue_factory_.get(), &rtp_transport_, &bitrate_allocator_,
             &event_log_, &rtcp_rtt_stats_, absl::nullopt,
             std::unique_ptr<voe::ChannelSendInterface>(channel_send_)));
   }
@@ -289,6 +292,7 @@
 
  private:
   SimulatedClock clock_;
+  std::unique_ptr<TaskQueueFactory> task_queue_factory_;
   rtc::scoped_refptr<AudioState> audio_state_;
   AudioSendStream::Config stream_config_;
   testing::StrictMock<MockChannelSend>* channel_send_ = nullptr;
@@ -303,7 +307,7 @@
   BitrateAllocator bitrate_allocator_;
   // |worker_queue| is defined last to ensure all pending tasks are cancelled
   // and deleted before any other members.
-  rtc::TaskQueue worker_queue_;
+  TaskQueueForTest worker_queue_;
   std::unique_ptr<AudioEncoder> audio_encoder_;
 };
 }  // namespace
diff --git a/audio/test/audio_bwe_integration_test.cc b/audio/test/audio_bwe_integration_test.cc
index 8a8c306..950d540 100644
--- a/audio/test/audio_bwe_integration_test.cc
+++ b/audio/test/audio_bwe_integration_test.cc
@@ -16,6 +16,7 @@
 #include "call/fake_network_pipe.h"
 #include "call/simulated_network.h"
 #include "common_audio/wav_file.h"
+#include "rtc_base/task_queue_for_test.h"
 #include "system_wrappers/include/sleep.h"
 #include "test/field_trial.h"
 #include "test/gtest.h"
@@ -150,7 +151,7 @@
 
  private:
   Call* sender_call_;
-  rtc::TaskQueue stats_poller_;
+  TaskQueueForTest stats_poller_;
 };
 
 using AudioBweIntegrationTest = CallTest;
diff --git a/audio/test/media_transport_test.cc b/audio/test/media_transport_test.cc
index e07b79e..5ab13c5 100644
--- a/audio/test/media_transport_test.cc
+++ b/audio/test/media_transport_test.cc
@@ -13,7 +13,7 @@
 #include "api/audio_codecs/audio_encoder_factory_template.h"
 #include "api/audio_codecs/opus/audio_decoder_opus.h"
 #include "api/audio_codecs/opus/audio_encoder_opus.h"
-#include "api/task_queue/global_task_queue_factory.h"
+#include "api/task_queue/default_task_queue_factory.h"
 #include "api/test/loopback_media_transport.h"
 #include "api/test/mock_audio_mixer.h"
 #include "audio/audio_receive_stream.h"
@@ -25,7 +25,6 @@
 #include "modules/audio_mixer/audio_mixer_impl.h"
 #include "modules/audio_processing/include/mock_audio_processing.h"
 #include "modules/utility/include/process_thread.h"
-#include "rtc_base/task_queue.h"
 #include "rtc_base/time_utils.h"
 #include "test/gtest.h"
 #include "test/mock_transport.h"
@@ -123,13 +122,15 @@
   send_config.encoder_factory = CreateAudioEncoderFactory<AudioEncoderOpus>();
   std::unique_ptr<ProcessThread> send_process_thread =
       ProcessThread::Create("audio send thread");
+  std::unique_ptr<TaskQueueFactory> task_queue_factory =
+      CreateDefaultTaskQueueFactory();
   RtpTransportControllerSend rtp_transport(
       Clock::GetRealTimeClock(), null_event_log.get(), nullptr,
       BitrateConstraints(), ProcessThread::Create("Pacer"),
-      &GlobalTaskQueueFactory());
+      task_queue_factory.get());
   webrtc::internal::AudioSendStream send_stream(
       Clock::GetRealTimeClock(), send_config, audio_state,
-      &GlobalTaskQueueFactory(), send_process_thread.get(), &rtp_transport,
+      task_queue_factory.get(), send_process_thread.get(), &rtp_transport,
       &bitrate_allocator, null_event_log.get(),
       /*rtcp_rtt_stats=*/nullptr, absl::optional<RtpState>());