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}
This commit is contained in:
parent
aaaeb29ef5
commit
87155fcebf
@ -939,6 +939,7 @@ if (rtc_include_tests) {
|
||||
"../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 @@ if (rtc_include_tests) {
|
||||
"../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 @@ if (rtc_include_tests) {
|
||||
"../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",
|
||||
|
||||
@ -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::ReturnPointee;
|
||||
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 @@ std::vector<cricket::Codec> ReceiveCodecsWithId(
|
||||
|
||||
// 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 @@ TEST(WebRtcVoiceEngineTestStubLibrary, StartupShutdown) {
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, StartupShutdown) {
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, StartupShutdownWithExternalADM) {
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, StartupShutdownWithExternalADM) {
|
||||
|
||||
// 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 @@ TEST(WebRtcVoiceEngineTest, Has32Channels) {
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, SetRecvCodecs) {
|
||||
// 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, SetRtpSendParametersMaxBitrate) {
|
||||
}
|
||||
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, CollectRecvCodecs) {
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, CollectRecvCodecs) {
|
||||
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, CollectRecvCodecs) {
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, CollectRecvCodecsWithLatePtAssignment) {
|
||||
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 @@ TEST(WebRtcVoiceEngineTest, CollectRecvCodecsWithLatePtAssignment) {
|
||||
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());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user