Update VoiceEngine tests to use BuiltingAudioProcessingBuilder instead of AudioProcessingBuilder
Bug: webrtc:369904700
Change-Id: I26115ef8d4a5f2997f8286eead07dc6cf28e9496
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367203
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43339}
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 5126519..1b57100 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -939,6 +939,7 @@
"../api:simulcast_test_fixture_api",
"../api:transport_api",
"../api/audio:audio_processing",
+ "../api/audio:builtin_audio_processing_builder",
"../api/audio_codecs:audio_codecs_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/audio_codecs:builtin_audio_encoder_factory",
@@ -947,7 +948,6 @@
"../api/environment:environment_factory",
"../api/rtc_event_log",
"../api/task_queue",
- "../api/task_queue:default_task_queue_factory",
"../api/test/video:function_video_factory",
"../api/transport:bitrate_settings",
"../api/transport:field_trial_based_config",
@@ -981,7 +981,6 @@
"../common_video",
"../modules/audio_device:mock_audio_device",
"../modules/audio_mixer:audio_mixer_impl",
- "../modules/audio_processing",
"../modules/audio_processing:mocks",
"../modules/rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
diff --git a/media/engine/webrtc_voice_engine_unittest.cc b/media/engine/webrtc_voice_engine_unittest.cc
index c3576f6..7fdfaea 100644
--- a/media/engine/webrtc_voice_engine_unittest.cc
+++ b/media/engine/webrtc_voice_engine_unittest.cc
@@ -23,6 +23,7 @@
#include "absl/strings/match.h"
#include "api/audio/audio_processing.h"
+#include "api/audio/builtin_audio_processing_builder.h"
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
@@ -40,9 +41,7 @@
#include "api/rtp_headers.h"
#include "api/rtp_parameters.h"
#include "api/scoped_refptr.h"
-#include "api/task_queue/default_task_queue_factory.h"
#include "api/transport/bitrate_settings.h"
-#include "api/transport/field_trial_based_config.h"
#include "api/transport/rtp/rtp_source.h"
#include "call/audio_receive_stream.h"
#include "call/audio_send_stream.h"
@@ -89,11 +88,14 @@
using ::testing::SaveArg;
using ::testing::StrictMock;
using ::testing::UnorderedElementsAreArray;
+using ::webrtc::AudioProcessing;
using ::webrtc::BitrateConstraints;
+using ::webrtc::BuiltinAudioProcessingBuilder;
using ::webrtc::Call;
using ::webrtc::CallConfig;
using ::webrtc::CreateEnvironment;
using ::webrtc::Environment;
+using ::webrtc::scoped_refptr;
constexpr uint32_t kMaxUnsignaledRecvStreams = 4;
@@ -208,9 +210,8 @@
// Tests that our stub library "works".
TEST(WebRtcVoiceEngineTestStubLibrary, StartupShutdown) {
+ Environment env = CreateEnvironment();
for (bool use_null_apm : {false, true}) {
- std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory =
- webrtc::CreateDefaultTaskQueueFactory();
rtc::scoped_refptr<webrtc::test::MockAudioDeviceModule> adm =
webrtc::test::MockAudioDeviceModule::CreateStrict();
AdmSetupExpectations(adm.get());
@@ -226,12 +227,11 @@
EXPECT_CALL(*apm, DetachAecDump());
}
{
- webrtc::FieldTrialBasedConfig trials;
cricket::WebRtcVoiceEngine engine(
- task_queue_factory.get(), adm.get(),
+ &env.task_queue_factory(), adm.get(),
webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, apm,
- nullptr, trials);
+ nullptr, env.field_trials());
engine.Init();
}
}
@@ -3754,8 +3754,8 @@
Environment env = CreateEnvironment();
rtc::scoped_refptr<webrtc::test::MockAudioDeviceModule> adm =
webrtc::test::MockAudioDeviceModule::CreateNice();
- rtc::scoped_refptr<webrtc::AudioProcessing> apm =
- use_null_apm ? nullptr : webrtc::AudioProcessingBuilder().Create();
+ scoped_refptr<AudioProcessing> apm =
+ use_null_apm ? nullptr : BuiltinAudioProcessingBuilder().Build(env);
cricket::WebRtcVoiceEngine engine(
&env.task_queue_factory(), adm.get(),
webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
@@ -3784,8 +3784,8 @@
auto adm = rtc::make_ref_counted<
::testing::NiceMock<webrtc::test::MockAudioDeviceModule>>();
{
- rtc::scoped_refptr<webrtc::AudioProcessing> apm =
- use_null_apm ? nullptr : webrtc::AudioProcessingBuilder().Create();
+ scoped_refptr<AudioProcessing> apm =
+ use_null_apm ? nullptr : BuiltinAudioProcessingBuilder().Build(env);
cricket::WebRtcVoiceEngine engine(
&env.task_queue_factory(), adm.get(),
webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
@@ -3812,21 +3812,19 @@
// Verify the payload id of common audio codecs, including CN and G722.
TEST(WebRtcVoiceEngineTest, HasCorrectPayloadTypeMapping) {
+ Environment env = CreateEnvironment();
for (bool use_null_apm : {false, true}) {
- std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory =
- webrtc::CreateDefaultTaskQueueFactory();
// TODO(ossu): Why are the payload types of codecs with non-static payload
// type assignments checked here? It shouldn't really matter.
rtc::scoped_refptr<webrtc::test::MockAudioDeviceModule> adm =
webrtc::test::MockAudioDeviceModule::CreateNice();
- rtc::scoped_refptr<webrtc::AudioProcessing> apm =
- use_null_apm ? nullptr : webrtc::AudioProcessingBuilder().Create();
- webrtc::FieldTrialBasedConfig field_trials;
+ scoped_refptr<AudioProcessing> apm =
+ use_null_apm ? nullptr : BuiltinAudioProcessingBuilder().Build(env);
cricket::WebRtcVoiceEngine engine(
- task_queue_factory.get(), adm.get(),
+ &env.task_queue_factory(), adm.get(),
webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, apm,
- nullptr, field_trials);
+ nullptr, env.field_trials());
engine.Init();
for (const cricket::Codec& codec : engine.send_codecs()) {
auto is_codec = [&codec](const char* name, int clockrate = 0) {
@@ -3868,8 +3866,8 @@
Environment env = CreateEnvironment();
rtc::scoped_refptr<webrtc::test::MockAudioDeviceModule> adm =
webrtc::test::MockAudioDeviceModule::CreateNice();
- rtc::scoped_refptr<webrtc::AudioProcessing> apm =
- use_null_apm ? nullptr : webrtc::AudioProcessingBuilder().Create();
+ scoped_refptr<AudioProcessing> apm =
+ use_null_apm ? nullptr : BuiltinAudioProcessingBuilder().Build(env);
cricket::WebRtcVoiceEngine engine(
&env.task_queue_factory(), adm.get(),
webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
@@ -3908,8 +3906,8 @@
// I think it will become clear once audio decoder injection is completed.
rtc::scoped_refptr<webrtc::test::MockAudioDeviceModule> adm =
webrtc::test::MockAudioDeviceModule::CreateNice();
- rtc::scoped_refptr<webrtc::AudioProcessing> apm =
- use_null_apm ? nullptr : webrtc::AudioProcessingBuilder().Create();
+ scoped_refptr<AudioProcessing> apm =
+ use_null_apm ? nullptr : BuiltinAudioProcessingBuilder().Build(env);
cricket::WebRtcVoiceEngine engine(
&env.task_queue_factory(), adm.get(),
webrtc::MockAudioEncoderFactory::CreateUnusedFactory(),
@@ -3975,6 +3973,7 @@
}
TEST(WebRtcVoiceEngineTest, CollectRecvCodecs) {
+ Environment env = CreateEnvironment();
for (bool use_null_apm : {false, true}) {
std::vector<webrtc::AudioCodecSpec> specs;
webrtc::AudioCodecSpec spec1{{"codec1", 48000, 2, {{"param1", "value1"}}},
@@ -3993,8 +3992,6 @@
specs.push_back(
webrtc::AudioCodecSpec{{"codec5", 8000, 2}, {8000, 1, 64000}});
- std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory =
- webrtc::CreateDefaultTaskQueueFactory();
rtc::scoped_refptr<webrtc::MockAudioEncoderFactory> unused_encoder_factory =
webrtc::MockAudioEncoderFactory::CreateUnusedFactory();
rtc::scoped_refptr<webrtc::MockAudioDecoderFactory> mock_decoder_factory =
@@ -4004,12 +4001,11 @@
rtc::scoped_refptr<webrtc::test::MockAudioDeviceModule> adm =
webrtc::test::MockAudioDeviceModule::CreateNice();
- rtc::scoped_refptr<webrtc::AudioProcessing> apm =
- use_null_apm ? nullptr : webrtc::AudioProcessingBuilder().Create();
- webrtc::FieldTrialBasedConfig field_trials;
+ scoped_refptr<AudioProcessing> apm =
+ use_null_apm ? nullptr : BuiltinAudioProcessingBuilder().Build(env);
cricket::WebRtcVoiceEngine engine(
- task_queue_factory.get(), adm.get(), unused_encoder_factory,
- mock_decoder_factory, nullptr, apm, nullptr, field_trials);
+ &env.task_queue_factory(), adm.get(), unused_encoder_factory,
+ mock_decoder_factory, nullptr, apm, nullptr, env.field_trials());
engine.Init();
auto codecs = engine.recv_codecs();
EXPECT_EQ(11u, codecs.size());
@@ -4063,6 +4059,7 @@
TEST(WebRtcVoiceEngineTest, CollectRecvCodecsWithLatePtAssignment) {
webrtc::test::ScopedKeyValueConfig field_trials(
"WebRTC-PayloadTypesInTransport/Enabled/");
+ Environment env = CreateEnvironment(&field_trials);
for (bool use_null_apm : {false, true}) {
std::vector<webrtc::AudioCodecSpec> specs;
@@ -4082,8 +4079,6 @@
specs.push_back(
webrtc::AudioCodecSpec{{"codec5", 8000, 2}, {8000, 1, 64000}});
- std::unique_ptr<webrtc::TaskQueueFactory> task_queue_factory =
- webrtc::CreateDefaultTaskQueueFactory();
rtc::scoped_refptr<webrtc::MockAudioEncoderFactory> unused_encoder_factory =
webrtc::MockAudioEncoderFactory::CreateUnusedFactory();
rtc::scoped_refptr<webrtc::MockAudioDecoderFactory> mock_decoder_factory =
@@ -4093,11 +4088,11 @@
rtc::scoped_refptr<webrtc::test::MockAudioDeviceModule> adm =
webrtc::test::MockAudioDeviceModule::CreateNice();
- rtc::scoped_refptr<webrtc::AudioProcessing> apm =
- use_null_apm ? nullptr : webrtc::AudioProcessingBuilder().Create();
+ scoped_refptr<AudioProcessing> apm =
+ use_null_apm ? nullptr : BuiltinAudioProcessingBuilder().Build(env);
cricket::WebRtcVoiceEngine engine(
- task_queue_factory.get(), adm.get(), unused_encoder_factory,
- mock_decoder_factory, nullptr, apm, nullptr, field_trials);
+ &env.task_queue_factory(), adm.get(), unused_encoder_factory,
+ mock_decoder_factory, nullptr, apm, nullptr, env.field_trials());
engine.Init();
auto codecs = engine.recv_codecs();
EXPECT_EQ(11u, codecs.size());