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}
This commit is contained in:
Danil Chapovalov
2019-03-22 12:59:48 +01:00
committed by Commit Bot
parent 0d617ccc1c
commit 31660fdfea
4 changed files with 22 additions and 17 deletions

View File

@ -131,7 +131,7 @@ if (rtc_include_tests) {
"../api/audio_codecs:audio_codecs_api", "../api/audio_codecs:audio_codecs_api",
"../api/audio_codecs/opus:audio_decoder_opus", "../api/audio_codecs/opus:audio_decoder_opus",
"../api/audio_codecs/opus:audio_encoder_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", "../api/units:time_delta",
"../call:mock_bitrate_allocator", "../call:mock_bitrate_allocator",
"../call:mock_call_interfaces", "../call:mock_call_interfaces",
@ -142,12 +142,8 @@ if (rtc_include_tests) {
"../common_audio", "../common_audio",
"../logging:mocks", "../logging:mocks",
"../logging:rtc_event_log_api", "../logging:rtc_event_log_api",
"../modules/audio_device:audio_device_impl", # For TestAudioDeviceModule
"../modules/audio_device:mock_audio_device", "../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_mixer:audio_mixer_impl",
"../modules/audio_processing:audio_processing_statistics", "../modules/audio_processing:audio_processing_statistics",
"../modules/audio_processing:mocks", "../modules/audio_processing:mocks",
@ -157,11 +153,13 @@ if (rtc_include_tests) {
"../modules/utility", "../modules/utility",
"../rtc_base:checks", "../rtc_base:checks",
"../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue", "../rtc_base:rtc_base_tests_utils",
"../rtc_base:safe_compare", "../rtc_base:safe_compare",
"../rtc_base:task_queue_for_test",
"../rtc_base:timeutils", "../rtc_base:timeutils",
"../system_wrappers", "../system_wrappers",
"../test:audio_codec_mocks", "../test:audio_codec_mocks",
"../test:field_trial",
"../test:rtp_test_utils", "../test:rtp_test_utils",
"../test:test_common", "../test:test_common",
"../test:test_support", "../test:test_support",
@ -254,6 +252,7 @@ if (rtc_include_tests) {
"../call:simulated_network", "../call:simulated_network",
"../common_audio", "../common_audio",
"../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_approved",
"../rtc_base:task_queue_for_test",
"../system_wrappers", "../system_wrappers",
"../test:field_trial", "../test:field_trial",
"../test:fileutils", "../test:fileutils",

View File

@ -13,7 +13,7 @@
#include <vector> #include <vector>
#include "absl/memory/memory.h" #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 "api/test/mock_frame_encryptor.h"
#include "audio/audio_send_stream.h" #include "audio/audio_send_stream.h"
#include "audio/audio_state.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_bandwidth_observer.h"
#include "modules/rtp_rtcp/mocks/mock_rtcp_rtt_stats.h" #include "modules/rtp_rtcp/mocks/mock_rtcp_rtt_stats.h"
#include "modules/rtp_rtcp/mocks/mock_rtp_rtcp.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 "system_wrappers/include/clock.h"
#include "test/field_trial.h" #include "test/field_trial.h"
#include "test/gtest.h" #include "test/gtest.h"
@ -128,10 +128,13 @@ rtc::scoped_refptr<MockAudioEncoderFactory> SetupEncoderFactoryMock() {
struct ConfigHelper { struct ConfigHelper {
ConfigHelper(bool audio_bwe_enabled, bool expect_set_encoder_call) ConfigHelper(bool audio_bwe_enabled, bool expect_set_encoder_call)
: clock_(1000000), : clock_(1000000),
task_queue_factory_(CreateDefaultTaskQueueFactory()),
stream_config_(/*send_transport=*/nullptr, /*media_transport=*/nullptr), stream_config_(/*send_transport=*/nullptr, /*media_transport=*/nullptr),
audio_processing_(new rtc::RefCountedObject<MockAudioProcessing>()), audio_processing_(new rtc::RefCountedObject<MockAudioProcessing>()),
bitrate_allocator_(&clock_, &limit_observer_), 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) { audio_encoder_(nullptr) {
using testing::Invoke; using testing::Invoke;
@ -167,7 +170,7 @@ struct ConfigHelper {
return std::unique_ptr<internal::AudioSendStream>( return std::unique_ptr<internal::AudioSendStream>(
new internal::AudioSendStream( new internal::AudioSendStream(
Clock::GetRealTimeClock(), stream_config_, audio_state_, 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, &event_log_, &rtcp_rtt_stats_, absl::nullopt,
std::unique_ptr<voe::ChannelSendInterface>(channel_send_))); std::unique_ptr<voe::ChannelSendInterface>(channel_send_)));
} }
@ -289,6 +292,7 @@ struct ConfigHelper {
private: private:
SimulatedClock clock_; SimulatedClock clock_;
std::unique_ptr<TaskQueueFactory> task_queue_factory_;
rtc::scoped_refptr<AudioState> audio_state_; rtc::scoped_refptr<AudioState> audio_state_;
AudioSendStream::Config stream_config_; AudioSendStream::Config stream_config_;
testing::StrictMock<MockChannelSend>* channel_send_ = nullptr; testing::StrictMock<MockChannelSend>* channel_send_ = nullptr;
@ -303,7 +307,7 @@ struct ConfigHelper {
BitrateAllocator bitrate_allocator_; BitrateAllocator bitrate_allocator_;
// |worker_queue| is defined last to ensure all pending tasks are cancelled // |worker_queue| is defined last to ensure all pending tasks are cancelled
// and deleted before any other members. // and deleted before any other members.
rtc::TaskQueue worker_queue_; TaskQueueForTest worker_queue_;
std::unique_ptr<AudioEncoder> audio_encoder_; std::unique_ptr<AudioEncoder> audio_encoder_;
}; };
} // namespace } // namespace

View File

@ -16,6 +16,7 @@
#include "call/fake_network_pipe.h" #include "call/fake_network_pipe.h"
#include "call/simulated_network.h" #include "call/simulated_network.h"
#include "common_audio/wav_file.h" #include "common_audio/wav_file.h"
#include "rtc_base/task_queue_for_test.h"
#include "system_wrappers/include/sleep.h" #include "system_wrappers/include/sleep.h"
#include "test/field_trial.h" #include "test/field_trial.h"
#include "test/gtest.h" #include "test/gtest.h"
@ -150,7 +151,7 @@ class NoBandwidthDropAfterDtx : public AudioBweTest {
private: private:
Call* sender_call_; Call* sender_call_;
rtc::TaskQueue stats_poller_; TaskQueueForTest stats_poller_;
}; };
using AudioBweIntegrationTest = CallTest; using AudioBweIntegrationTest = CallTest;

View File

@ -13,7 +13,7 @@
#include "api/audio_codecs/audio_encoder_factory_template.h" #include "api/audio_codecs/audio_encoder_factory_template.h"
#include "api/audio_codecs/opus/audio_decoder_opus.h" #include "api/audio_codecs/opus/audio_decoder_opus.h"
#include "api/audio_codecs/opus/audio_encoder_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/loopback_media_transport.h"
#include "api/test/mock_audio_mixer.h" #include "api/test/mock_audio_mixer.h"
#include "audio/audio_receive_stream.h" #include "audio/audio_receive_stream.h"
@ -25,7 +25,6 @@
#include "modules/audio_mixer/audio_mixer_impl.h" #include "modules/audio_mixer/audio_mixer_impl.h"
#include "modules/audio_processing/include/mock_audio_processing.h" #include "modules/audio_processing/include/mock_audio_processing.h"
#include "modules/utility/include/process_thread.h" #include "modules/utility/include/process_thread.h"
#include "rtc_base/task_queue.h"
#include "rtc_base/time_utils.h" #include "rtc_base/time_utils.h"
#include "test/gtest.h" #include "test/gtest.h"
#include "test/mock_transport.h" #include "test/mock_transport.h"
@ -123,13 +122,15 @@ TEST(AudioWithMediaTransport, DeliversAudio) {
send_config.encoder_factory = CreateAudioEncoderFactory<AudioEncoderOpus>(); send_config.encoder_factory = CreateAudioEncoderFactory<AudioEncoderOpus>();
std::unique_ptr<ProcessThread> send_process_thread = std::unique_ptr<ProcessThread> send_process_thread =
ProcessThread::Create("audio send thread"); ProcessThread::Create("audio send thread");
std::unique_ptr<TaskQueueFactory> task_queue_factory =
CreateDefaultTaskQueueFactory();
RtpTransportControllerSend rtp_transport( RtpTransportControllerSend rtp_transport(
Clock::GetRealTimeClock(), null_event_log.get(), nullptr, Clock::GetRealTimeClock(), null_event_log.get(), nullptr,
BitrateConstraints(), ProcessThread::Create("Pacer"), BitrateConstraints(), ProcessThread::Create("Pacer"),
&GlobalTaskQueueFactory()); task_queue_factory.get());
webrtc::internal::AudioSendStream send_stream( webrtc::internal::AudioSendStream send_stream(
Clock::GetRealTimeClock(), send_config, audio_state, 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(), &bitrate_allocator, null_event_log.get(),
/*rtcp_rtt_stats=*/nullptr, absl::optional<RtpState>()); /*rtcp_rtt_stats=*/nullptr, absl::optional<RtpState>());