Delete deprecated overloads of the AudioprocFloat test helper
Bug: webrtc:369904700
Change-Id: I731114914f7a3e995b207d8e342d499762f75ca9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367441
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43355}
diff --git a/api/test/audioproc_float.cc b/api/test/audioproc_float.cc
index b52d78e..6572a50 100644
--- a/api/test/audioproc_float.cc
+++ b/api/test/audioproc_float.cc
@@ -13,25 +13,14 @@
#include <memory>
#include <utility>
+#include "absl/base/nullability.h"
#include "api/audio/audio_processing.h"
-#include "api/scoped_refptr.h"
+#include "api/audio/builtin_audio_processing_builder.h"
#include "modules/audio_processing/test/audioproc_float_impl.h"
namespace webrtc {
namespace test {
-int AudioprocFloat(rtc::scoped_refptr<AudioProcessing> audio_processing,
- int argc,
- char* argv[]) {
- return AudioprocFloatImpl(std::move(audio_processing), argc, argv);
-}
-
-int AudioprocFloat(std::unique_ptr<AudioProcessingBuilder> ap_builder,
- int argc,
- char* argv[]) {
- return AudioprocFloatImpl(std::move(ap_builder), argc, argv);
-}
-
int AudioprocFloat(int argc, char* argv[]) {
return AudioprocFloatImpl(std::make_unique<BuiltinAudioProcessingBuilder>(),
argc, argv);
diff --git a/api/test/audioproc_float.h b/api/test/audioproc_float.h
index 98f35fa..572834d 100644
--- a/api/test/audioproc_float.h
+++ b/api/test/audioproc_float.h
@@ -16,7 +16,6 @@
#include "absl/base/nullability.h"
#include "api/audio/audio_processing.h"
#include "api/audio/builtin_audio_processing_builder.h"
-#include "api/scoped_refptr.h"
namespace webrtc {
namespace test {
@@ -45,42 +44,6 @@
int argc,
char* argv[]);
-// This is an interface for the audio processing simulation utility. This
-// utility can be used to simulate the audioprocessing module using a recording
-// (either an AEC dump or wav files), and generate the output as a wav file.
-// Any audio_processing object specified in the input is used for the
-// simulation. The optional `audio_processing` object provides the
-// AudioProcessing instance that is used during the simulation. Note that when
-// the audio_processing object is specified all functionality that relies on
-// using the AudioProcessingBuilder is deactivated, since the AudioProcessing
-// object is already created and the builder is not used in the simulation. It
-// is needed to pass the command line flags as `argc` and `argv`, so these can
-// be interpreted properly by the utility. To see a list of all supported
-// command line flags, run the executable with the '--help' flag.
-[[deprecated]] int AudioprocFloat(
- rtc::scoped_refptr<AudioProcessing> audio_processing,
- int argc,
- char* argv[]);
-
-// This is an interface for the audio processing simulation utility. This
-// utility can be used to simulate the audioprocessing module using a recording
-// (either an AEC dump or wav files), and generate the output as a wav file.
-// The `ap_builder` object will be used to create the AudioProcessing instance
-// that is used during the simulation. The `ap_builder` supports setting of
-// injectable components, which will be passed on to the created AudioProcessing
-// instance. It is needed to pass the command line flags as `argc` and `argv`,
-// so these can be interpreted properly by the utility.
-// To get a fully-working audioproc_f utility, all that is needed is to write a
-// main function, create an AudioProcessingBuilder, optionally set custom
-// processing components on it, and pass the builder together with the command
-// line arguments into this function.
-// To see a list of all supported command line flags, run the executable with
-// the '--help' flag.
-[[deprecated]] int AudioprocFloat(
- std::unique_ptr<AudioProcessingBuilder> ap_builder,
- int argc,
- char* argv[]);
-
} // namespace test
} // namespace webrtc
diff --git a/modules/audio_processing/test/audioproc_float_impl.cc b/modules/audio_processing/test/audioproc_float_impl.cc
index 5814544..8740ac0 100644
--- a/modules/audio_processing/test/audioproc_float_impl.cc
+++ b/modules/audio_processing/test/audioproc_float_impl.cc
@@ -26,6 +26,7 @@
#include "absl/flags/parse.h"
#include "absl/strings/string_view.h"
#include "api/audio/audio_processing.h"
+#include "api/audio/builtin_audio_processing_builder.h"
#include "api/audio/echo_canceller3_config.h"
#include "api/audio/echo_canceller3_factory.h"
#include "api/audio/echo_detector_creator.h"
@@ -544,8 +545,7 @@
}
}
-void PerformBasicParameterSanityChecks(const SimulationSettings& settings,
- bool pre_constructed_ap_provided) {
+void PerformBasicParameterSanityChecks(const SimulationSettings& settings) {
if (settings.input_filename || settings.reverse_input_filename) {
ReportConditionalErrorAndExit(
!!settings.aec_dump_input_filename,
@@ -730,18 +730,21 @@
settings.pre_amplifier_gain_factor.has_value(),
"Error: --pre_amplifier_gain_factor needs --pre_amplifier to be "
"specified and set.\n");
+}
+void CheckSettingsForBuiltinBuilderAreUnused(
+ const SimulationSettings& settings) {
ReportConditionalErrorAndExit(
- settings.aec_settings_filename && pre_constructed_ap_provided,
+ settings.aec_settings_filename.has_value(),
"Error: The aec_settings_filename cannot be specified when a "
"pre-constructed audio processing object is provided.\n");
ReportConditionalErrorAndExit(
- settings.print_aec_parameter_values && pre_constructed_ap_provided,
+ settings.print_aec_parameter_values,
"Error: The print_aec_parameter_values cannot be set when a "
"pre-constructed audio processing object is provided.\n");
- if (settings.linear_aec_output_filename && pre_constructed_ap_provided) {
+ if (settings.linear_aec_output_filename) {
std::cout << "Warning: For the linear AEC output to be stored, this must "
"be configured in the AEC that is part of the provided "
"AudioProcessing object."
@@ -775,12 +778,8 @@
return cfg;
}
-// `Builder` is either AudioProcessingBuilder or BuiltinAudioProcessingBuilder
-// TODO: bugs.webrtc.org/369904700 - inline this function when usages of
-// the AudioProcessingBuilder are removed, and thus two version of this function
-// are no longer needed.
-template <typename Builder>
-void SetDependencies(const SimulationSettings& settings, Builder& builder) {
+void SetDependencies(const SimulationSettings& settings,
+ BuiltinAudioProcessingBuilder& builder) {
// Create and set an EchoCanceller3Factory if needed.
if (settings.use_aec && *settings.use_aec) {
EchoCanceller3Config cfg;
@@ -810,60 +809,11 @@
}
}
-absl::Nonnull<scoped_refptr<AudioProcessing>> Provide(
- const Environment& env,
- const SimulationSettings& settings,
- absl::Nonnull<std::unique_ptr<BuiltinAudioProcessingBuilder>> ap_builder) {
- PerformBasicParameterSanityChecks(settings,
- /*pre_constructed_ap_provided=*/false);
- SetDependencies(settings, *ap_builder);
- scoped_refptr<AudioProcessing> ap = ap_builder->Build(env);
- RTC_CHECK(ap);
- return ap;
-}
-
-absl::Nonnull<scoped_refptr<AudioProcessing>> Provide(
- const Environment& env,
- const SimulationSettings& settings,
- absl::Nonnull<std::unique_ptr<AudioProcessingBuilderInterface>>
- ap_builder) {
- PerformBasicParameterSanityChecks(settings,
- /*pre_constructed_ap_provided=*/true);
- scoped_refptr<AudioProcessing> ap = ap_builder->Build(env);
- RTC_CHECK(ap);
- return ap;
-}
-
-absl::Nonnull<scoped_refptr<AudioProcessing>> Provide(
- const Environment& /*env*/,
- const SimulationSettings& settings,
- absl::Nullable<std::unique_ptr<AudioProcessingBuilder>> ap_builder) {
- PerformBasicParameterSanityChecks(settings,
- /*pre_constructed_ap_provided=*/false);
- if (ap_builder == nullptr) {
- ap_builder = std::make_unique<AudioProcessingBuilder>();
- }
- SetDependencies(settings, *ap_builder);
- scoped_refptr<AudioProcessing> ap = ap_builder->Create();
- RTC_CHECK(ap);
- return ap;
-}
-
-absl::Nonnull<scoped_refptr<AudioProcessing>> Provide(
- const Environment& env,
- const SimulationSettings& settings,
- absl::Nullable<scoped_refptr<AudioProcessing>> ap_provider) {
- if (ap_provider == nullptr) {
- return Provide(env, settings, std::make_unique<AudioProcessingBuilder>());
- }
-
- PerformBasicParameterSanityChecks(settings,
- /*pre_constructed_ap_provided=*/true);
- return ap_provider;
-}
-
-template <typename AudioProcessingProvider>
-int RunSimulation(AudioProcessingProvider ap_provider, int argc, char* argv[]) {
+int RunSimulation(
+ absl::Nonnull<std::unique_ptr<AudioProcessingBuilderInterface>> ap_builder,
+ bool builtin_builder_provided,
+ int argc,
+ char* argv[]) {
std::vector<char*> args = absl::ParseCommandLine(argc, argv);
if (args.size() != 1) {
printf("%s", kUsageDescription);
@@ -873,8 +823,15 @@
const Environment env = CreateEnvironment(&field_trials);
SimulationSettings settings = CreateSettings();
- absl::Nonnull<scoped_refptr<AudioProcessing>> audio_processing =
- Provide(env, settings, std::move(ap_provider));
+ PerformBasicParameterSanityChecks(settings);
+ if (builtin_builder_provided) {
+ SetDependencies(settings,
+ static_cast<BuiltinAudioProcessingBuilder&>(*ap_builder));
+ } else {
+ CheckSettingsForBuiltinBuilderAreUnused(settings);
+ }
+ scoped_refptr<AudioProcessing> audio_processing = ap_builder->Build(env);
+ RTC_CHECK(audio_processing);
std::unique_ptr<AudioProcessingSimulator> processor;
if (settings.aec_dump_input_filename || settings.aec_dump_input_string) {
@@ -912,31 +869,19 @@
} // namespace
int AudioprocFloatImpl(
- absl::Nullable<scoped_refptr<AudioProcessing>> audio_processing,
- int argc,
- char* argv[]) {
- return RunSimulation(std::move(audio_processing), argc, argv);
-}
-
-int AudioprocFloatImpl(
- absl::Nullable<std::unique_ptr<AudioProcessingBuilder>> ap_builder,
- int argc,
- char* argv[]) {
- return RunSimulation(std::move(ap_builder), argc, argv);
-}
-
-int AudioprocFloatImpl(
absl::Nonnull<std::unique_ptr<BuiltinAudioProcessingBuilder>> ap_builder,
int argc,
char* argv[]) {
- return RunSimulation(std::move(ap_builder), argc, argv);
+ return RunSimulation(std::move(ap_builder), /*builtin_builder_provided=*/true,
+ argc, argv);
}
int AudioprocFloatImpl(
absl::Nonnull<std::unique_ptr<AudioProcessingBuilderInterface>> ap_builder,
int argc,
char* argv[]) {
- return RunSimulation(std::move(ap_builder), argc, argv);
+ return RunSimulation(std::move(ap_builder),
+ /*builtin_builder_provided=*/false, argc, argv);
}
} // namespace test
diff --git a/modules/audio_processing/test/audioproc_float_impl.h b/modules/audio_processing/test/audioproc_float_impl.h
index 1406287..bcb64d0 100644
--- a/modules/audio_processing/test/audioproc_float_impl.h
+++ b/modules/audio_processing/test/audioproc_float_impl.h
@@ -16,22 +16,11 @@
#include "absl/base/nullability.h"
#include "api/audio/audio_processing.h"
#include "api/audio/builtin_audio_processing_builder.h"
-#include "api/scoped_refptr.h"
namespace webrtc {
namespace test {
int AudioprocFloatImpl(
- absl::Nullable<scoped_refptr<AudioProcessing>> audio_processing,
- int argc,
- char* argv[]);
-
-int AudioprocFloatImpl(
- absl::Nullable<std::unique_ptr<AudioProcessingBuilder>> ap_builder,
- int argc,
- char* argv[]);
-
-int AudioprocFloatImpl(
absl::Nonnull<std::unique_ptr<BuiltinAudioProcessingBuilder>> ap_builder,
int argc,
char* argv[]);