From 62337e59dd01699eccb3c496bf7112ca930ec828 Mon Sep 17 00:00:00 2001 From: Ivo Creusen Date: Tue, 9 Jan 2018 14:17:33 +0100 Subject: [PATCH] Use AudioProcessingBuilder everywhere AudioProcessing is created. The AudioProcessingBuilder was recently introduced in https://webrtc-review.googlesource.com/c/src/+/34651 to make it easier to create APM instances. This CL replaces all calls to the old Create methods with the new AudioProcessingBuilder. Bug: webrtc:8668 Change-Id: Ibb5f0fc0dbcc85fcf3355b01bec916f20fe0eb67 Reviewed-on: https://webrtc-review.googlesource.com/36082 Commit-Queue: Ivo Creusen Reviewed-by: Karl Wiberg Cr-Commit-Position: refs/heads/master@{#21534} --- call/call_perf_tests.cc | 3 +- media/engine/apm_helpers_unittest.cc | 3 +- .../engine/nullwebrtcvideoengine_unittest.cc | 2 +- media/engine/webrtcmediaengine.cc | 7 +++-- media/engine/webrtcvoiceengine_unittest.cc | 12 ++++---- modules/audio_mixer/frame_combiner.cc | 3 +- .../aec_dump/aec_dump_integration_test.cc | 2 +- .../audio_processing_impl_locking_unittest.cc | 2 +- .../audio_processing_performance_unittest.cc | 14 +++++----- .../audio_processing_unittest.cc | 28 ++++++++++++------- .../echo_cancellation_impl_unittest.cc | 4 +-- .../include/audio_processing.h | 4 +-- .../level_controller_complexity_unittest.cc | 2 +- .../test/audio_processing_simulator.cc | 5 ++-- .../test/debug_dump_replayer.cc | 2 +- .../audio_processing/test/debug_dump_test.cc | 17 ++++++----- ortc/ortcfactory.cc | 2 +- pc/createpeerconnectionfactory.cc | 4 +-- pc/peerconnection_jsep_unittest.cc | 2 +- pc/peerconnectioninterface_unittest.cc | 2 +- sdk/android/src/jni/pc/audio.cc | 2 +- .../jni/pc/defaultaudioprocessingfactory.cc | 7 ++--- test/call_test.cc | 4 +-- .../audio_processing_fuzzer_configs.cc | 6 ++-- video/video_quality_test.cc | 2 +- 25 files changed, 77 insertions(+), 64 deletions(-) diff --git a/call/call_perf_tests.cc b/call/call_perf_tests.cc index f457546651..8e734e963a 100644 --- a/call/call_perf_tests.cc +++ b/call/call_perf_tests.cc @@ -193,7 +193,8 @@ void CallPerfTest::TestAudioVideoSync(FecMode fec, AudioState::Config send_audio_state_config; send_audio_state_config.voice_engine = voice_engine; send_audio_state_config.audio_mixer = AudioMixerImpl::Create(); - send_audio_state_config.audio_processing = AudioProcessing::Create(); + send_audio_state_config.audio_processing = + AudioProcessingBuilder().Create(); send_audio_state_config.audio_device_module = fake_audio_device; Call::Config sender_config(event_log_.get()); diff --git a/media/engine/apm_helpers_unittest.cc b/media/engine/apm_helpers_unittest.cc index e1139b236a..bad24af83b 100644 --- a/media/engine/apm_helpers_unittest.cc +++ b/media/engine/apm_helpers_unittest.cc @@ -25,7 +25,8 @@ struct TestHelper { // This replicates the conditions from voe_auto_test. Config config; config.Set(new ExperimentalAgc(false)); - apm_ = rtc::scoped_refptr(AudioProcessing::Create(config)); + apm_ = rtc::scoped_refptr( + AudioProcessingBuilder().Create(config)); apm_helpers::Init(apm()); } diff --git a/media/engine/nullwebrtcvideoengine_unittest.cc b/media/engine/nullwebrtcvideoengine_unittest.cc index a53f773fec..6c740b8c8c 100644 --- a/media/engine/nullwebrtcvideoengine_unittest.cc +++ b/media/engine/nullwebrtcvideoengine_unittest.cc @@ -32,7 +32,7 @@ class WebRtcMediaEngineNullVideo audio_encoder_factory, audio_decoder_factory, nullptr, - webrtc::AudioProcessing::Create()), + webrtc::AudioProcessingBuilder().Create()), std::forward_as_tuple()) {} }; diff --git a/media/engine/webrtcmediaengine.cc b/media/engine/webrtcmediaengine.cc index 8d8b768170..6c6464afcd 100644 --- a/media/engine/webrtcmediaengine.cc +++ b/media/engine/webrtcmediaengine.cc @@ -66,9 +66,10 @@ MediaEngineInterface* WebRtcMediaEngineFactory::Create( audio_decoder_factory, WebRtcVideoEncoderFactory* video_encoder_factory, WebRtcVideoDecoderFactory* video_decoder_factory) { - return CreateWebRtcMediaEngine( - adm, audio_encoder_factory, audio_decoder_factory, video_encoder_factory, - video_decoder_factory, nullptr, webrtc::AudioProcessing::Create()); + return CreateWebRtcMediaEngine(adm, audio_encoder_factory, + audio_decoder_factory, video_encoder_factory, + video_decoder_factory, nullptr, + webrtc::AudioProcessingBuilder().Create()); } MediaEngineInterface* WebRtcMediaEngineFactory::Create( diff --git a/media/engine/webrtcvoiceengine_unittest.cc b/media/engine/webrtcvoiceengine_unittest.cc index 5e661c7b9e..ebf6e9e271 100644 --- a/media/engine/webrtcvoiceengine_unittest.cc +++ b/media/engine/webrtcvoiceengine_unittest.cc @@ -3336,7 +3336,7 @@ TEST(WebRtcVoiceEngineTest, StartupShutdown) { // we never want it to create a decoder at this stage. testing::NiceMock adm; rtc::scoped_refptr apm = - webrtc::AudioProcessing::Create(); + webrtc::AudioProcessingBuilder().Create(); cricket::WebRtcVoiceEngine engine( &adm, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, apm); @@ -3359,7 +3359,7 @@ TEST(WebRtcVoiceEngineTest, StartupShutdownWithExternalADM) { .WillRepeatedly(Return(rtc::RefCountReleaseStatus::kDroppedLastRef)); { rtc::scoped_refptr apm = - webrtc::AudioProcessing::Create(); + webrtc::AudioProcessingBuilder().Create(); cricket::WebRtcVoiceEngine engine( &adm, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, apm); @@ -3380,7 +3380,7 @@ TEST(WebRtcVoiceEngineTest, HasCorrectPayloadTypeMapping) { // type assignments checked here? It shouldn't really matter. testing::NiceMock adm; rtc::scoped_refptr apm = - webrtc::AudioProcessing::Create(); + webrtc::AudioProcessingBuilder().Create(); cricket::WebRtcVoiceEngine engine( &adm, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, apm); @@ -3425,7 +3425,7 @@ TEST(WebRtcVoiceEngineTest, HasCorrectPayloadTypeMapping) { TEST(WebRtcVoiceEngineTest, Has32Channels) { testing::NiceMock adm; rtc::scoped_refptr apm = - webrtc::AudioProcessing::Create(); + webrtc::AudioProcessingBuilder().Create(); cricket::WebRtcVoiceEngine engine( &adm, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, apm); @@ -3463,7 +3463,7 @@ TEST(WebRtcVoiceEngineTest, SetRecvCodecs) { // I think it will become clear once audio decoder injection is completed. testing::NiceMock adm; rtc::scoped_refptr apm = - webrtc::AudioProcessing::Create(); + webrtc::AudioProcessingBuilder().Create(); cricket::WebRtcVoiceEngine engine( &adm, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), webrtc::CreateBuiltinAudioDecoderFactory(), nullptr, apm); @@ -3505,7 +3505,7 @@ TEST(WebRtcVoiceEngineTest, CollectRecvCodecs) { testing::NiceMock adm; rtc::scoped_refptr apm = - webrtc::AudioProcessing::Create(); + webrtc::AudioProcessingBuilder().Create(); cricket::WebRtcVoiceEngine engine(&adm, unused_encoder_factory, mock_decoder_factory, nullptr, apm); engine.Init(); diff --git a/modules/audio_mixer/frame_combiner.cc b/modules/audio_mixer/frame_combiner.cc index 09faf56874..7c671ec6aa 100644 --- a/modules/audio_mixer/frame_combiner.cc +++ b/modules/audio_mixer/frame_combiner.cc @@ -138,7 +138,8 @@ std::unique_ptr CreateLimiter() { Config config; config.Set(new ExperimentalAgc(false)); - std::unique_ptr limiter(AudioProcessing::Create(config)); + std::unique_ptr limiter( + AudioProcessingBuilder().Create(config)); RTC_DCHECK(limiter); webrtc::AudioProcessing::Config apm_config; diff --git a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc index 720e4f5c34..a7d53b522f 100644 --- a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc +++ b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc @@ -24,7 +24,7 @@ namespace { std::unique_ptr CreateAudioProcessing() { webrtc::Config config; std::unique_ptr apm( - webrtc::AudioProcessing::Create(config)); + webrtc::AudioProcessingBuilder().Create(config)); RTC_DCHECK(apm); return apm; } diff --git a/modules/audio_processing/audio_processing_impl_locking_unittest.cc b/modules/audio_processing/audio_processing_impl_locking_unittest.cc index 6c3bad57e6..d4cff4582b 100644 --- a/modules/audio_processing/audio_processing_impl_locking_unittest.cc +++ b/modules/audio_processing/audio_processing_impl_locking_unittest.cc @@ -496,7 +496,7 @@ AudioProcessingImplLockTest::AudioProcessingImplLockTest() render_thread_(RenderProcessorThreadFunc, this, "render"), capture_thread_(CaptureProcessorThreadFunc, this, "capture"), stats_thread_(StatsProcessorThreadFunc, this, "stats"), - apm_(AudioProcessingImpl::Create()), + apm_(AudioProcessingBuilder().Create()), render_thread_state_(kMaxFrameSize, &rand_gen_, &render_call_event_, diff --git a/modules/audio_processing/audio_processing_performance_unittest.cc b/modules/audio_processing/audio_processing_performance_unittest.cc index ea01f24af0..8dd81b2a58 100644 --- a/modules/audio_processing/audio_processing_performance_unittest.cc +++ b/modules/audio_processing/audio_processing_performance_unittest.cc @@ -559,7 +559,7 @@ class CallSimulator : public ::testing::TestWithParam { int num_capture_channels = 1; switch (simulation_config_.simulation_settings) { case SettingsType::kDefaultApmMobile: { - apm_.reset(AudioProcessingImpl::Create()); + apm_.reset(AudioProcessingBuilder().Create()); ASSERT_TRUE(!!apm_); set_default_mobile_apm_runtime_settings(apm_.get()); break; @@ -567,7 +567,7 @@ class CallSimulator : public ::testing::TestWithParam { case SettingsType::kDefaultApmDesktop: { Config config; add_default_desktop_config(&config); - apm_.reset(AudioProcessingImpl::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); apm_->SetExtraOptions(config); @@ -577,7 +577,7 @@ class CallSimulator : public ::testing::TestWithParam { Config config; add_beamformer_config(&config); add_default_desktop_config(&config); - apm_.reset(AudioProcessingImpl::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); apm_->SetExtraOptions(config); @@ -588,14 +588,14 @@ class CallSimulator : public ::testing::TestWithParam { Config config; config.Set(new Intelligibility(true)); add_default_desktop_config(&config); - apm_.reset(AudioProcessingImpl::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); apm_->SetExtraOptions(config); break; } case SettingsType::kAllSubmodulesTurnedOff: { - apm_.reset(AudioProcessingImpl::Create()); + apm_.reset(AudioProcessingBuilder().Create()); ASSERT_TRUE(!!apm_); turn_off_default_apm_runtime_settings(apm_.get()); break; @@ -604,7 +604,7 @@ class CallSimulator : public ::testing::TestWithParam { Config config; config.Set(new ExtendedFilter(true)); config.Set(new DelayAgnostic(false)); - apm_.reset(AudioProcessingImpl::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); apm_->SetExtraOptions(config); @@ -614,7 +614,7 @@ class CallSimulator : public ::testing::TestWithParam { Config config; config.Set(new ExtendedFilter(false)); config.Set(new DelayAgnostic(true)); - apm_.reset(AudioProcessingImpl::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); apm_->SetExtraOptions(config); diff --git a/modules/audio_processing/audio_processing_unittest.cc b/modules/audio_processing/audio_processing_unittest.cc index 335f836666..a75037b247 100644 --- a/modules/audio_processing/audio_processing_unittest.cc +++ b/modules/audio_processing/audio_processing_unittest.cc @@ -452,7 +452,7 @@ ApmTest::ApmTest() out_file_(NULL) { Config config; config.Set(new ExperimentalAgc(false)); - apm_.reset(AudioProcessing::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); } void ApmTest::SetUp() { @@ -1318,7 +1318,10 @@ TEST_F(ApmTest, AgcOnlyAdaptsWhenTargetSignalIsPresent) { testing::NiceMock* beamformer = new testing::NiceMock(geometry, 1u); std::unique_ptr apm( - AudioProcessing::Create(config, nullptr, nullptr, nullptr, beamformer)); + AudioProcessingBuilder() + .SetNonlinearBeamformer( + std::unique_ptr(beamformer)) + .Create(config)); EXPECT_EQ(kNoErr, apm->gain_control()->Enable(true)); ChannelBuffer src_buf(kSamplesPerChannel, kNumInputChannels); ChannelBuffer dest_buf(kSamplesPerChannel, kNumOutputChannels); @@ -1582,7 +1585,7 @@ TEST_F(ApmTest, NoProcessingWhenAllComponentsDisabledFloat) { auto src_channels = &src[0]; auto dest_channels = &dest[0]; - apm_.reset(AudioProcessing::Create()); + apm_.reset(AudioProcessingBuilder().Create()); EXPECT_NOERR(apm_->ProcessStream( &src_channels, kSamples, sample_rate, LayoutFromChannels(1), sample_rate, LayoutFromChannels(1), &dest_channels)); @@ -1962,7 +1965,8 @@ TEST_F(ApmTest, FloatAndIntInterfacesGiveSimilarResults) { Config config; config.Set(new ExperimentalAgc(false)); - std::unique_ptr fapm(AudioProcessing::Create(config)); + std::unique_ptr fapm( + AudioProcessingBuilder().Create(config)); EnableAllComponents(); EnableAllAPComponents(fapm.get()); for (int i = 0; i < ref_data.test_size(); i++) { @@ -2114,7 +2118,7 @@ TEST_F(ApmTest, Process) { config.Set(new ExperimentalAgc(false)); config.Set( new ExtendedFilter(test->use_aec_extended_filter())); - apm_.reset(AudioProcessing::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); EnableAllComponents(); @@ -2329,7 +2333,7 @@ TEST_F(ApmTest, NoErrorsWithKeyboardChannel) { {AudioProcessing::kStereoAndKeyboard, AudioProcessing::kStereo}, }; - std::unique_ptr ap(AudioProcessing::Create()); + std::unique_ptr ap(AudioProcessingBuilder().Create()); // Enable one component just to ensure some processing takes place. ap->noise_suppression()->Enable(true); for (size_t i = 0; i < arraysize(cf); ++i) { @@ -2458,7 +2462,8 @@ class AudioProcessingTest const std::string& output_file_prefix) { Config config; config.Set(new ExperimentalAgc(false)); - std::unique_ptr ap(AudioProcessing::Create(config)); + std::unique_ptr ap( + AudioProcessingBuilder().Create(config)); EnableAllAPComponents(ap.get()); ProcessingConfig processing_config = { @@ -2935,8 +2940,10 @@ TEST(ApmConfiguration, EnablePreProcessing) { new testing::NiceMock(); auto mock_pre_processor = std::unique_ptr(mock_pre_processor_ptr); - rtc::scoped_refptr apm = AudioProcessing::Create( - webrtc_config, nullptr, std::move(mock_pre_processor), nullptr, nullptr); + rtc::scoped_refptr apm = + AudioProcessingBuilder() + .SetRenderPreProcessing(std::move(mock_pre_processor)) + .Create(webrtc_config); AudioFrame audio; audio.num_channels_ = 1; @@ -2982,7 +2989,8 @@ std::unique_ptr CreateApm(bool use_AEC2) { old_config.Set(new ExtendedFilter(true)); old_config.Set(new DelayAgnostic(true)); } - std::unique_ptr apm(AudioProcessing::Create(old_config)); + std::unique_ptr apm( + AudioProcessingBuilder().Create(old_config)); if (!apm) { return apm; } diff --git a/modules/audio_processing/echo_cancellation_impl_unittest.cc b/modules/audio_processing/echo_cancellation_impl_unittest.cc index 2b9e5c5626..ec30abc2a6 100644 --- a/modules/audio_processing/echo_cancellation_impl_unittest.cc +++ b/modules/audio_processing/echo_cancellation_impl_unittest.cc @@ -17,7 +17,7 @@ namespace webrtc { TEST(EchoCancellationInternalTest, ExtendedFilter) { - std::unique_ptr ap(AudioProcessing::Create()); + std::unique_ptr ap(AudioProcessingBuilder().Create()); EXPECT_TRUE(ap->echo_cancellation()->aec_core() == NULL); EXPECT_EQ(ap->kNoError, ap->echo_cancellation()->Enable(true)); @@ -47,7 +47,7 @@ TEST(EchoCancellationInternalTest, ExtendedFilter) { } TEST(EchoCancellationInternalTest, DelayAgnostic) { - std::unique_ptr ap(AudioProcessing::Create()); + std::unique_ptr ap(AudioProcessingBuilder().Create()); EXPECT_TRUE(ap->echo_cancellation()->aec_core() == NULL); EXPECT_EQ(ap->kNoError, ap->echo_cancellation()->Enable(true)); diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h index 2e4fd0eb8c..60bf0c7ec6 100644 --- a/modules/audio_processing/include/audio_processing.h +++ b/modules/audio_processing/include/audio_processing.h @@ -112,7 +112,7 @@ struct DelayAgnostic { // microphone volume is set too low. The value is clamped to its operating range // [12, 255]. Here, 255 maps to 100%. // -// Must be provided through AudioProcessing::Create(Confg&). +// Must be provided through AudioProcessingBuilder().Create(config). #if defined(WEBRTC_CHROMIUM_BUILD) static const int kAgcStartupMinVolume = 85; #else @@ -205,7 +205,7 @@ struct Intelligibility { // data. // // Usage example, omitting error checking: -// AudioProcessing* apm = AudioProcessing::Create(0); +// AudioProcessing* apm = AudioProcessingBuilder().Create(); // // AudioProcessing::Config config; // config.level_controller.enabled = true; diff --git a/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc b/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc index 7d61cff21d..83f6725a0f 100644 --- a/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc +++ b/modules/audio_processing/level_controller/level_controller_complexity_unittest.cc @@ -86,7 +86,7 @@ void RunTogetherWithApm(const std::string& test_description, apm_config.residual_echo_detector.enabled = include_default_apm_processing; std::unique_ptr apm; - apm.reset(AudioProcessing::Create(config)); + apm.reset(AudioProcessingBuilder().Create(config)); ASSERT_TRUE(apm.get()); apm->ApplyConfig(apm_config); diff --git a/modules/audio_processing/test/audio_processing_simulator.cc b/modules/audio_processing/test/audio_processing_simulator.cc index 2477a1f7db..a72ac1c9ac 100644 --- a/modules/audio_processing/test/audio_processing_simulator.cc +++ b/modules/audio_processing/test/audio_processing_simulator.cc @@ -348,8 +348,9 @@ void AudioProcessingSimulator::CreateAudioProcessor() { apm_config.residual_echo_detector.enabled = *settings_.use_ed; } - ap_.reset(AudioProcessing::Create(config, nullptr, nullptr, - std::move(echo_control_factory), nullptr)); + ap_.reset(AudioProcessingBuilder() + .SetEchoControlFactory(std::move(echo_control_factory)) + .Create(config)); RTC_CHECK(ap_); ap_->ApplyConfig(apm_config); diff --git a/modules/audio_processing/test/debug_dump_replayer.cc b/modules/audio_processing/test/debug_dump_replayer.cc index a027d07a9f..262f347de3 100644 --- a/modules/audio_processing/test/debug_dump_replayer.cc +++ b/modules/audio_processing/test/debug_dump_replayer.cc @@ -193,7 +193,7 @@ void DebugDumpReplayer::MaybeRecreateApm(const audioproc::Config& msg) { // We only create APM once, since changes on these fields should not // happen in current implementation. if (!apm_.get()) { - apm_.reset(AudioProcessing::Create(config)); + apm_.reset(AudioProcessingBuilder().Create(config)); } } diff --git a/modules/audio_processing/test/debug_dump_test.cc b/modules/audio_processing/test/debug_dump_test.cc index b901fd0657..69231b2b66 100644 --- a/modules/audio_processing/test/debug_dump_test.cc +++ b/modules/audio_processing/test/debug_dump_test.cc @@ -139,15 +139,14 @@ DebugDumpGenerator::DebugDumpGenerator(const std::string& input_file_name, output_(new ChannelBuffer(output_config_.num_frames(), output_config_.num_channels())), worker_queue_("debug_dump_generator_worker_queue"), - apm_(AudioProcessing::Create( - config, - nullptr, - nullptr, - (enable_aec3 ? std::unique_ptr( - new EchoCanceller3Factory()) - : nullptr), - nullptr)), - dump_file_name_(dump_file_name) {} + dump_file_name_(dump_file_name) { + AudioProcessingBuilder apm_builder; + if (enable_aec3) { + apm_builder.SetEchoControlFactory( + std::unique_ptr(new EchoCanceller3Factory())); + } + apm_.reset(apm_builder.Create(config)); +} DebugDumpGenerator::DebugDumpGenerator( const Config& config, diff --git a/ortc/ortcfactory.cc b/ortc/ortcfactory.cc index 7492dd47aa..c64898516b 100644 --- a/ortc/ortcfactory.cc +++ b/ortc/ortcfactory.cc @@ -562,7 +562,7 @@ OrtcFactory::CreateMediaEngine_w() { return std::unique_ptr( cricket::WebRtcMediaEngineFactory::Create( adm_, audio_encoder_factory_, audio_decoder_factory_, nullptr, - nullptr, nullptr, webrtc::AudioProcessing::Create())); + nullptr, nullptr, webrtc::AudioProcessingBuilder().Create())); } } // namespace webrtc diff --git a/pc/createpeerconnectionfactory.cc b/pc/createpeerconnectionfactory.cc index 8098ecf1fd..3f389af641 100644 --- a/pc/createpeerconnectionfactory.cc +++ b/pc/createpeerconnectionfactory.cc @@ -48,7 +48,7 @@ rtc::scoped_refptr CreatePeerConnectionFactory( rtc::scoped_refptr audio_processing) { rtc::scoped_refptr audio_processing_use = audio_processing; if (!audio_processing_use) { - audio_processing_use = AudioProcessing::Create(); + audio_processing_use = AudioProcessingBuilder().Create(); } std::unique_ptr media_engine( @@ -79,7 +79,7 @@ rtc::scoped_refptr CreatePeerConnectionFactory( rtc::scoped_refptr audio_mixer, rtc::scoped_refptr audio_processing) { if (!audio_processing) - audio_processing = AudioProcessing::Create(); + audio_processing = AudioProcessingBuilder().Create(); std::unique_ptr media_engine = cricket::WebRtcMediaEngineFactory::Create( diff --git a/pc/peerconnection_jsep_unittest.cc b/pc/peerconnection_jsep_unittest.cc index 5edd1a38c4..3ab8b5afcb 100644 --- a/pc/peerconnection_jsep_unittest.cc +++ b/pc/peerconnection_jsep_unittest.cc @@ -54,7 +54,7 @@ class PeerConnectionFactoryForJsepTest : public PeerConnectionFactory { nullptr, nullptr, nullptr, - AudioProcessing::Create())), + AudioProcessingBuilder().Create())), CreateCallFactory(), nullptr) {} diff --git a/pc/peerconnectioninterface_unittest.cc b/pc/peerconnectioninterface_unittest.cc index d8e1761b98..bc6b5e5b80 100644 --- a/pc/peerconnectioninterface_unittest.cc +++ b/pc/peerconnectioninterface_unittest.cc @@ -551,7 +551,7 @@ class PeerConnectionFactoryForTest : public webrtc::PeerConnectionFactory { cricket::WebRtcMediaEngineFactory::Create( FakeAudioCaptureModule::Create(), audio_encoder_factory, audio_decoder_factory, nullptr, nullptr, nullptr, - webrtc::AudioProcessing::Create())); + webrtc::AudioProcessingBuilder().Create())); std::unique_ptr call_factory = webrtc::CreateCallFactory(); diff --git a/sdk/android/src/jni/pc/audio.cc b/sdk/android/src/jni/pc/audio.cc index dc45bef22b..376c42178a 100644 --- a/sdk/android/src/jni/pc/audio.cc +++ b/sdk/android/src/jni/pc/audio.cc @@ -26,7 +26,7 @@ rtc::scoped_refptr CreateAudioEncoderFactory() { } rtc::scoped_refptr CreateAudioProcessing() { - return AudioProcessing::Create(); + return AudioProcessingBuilder().Create(); } } // namespace jni diff --git a/sdk/android/src/jni/pc/defaultaudioprocessingfactory.cc b/sdk/android/src/jni/pc/defaultaudioprocessingfactory.cc index 071e218ef0..ea5131cf3f 100644 --- a/sdk/android/src/jni/pc/defaultaudioprocessingfactory.cc +++ b/sdk/android/src/jni/pc/defaultaudioprocessingfactory.cc @@ -25,10 +25,9 @@ static jlong JNI_DefaultAudioProcessingFactory_CreateAudioProcessing( std::unique_ptr post_processor( reinterpret_cast(native_post_processor)); rtc::scoped_refptr audio_processing = - AudioProcessing::Create(webrtc::Config(), std::move(post_processor), - nullptr /* render_pre_processing */, - nullptr /* echo_control_factory */, - nullptr /* beamformer */); + AudioProcessingBuilder() + .SetCapturePostProcessing(std::move(post_processor)) + .Create(); return jlongFromPointer(audio_processing.release()); } diff --git a/test/call_test.cc b/test/call_test.cc index d89d6eb938..6f02149abc 100644 --- a/test/call_test.cc +++ b/test/call_test.cc @@ -65,8 +65,8 @@ void CallTest::RunBaseTest(BaseTest* test) { CreateFakeAudioDevices(test->CreateCapturer(), test->CreateRenderer()); test->OnFakeAudioDevicesCreated(fake_send_audio_device_.get(), fake_recv_audio_device_.get()); - apm_send_ = AudioProcessing::Create(); - apm_recv_ = AudioProcessing::Create(); + apm_send_ = AudioProcessingBuilder().Create(); + apm_recv_ = AudioProcessingBuilder().Create(); CreateVoiceEngines(); AudioState::Config audio_state_config; audio_state_config.voice_engine = voe_send_.voice_engine; diff --git a/test/fuzzers/audio_processing_fuzzer_configs.cc b/test/fuzzers/audio_processing_fuzzer_configs.cc index 369aa5a467..2e0a5402fb 100644 --- a/test/fuzzers/audio_processing_fuzzer_configs.cc +++ b/test/fuzzers/audio_processing_fuzzer_configs.cc @@ -69,8 +69,10 @@ std::unique_ptr CreateAPM(const uint8_t** data, config.Set(new DelayAgnostic(*da)); config.Set(new Intelligibility(*ie)); - std::unique_ptr apm(AudioProcessing::Create( - config, nullptr, nullptr, std::move(echo_control_factory), nullptr)); + std::unique_ptr apm( + AudioProcessingBuilder() + .SetEchoControlFactory(std::move(echo_control_factory)) + .Create(config)); webrtc::AudioProcessing::Config apm_config; apm_config.residual_echo_detector.enabled = *red; diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc index f7ec413840..2f76ce9a27 100644 --- a/video/video_quality_test.cc +++ b/video/video_quality_test.cc @@ -2096,7 +2096,7 @@ void VideoQualityTest::RunWithRenderers(const Params& params) { AudioState::Config audio_state_config; audio_state_config.voice_engine = voe.voice_engine; audio_state_config.audio_mixer = AudioMixerImpl::Create(); - audio_state_config.audio_processing = AudioProcessing::Create(); + audio_state_config.audio_processing = AudioProcessingBuilder().Create(); audio_state_config.audio_device_module = fake_audio_device; call_config.audio_state = AudioState::Create(audio_state_config); fake_audio_device->RegisterAudioCallback(