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>());