Restructure the audioproc_f tool into a library with a thin executable wrapper.

This refactoring makes it easier to experiment with injectable components.

Bug: webrtc:8732
Change-Id: I2cd2a8ff80516a76aec814af02b61778915f2217
Reviewed-on: https://webrtc-review.googlesource.com/60863
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22372}
This commit is contained in:
Ivo Creusen
2018-03-09 17:33:04 +01:00
committed by Commit Bot
parent 45d9c1de9c
commit 8c812f3fc3
10 changed files with 88 additions and 17 deletions

View File

@ -108,7 +108,8 @@ class AudioProcessingSimulator {
public:
static const int kChunksPerSecond = 1000 / AudioProcessing::kChunkSizeMs;
explicit AudioProcessingSimulator(const SimulationSettings& settings);
AudioProcessingSimulator(const SimulationSettings& settings,
std::unique_ptr<AudioProcessingBuilder> ap_builder);
virtual ~AudioProcessingSimulator();
// Processes the data in the input.
@ -157,6 +158,7 @@ class AudioProcessingSimulator {
const SimulationSettings settings_;
std::unique_ptr<AudioProcessing> ap_;
std::unique_ptr<AudioProcessingBuilder> ap_builder_;
std::unique_ptr<ChannelBuffer<float>> in_buf_;
std::unique_ptr<ChannelBuffer<float>> out_buf_;