Reland "APM: Remove the usage of AudioFrame in the AudioProcessing interface"
This is a reland of 12e2d4ddb235da6ec7a5c1c3a83ac33d394920b0
Original change's description:
> APM: Remove the usage of AudioFrame in the AudioProcessing interface
>
> This CL removes the AudioFrame-based APIs from the AudioProcessing
> interface.
>
> Bug: webrtc:5298
> Change-Id: Iab470b26b10e06dcf29c543851ae0085bc5b66f0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172939
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31016}
Bug: webrtc:5298
Change-Id: I70e6d59afc3716ee6109d8b9dc384abc71c93624
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173476
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31066}
diff --git a/modules/audio_processing/audio_processing_impl.h b/modules/audio_processing/audio_processing_impl.h
index 28a8829..258e2e1 100644
--- a/modules/audio_processing/audio_processing_impl.h
+++ b/modules/audio_processing/audio_processing_impl.h
@@ -44,7 +44,6 @@
namespace webrtc {
class ApmDataDumper;
-class AudioFrame;
class AudioConverter;
class AudioProcessingImpl : public AudioProcessing {
@@ -81,9 +80,6 @@
// Capture-side exclusive methods possibly running APM in a
// multi-threaded manner. Acquire the capture lock.
- int ProcessStream(AudioFrame* frame) override {
- return ProcessAudioFrame(this, frame);
- }
int ProcessStream(const int16_t* const src,
const StreamConfig& input_config,
const StreamConfig& output_config,
@@ -102,9 +98,6 @@
// Render-side exclusive methods possibly running APM in a
// multi-threaded manner. Acquire the render lock.
- int ProcessReverseStream(AudioFrame* frame) override {
- return ProcessReverseAudioFrame(this, frame);
- }
int ProcessReverseStream(const int16_t* const src,
const StreamConfig& input_config,
const StreamConfig& output_config,
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index 953cceb..265507d 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -39,7 +39,6 @@
class AecDump;
class AudioBuffer;
-class AudioFrame;
class StreamConfig;
class ProcessingConfig;
@@ -523,18 +522,6 @@
// Enqueue a runtime setting.
virtual void SetRuntimeSetting(RuntimeSetting setting) = 0;
- // Processes a 10 ms |frame| of the primary audio stream. On the client-side,
- // this is the near-end (or captured) audio.
- //
- // If needed for enabled functionality, any function with the set_stream_ tag
- // must be called prior to processing the current frame. Any getter function
- // with the stream_ tag which is needed should be called after processing.
- //
- // The |sample_rate_hz_|, |num_channels_|, and |samples_per_channel_|
- // members of |frame| must be valid. If changed from the previous call to this
- // method, it will trigger an initialization.
- virtual int ProcessStream(AudioFrame* frame) = 0;
-
// Accepts and produces a 10 ms frame interleaved 16 bit integer audio as
// specified in |input_config| and |output_config|. |src| and |dest| may use
// the same memory, if desired.
@@ -555,20 +542,6 @@
const StreamConfig& output_config,
float* const* dest) = 0;
- // Processes a 10 ms |frame| of the reverse direction audio stream. The frame
- // may be modified. On the client-side, this is the far-end (or to be
- // rendered) audio.
- //
- // It is necessary to provide this if echo processing is enabled, as the
- // reverse stream forms the echo reference signal. It is recommended, but not
- // necessary, to provide if gain control is enabled. On the server-side this
- // typically will not be used. If you're not sure what to pass in here,
- // chances are you don't need to use it.
- //
- // The |sample_rate_hz_|, |num_channels_|, and |samples_per_channel_|
- // members of |frame| must be valid.
- virtual int ProcessReverseStream(AudioFrame* frame) = 0;
-
// Accepts and produces a 10 ms frame of interleaved 16 bit integer audio for
// the reverse direction audio stream as specified in |input_config| and
// |output_config|. |src| and |dest| may use the same memory, if desired.
diff --git a/modules/audio_processing/include/mock_audio_processing.h b/modules/audio_processing/include/mock_audio_processing.h
index f3e9361..66c5831 100644
--- a/modules/audio_processing/include/mock_audio_processing.h
+++ b/modules/audio_processing/include/mock_audio_processing.h
@@ -81,7 +81,6 @@
MOCK_CONST_METHOD0(num_reverse_channels, size_t());
MOCK_METHOD1(set_output_will_be_muted, void(bool muted));
MOCK_METHOD1(SetRuntimeSetting, void(RuntimeSetting setting));
- MOCK_METHOD1(ProcessStream, int(AudioFrame* frame));
MOCK_METHOD4(ProcessStream,
int(const int16_t* const src,
const StreamConfig& input_config,
@@ -100,7 +99,6 @@
const StreamConfig& input_config,
const StreamConfig& output_config,
float* const* dest));
- MOCK_METHOD1(ProcessReverseStream, int(AudioFrame* frame));
MOCK_METHOD4(ProcessReverseStream,
int(const int16_t* const src,
const StreamConfig& input_config,
diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn
index 123e548..f52797d 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -436,6 +436,7 @@
"../../api/audio:audio_frame_api",
"../../modules/audio_processing",
"../../modules/audio_processing:api",
+ "../../modules/audio_processing:audio_frame_proxies",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"//third_party/abseil-cpp/absl/types:optional",
diff --git a/test/fuzzers/audio_processing_fuzzer_helper.cc b/test/fuzzers/audio_processing_fuzzer_helper.cc
index 87b68f4..cb53a04 100644
--- a/test/fuzzers/audio_processing_fuzzer_helper.cc
+++ b/test/fuzzers/audio_processing_fuzzer_helper.cc
@@ -16,6 +16,7 @@
#include <limits>
#include "api/audio/audio_frame.h"
+#include "modules/audio_processing/include/audio_frame_proxies.h"
#include "modules/audio_processing/include/audio_processing.h"
#include "rtc_base/checks.h"
@@ -130,9 +131,9 @@
GenerateFixedFrame(fuzz_data, input_rate, num_channels, &fixed_frame);
if (is_capture) {
- apm_return_code = apm->ProcessStream(&fixed_frame);
+ apm_return_code = ProcessAudioFrame(apm.get(), &fixed_frame);
} else {
- apm_return_code = apm->ProcessReverseStream(&fixed_frame);
+ apm_return_code = ProcessReverseAudioFrame(apm.get(), &fixed_frame);
}
}