Use make_ref_counted in AudioProcessingBuilder
Bug: webrtc:12701
Change-Id: I51ca5a54f812a1620ee2e6605c9ff67b92e2a5f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224547
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34725}
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 83268b5..6d5b987 100644
--- a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc
+++ b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc
@@ -23,9 +23,9 @@
using ::testing::StrictMock;
namespace {
-std::unique_ptr<webrtc::AudioProcessing> CreateAudioProcessing() {
+rtc::scoped_refptr<webrtc::AudioProcessing> CreateAudioProcessing() {
webrtc::Config config;
- std::unique_ptr<webrtc::AudioProcessing> apm(
+ rtc::scoped_refptr<webrtc::AudioProcessing> apm(
webrtc::AudioProcessingBuilderForTesting().Create(config));
RTC_DCHECK(apm);
return apm;
diff --git a/modules/audio_processing/audio_processing_builder_impl.cc b/modules/audio_processing/audio_processing_builder_impl.cc
index f55c915..a6b7d5f 100644
--- a/modules/audio_processing/audio_processing_builder_impl.cc
+++ b/modules/audio_processing/audio_processing_builder_impl.cc
@@ -20,12 +20,13 @@
AudioProcessingBuilder::AudioProcessingBuilder() = default;
AudioProcessingBuilder::~AudioProcessingBuilder() = default;
-AudioProcessing* AudioProcessingBuilder::Create() {
+rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilder::Create() {
webrtc::Config config;
return Create(config);
}
-AudioProcessing* AudioProcessingBuilder::Create(const webrtc::Config& config) {
+rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilder::Create(
+ const webrtc::Config& config) {
#ifdef WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE
// Implementation returning a null pointer for using when the APM is excluded
@@ -35,7 +36,7 @@
#else
// Standard implementation.
- return new rtc::RefCountedObject<AudioProcessingImpl>(
+ return rtc::make_ref_counted<AudioProcessingImpl>(
config, std::move(capture_post_processing_),
std::move(render_pre_processing_), std::move(echo_control_factory_),
std::move(echo_detector_), std::move(capture_analyzer_));
diff --git a/modules/audio_processing/audio_processing_impl_locking_unittest.cc b/modules/audio_processing/audio_processing_impl_locking_unittest.cc
index 66c1251..14c0bd1 100644
--- a/modules/audio_processing/audio_processing_impl_locking_unittest.cc
+++ b/modules/audio_processing/audio_processing_impl_locking_unittest.cc
@@ -428,7 +428,7 @@
// Thread related variables.
mutable RandomGenerator rand_gen_;
- std::unique_ptr<AudioProcessing> apm_;
+ rtc::scoped_refptr<AudioProcessing> apm_;
TestConfig test_config_;
FrameCounters frame_counters_;
RenderProcessor render_thread_state_;
diff --git a/modules/audio_processing/audio_processing_impl_unittest.cc b/modules/audio_processing/audio_processing_impl_unittest.cc
index 87c6223..c68ce41 100644
--- a/modules/audio_processing/audio_processing_impl_unittest.cc
+++ b/modules/audio_processing/audio_processing_impl_unittest.cc
@@ -173,8 +173,8 @@
}
TEST(AudioProcessingImplTest, UpdateCapturePreGainRuntimeSetting) {
- std::unique_ptr<AudioProcessing> apm(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> apm =
+ AudioProcessingBuilderForTesting().Create();
webrtc::AudioProcessing::Config apm_config;
apm_config.pre_amplifier.enabled = true;
apm_config.pre_amplifier.fixed_gain_factor = 1.f;
@@ -206,8 +206,8 @@
TEST(AudioProcessingImplTest,
LevelAdjustmentUpdateCapturePreGainRuntimeSetting) {
- std::unique_ptr<AudioProcessing> apm(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> apm =
+ AudioProcessingBuilderForTesting().Create();
webrtc::AudioProcessing::Config apm_config;
apm_config.capture_level_adjustment.enabled = true;
apm_config.capture_level_adjustment.pre_gain_factor = 1.f;
@@ -239,8 +239,8 @@
TEST(AudioProcessingImplTest,
LevelAdjustmentUpdateCapturePostGainRuntimeSetting) {
- std::unique_ptr<AudioProcessing> apm(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> apm =
+ AudioProcessingBuilderForTesting().Create();
webrtc::AudioProcessing::Config apm_config;
apm_config.capture_level_adjustment.enabled = true;
apm_config.capture_level_adjustment.post_gain_factor = 1.f;
@@ -277,10 +277,10 @@
const MockEchoControlFactory* echo_control_factory_ptr =
echo_control_factory.get();
- std::unique_ptr<AudioProcessing> apm(
+ rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoControlFactory(std::move(echo_control_factory))
- .Create());
+ .Create();
constexpr int16_t kAudioLevel = 10000;
constexpr int kSampleRateHz = 48000;
@@ -359,10 +359,10 @@
auto echo_control_factory = std::make_unique<MockEchoControlFactory>();
const auto* echo_control_factory_ptr = echo_control_factory.get();
- std::unique_ptr<AudioProcessing> apm(
+ rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoControlFactory(std::move(echo_control_factory))
- .Create());
+ .Create();
// Disable AGC.
webrtc::AudioProcessing::Config apm_config;
apm_config.gain_controller1.enabled = false;
@@ -402,10 +402,10 @@
auto echo_control_factory = std::make_unique<MockEchoControlFactory>();
const auto* echo_control_factory_ptr = echo_control_factory.get();
- std::unique_ptr<AudioProcessing> apm(
+ rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoControlFactory(std::move(echo_control_factory))
- .Create());
+ .Create();
// Disable AGC.
webrtc::AudioProcessing::Config apm_config;
apm_config.gain_controller1.enabled = false;
@@ -445,10 +445,10 @@
auto echo_control_factory = std::make_unique<MockEchoControlFactory>();
const auto* echo_control_factory_ptr = echo_control_factory.get();
- std::unique_ptr<AudioProcessing> apm(
+ rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoControlFactory(std::move(echo_control_factory))
- .Create());
+ .Create();
webrtc::AudioProcessing::Config apm_config;
// Enable AGC1.
apm_config.gain_controller1.enabled = true;
@@ -491,10 +491,10 @@
auto echo_control_factory = std::make_unique<MockEchoControlFactory>();
const auto* echo_control_factory_ptr = echo_control_factory.get();
- std::unique_ptr<AudioProcessing> apm(
+ rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoControlFactory(std::move(echo_control_factory))
- .Create());
+ .Create();
// Disable AGC.
webrtc::AudioProcessing::Config apm_config;
apm_config.gain_controller1.enabled = false;
@@ -549,11 +549,11 @@
std::unique_ptr<CustomProcessing> test_render_pre_processor(
new TestRenderPreProcessor());
// Create APM injecting the test echo detector and render pre-processor.
- std::unique_ptr<AudioProcessing> apm(
+ rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoDetector(test_echo_detector)
.SetRenderPreProcessing(std::move(test_render_pre_processor))
- .Create());
+ .Create();
webrtc::AudioProcessing::Config apm_config;
apm_config.pre_amplifier.enabled = true;
apm_config.residual_echo_detector.enabled = true;
diff --git a/modules/audio_processing/audio_processing_performance_unittest.cc b/modules/audio_processing/audio_processing_performance_unittest.cc
index 9585850..b79acc7 100644
--- a/modules/audio_processing/audio_processing_performance_unittest.cc
+++ b/modules/audio_processing/audio_processing_performance_unittest.cc
@@ -476,34 +476,34 @@
int num_capture_channels = 1;
switch (simulation_config_.simulation_settings) {
case SettingsType::kDefaultApmMobile: {
- apm_.reset(AudioProcessingBuilderForTesting().Create());
+ apm_ = AudioProcessingBuilderForTesting().Create();
ASSERT_TRUE(!!apm_);
set_default_mobile_apm_runtime_settings(apm_.get());
break;
}
case SettingsType::kDefaultApmDesktop: {
Config config;
- apm_.reset(AudioProcessingBuilderForTesting().Create(config));
+ apm_ = AudioProcessingBuilderForTesting().Create(config);
ASSERT_TRUE(!!apm_);
set_default_desktop_apm_runtime_settings(apm_.get());
break;
}
case SettingsType::kAllSubmodulesTurnedOff: {
- apm_.reset(AudioProcessingBuilderForTesting().Create());
+ apm_ = AudioProcessingBuilderForTesting().Create();
ASSERT_TRUE(!!apm_);
turn_off_default_apm_runtime_settings(apm_.get());
break;
}
case SettingsType::kDefaultApmDesktopWithoutDelayAgnostic: {
Config config;
- apm_.reset(AudioProcessingBuilderForTesting().Create(config));
+ apm_ = AudioProcessingBuilderForTesting().Create(config);
ASSERT_TRUE(!!apm_);
set_default_desktop_apm_runtime_settings(apm_.get());
break;
}
case SettingsType::kDefaultApmDesktopWithoutExtendedFilter: {
Config config;
- apm_.reset(AudioProcessingBuilderForTesting().Create(config));
+ apm_ = AudioProcessingBuilderForTesting().Create(config);
ASSERT_TRUE(!!apm_);
set_default_desktop_apm_runtime_settings(apm_.get());
break;
@@ -544,7 +544,7 @@
// Thread related variables.
Random rand_gen_;
- std::unique_ptr<AudioProcessing> apm_;
+ rtc::scoped_refptr<AudioProcessing> apm_;
const SimulationConfig simulation_config_;
FrameCounters frame_counters_;
LockedFlag capture_call_checker_;
diff --git a/modules/audio_processing/audio_processing_unittest.cc b/modules/audio_processing/audio_processing_unittest.cc
index faeca79..675a956 100644
--- a/modules/audio_processing/audio_processing_unittest.cc
+++ b/modules/audio_processing/audio_processing_unittest.cc
@@ -415,7 +415,7 @@
const std::string output_path_;
const std::string ref_filename_;
- std::unique_ptr<AudioProcessing> apm_;
+ rtc::scoped_refptr<AudioProcessing> apm_;
Int16FrameData frame_;
Int16FrameData revframe_;
std::unique_ptr<ChannelBuffer<float> > float_cb_;
@@ -435,7 +435,7 @@
far_file_(NULL),
near_file_(NULL),
out_file_(NULL) {
- apm_.reset(AudioProcessingBuilderForTesting().Create());
+ apm_ = AudioProcessingBuilderForTesting().Create();
AudioProcessing::Config apm_config = apm_->GetConfig();
apm_config.gain_controller1.analog_gain_controller.enabled = false;
apm_config.pipeline.maximum_internal_processing_rate = 48000;
@@ -1312,7 +1312,7 @@
auto src_channels = &src[0];
auto dest_channels = &dest[0];
- apm_.reset(AudioProcessingBuilderForTesting().Create());
+ apm_ = AudioProcessingBuilderForTesting().Create();
EXPECT_NOERR(apm_->ProcessStream(&src_channels, StreamConfig(sample_rate, 1),
StreamConfig(sample_rate, 1),
&dest_channels));
@@ -1773,7 +1773,7 @@
if (test->num_input_channels() != test->num_output_channels())
continue;
- apm_.reset(AudioProcessingBuilderForTesting().Create());
+ apm_ = AudioProcessingBuilderForTesting().Create();
AudioProcessing::Config apm_config = apm_->GetConfig();
apm_config.gain_controller1.analog_gain_controller.enabled = false;
apm_->ApplyConfig(apm_config);
@@ -1942,8 +1942,8 @@
{AudioProcessing::kStereoAndKeyboard, AudioProcessing::kStereo},
};
- std::unique_ptr<AudioProcessing> ap(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> ap =
+ AudioProcessingBuilderForTesting().Create();
// Enable one component just to ensure some processing takes place.
AudioProcessing::Config config;
config.noise_suppression.enabled = true;
@@ -2069,8 +2069,8 @@
size_t num_reverse_input_channels,
size_t num_reverse_output_channels,
const std::string& output_file_prefix) {
- std::unique_ptr<AudioProcessing> ap(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> ap =
+ AudioProcessingBuilderForTesting().Create();
AudioProcessing::Config apm_config = ap->GetConfig();
apm_config.gain_controller1.analog_gain_controller.enabled = false;
ap->ApplyConfig(apm_config);
@@ -2454,8 +2454,8 @@
rtc::ArrayView<const int> sample_rates_hz,
rtc::ArrayView<const int> render_channel_counts,
rtc::ArrayView<const int> capture_channel_counts) {
- std::unique_ptr<AudioProcessing> apm(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> apm =
+ AudioProcessingBuilderForTesting().Create();
webrtc::AudioProcessing::Config apm_config;
apm_config.echo_canceller.enabled = true;
apm->ApplyConfig(apm_config);
@@ -2699,10 +2699,10 @@
audio.data.data());
}
-std::unique_ptr<AudioProcessing> CreateApm(bool mobile_aec) {
+rtc::scoped_refptr<AudioProcessing> CreateApm(bool mobile_aec) {
Config old_config;
- std::unique_ptr<AudioProcessing> apm(
- AudioProcessingBuilderForTesting().Create(old_config));
+ rtc::scoped_refptr<AudioProcessing> apm =
+ AudioProcessingBuilderForTesting().Create(old_config);
if (!apm) {
return apm;
}
@@ -2737,7 +2737,7 @@
TEST(MAYBE_ApmStatistics, AECEnabledTest) {
// Set up APM with AEC3 and process some audio.
- std::unique_ptr<AudioProcessing> apm = CreateApm(false);
+ rtc::scoped_refptr<AudioProcessing> apm = CreateApm(false);
ASSERT_TRUE(apm);
AudioProcessing::Config apm_config;
apm_config.echo_canceller.enabled = true;
@@ -2788,7 +2788,7 @@
TEST(MAYBE_ApmStatistics, AECMEnabledTest) {
// Set up APM with AECM and process some audio.
- std::unique_ptr<AudioProcessing> apm = CreateApm(true);
+ rtc::scoped_refptr<AudioProcessing> apm = CreateApm(true);
ASSERT_TRUE(apm);
// Set up an audioframe.
@@ -2853,8 +2853,8 @@
ptr[i] = 10000 * ((i % 3) - 1);
}
- std::unique_ptr<AudioProcessing> apm(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> apm =
+ AudioProcessingBuilderForTesting().Create();
apm->Initialize(processing_config);
// If not enabled, no metric should be reported.
@@ -2907,8 +2907,8 @@
ptr[i] = 10000 * ((i % 3) - 1);
}
- std::unique_ptr<AudioProcessing> apm(
- AudioProcessingBuilderForTesting().Create());
+ rtc::scoped_refptr<AudioProcessing> apm =
+ AudioProcessingBuilderForTesting().Create();
apm->Initialize(processing_config);
// If not enabled, no metric should be reported.
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index 6761ed4..02a961a 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -815,8 +815,8 @@
}
// This creates an APM instance using the previously set components. Calling
// the Create function resets the AudioProcessingBuilder to its initial state.
- AudioProcessing* Create();
- AudioProcessing* Create(const webrtc::Config& config);
+ rtc::scoped_refptr<AudioProcessing> Create();
+ rtc::scoped_refptr<AudioProcessing> Create(const webrtc::Config& config);
private:
std::unique_ptr<EchoControlFactory> echo_control_factory_;
diff --git a/modules/audio_processing/test/audio_processing_builder_for_testing.cc b/modules/audio_processing/test/audio_processing_builder_for_testing.cc
index faab18f..05c3d3e 100644
--- a/modules/audio_processing/test/audio_processing_builder_for_testing.cc
+++ b/modules/audio_processing/test/audio_processing_builder_for_testing.cc
@@ -23,14 +23,14 @@
#ifdef WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE
-AudioProcessing* AudioProcessingBuilderForTesting::Create() {
+rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilderForTesting::Create() {
webrtc::Config config;
return Create(config);
}
-AudioProcessing* AudioProcessingBuilderForTesting::Create(
+rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilderForTesting::Create(
const webrtc::Config& config) {
- return new rtc::RefCountedObject<AudioProcessingImpl>(
+ return rtc::make_ref_counted<AudioProcessingImpl>(
config, std::move(capture_post_processing_),
std::move(render_pre_processing_), std::move(echo_control_factory_),
std::move(echo_detector_), std::move(capture_analyzer_));
@@ -38,13 +38,13 @@
#else
-AudioProcessing* AudioProcessingBuilderForTesting::Create() {
+rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilderForTesting::Create() {
AudioProcessingBuilder builder;
TransferOwnershipsToBuilder(&builder);
return builder.Create();
}
-AudioProcessing* AudioProcessingBuilderForTesting::Create(
+rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilderForTesting::Create(
const webrtc::Config& config) {
AudioProcessingBuilder builder;
TransferOwnershipsToBuilder(&builder);
diff --git a/modules/audio_processing/test/audio_processing_builder_for_testing.h b/modules/audio_processing/test/audio_processing_builder_for_testing.h
index a245450..ba0f7b1 100644
--- a/modules/audio_processing/test/audio_processing_builder_for_testing.h
+++ b/modules/audio_processing/test/audio_processing_builder_for_testing.h
@@ -62,8 +62,8 @@
// This creates an APM instance using the previously set components. Calling
// the Create function resets the AudioProcessingBuilderForTesting to its
// initial state.
- AudioProcessing* Create();
- AudioProcessing* Create(const webrtc::Config& config);
+ rtc::scoped_refptr<AudioProcessing> Create();
+ rtc::scoped_refptr<AudioProcessing> Create(const webrtc::Config& config);
private:
// Transfers the ownership to a non-testing builder.
diff --git a/modules/audio_processing/test/debug_dump_replayer.cc b/modules/audio_processing/test/debug_dump_replayer.cc
index 754b42d..b202469 100644
--- a/modules/audio_processing/test/debug_dump_replayer.cc
+++ b/modules/audio_processing/test/debug_dump_replayer.cc
@@ -185,7 +185,7 @@
// We only create APM once, since changes on these fields should not
// happen in current implementation.
if (!apm_.get()) {
- apm_.reset(AudioProcessingBuilderForTesting().Create(config));
+ apm_ = AudioProcessingBuilderForTesting().Create(config);
}
}
diff --git a/modules/audio_processing/test/debug_dump_replayer.h b/modules/audio_processing/test/debug_dump_replayer.h
index 4139149..e514d1d 100644
--- a/modules/audio_processing/test/debug_dump_replayer.h
+++ b/modules/audio_processing/test/debug_dump_replayer.h
@@ -60,7 +60,7 @@
std::unique_ptr<ChannelBuffer<float>> reverse_;
std::unique_ptr<ChannelBuffer<float>> output_;
- std::unique_ptr<AudioProcessing> apm_;
+ rtc::scoped_refptr<AudioProcessing> apm_;
FILE* debug_file_;
diff --git a/modules/audio_processing/test/debug_dump_test.cc b/modules/audio_processing/test/debug_dump_test.cc
index 2381d1e..6c02571 100644
--- a/modules/audio_processing/test/debug_dump_test.cc
+++ b/modules/audio_processing/test/debug_dump_test.cc
@@ -112,7 +112,7 @@
bool enable_pre_amplifier_;
TaskQueueForTest worker_queue_;
- std::unique_ptr<AudioProcessing> apm_;
+ rtc::scoped_refptr<AudioProcessing> apm_;
const std::string dump_file_name_;
};
@@ -143,7 +143,7 @@
worker_queue_("debug_dump_generator_worker_queue"),
dump_file_name_(dump_file_name) {
AudioProcessingBuilderForTesting apm_builder;
- apm_.reset(apm_builder.Create(config));
+ apm_ = apm_builder.Create(config);
}
DebugDumpGenerator::DebugDumpGenerator(
diff --git a/test/fuzzers/audio_processing_configs_fuzzer.cc b/test/fuzzers/audio_processing_configs_fuzzer.cc
index d511b7b..392e8ac 100644
--- a/test/fuzzers/audio_processing_configs_fuzzer.cc
+++ b/test/fuzzers/audio_processing_configs_fuzzer.cc
@@ -34,9 +34,9 @@
"WebRTC-Aec3ShortHeadroomKillSwitch",
};
-std::unique_ptr<AudioProcessing> CreateApm(test::FuzzDataHelper* fuzz_data,
- std::string* field_trial_string,
- rtc::TaskQueue* worker_queue) {
+rtc::scoped_refptr<AudioProcessing> CreateApm(test::FuzzDataHelper* fuzz_data,
+ std::string* field_trial_string,
+ rtc::TaskQueue* worker_queue) {
// Parse boolean values for optionally enabling different
// configurable public components of APM.
bool exp_agc = fuzz_data->ReadOrDefaultValue(true);
@@ -108,10 +108,10 @@
config.Set<ExperimentalAgc>(new ExperimentalAgc(exp_agc));
config.Set<ExperimentalNs>(new ExperimentalNs(exp_ns));
- std::unique_ptr<AudioProcessing> apm(
+ rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoControlFactory(std::move(echo_control_factory))
- .Create(config));
+ .Create(config);
#ifdef WEBRTC_LINUX
apm->AttachAecDump(AecDumpFactory::Create("/dev/null", -1, worker_queue));
diff --git a/test/fuzzers/audio_processing_fuzzer_helper.cc b/test/fuzzers/audio_processing_fuzzer_helper.cc
index cb53a04..15d0b2b 100644
--- a/test/fuzzers/audio_processing_fuzzer_helper.cc
+++ b/test/fuzzers/audio_processing_fuzzer_helper.cc
@@ -70,7 +70,7 @@
} // namespace
void FuzzAudioProcessing(test::FuzzDataHelper* fuzz_data,
- std::unique_ptr<AudioProcessing> apm) {
+ rtc::scoped_refptr<AudioProcessing> apm) {
AudioFrame fixed_frame;
// Normal usage is up to 8 channels. Allowing to fuzz one beyond this allows
// us to catch implicit assumptions about normal usage.
diff --git a/test/fuzzers/audio_processing_fuzzer_helper.h b/test/fuzzers/audio_processing_fuzzer_helper.h
index 697ed8d..a604db8 100644
--- a/test/fuzzers/audio_processing_fuzzer_helper.h
+++ b/test/fuzzers/audio_processing_fuzzer_helper.h
@@ -18,7 +18,7 @@
namespace webrtc {
void FuzzAudioProcessing(test::FuzzDataHelper* fuzz_data,
- std::unique_ptr<AudioProcessing> apm);
+ rtc::scoped_refptr<AudioProcessing> apm);
} // namespace webrtc