New test binary for the AudioMixer.
Allows mixing up to 4 input streams. Useful for profiling and manual
tests. Allows testing different combinations of input/output rates and
number of channels. Reads and writes WAV files. Can also configure
whether to use the Limiter component of the AudioMixer.
Bug: webrtc:8925
Change-Id: Iaf4fee5284980f6ed01f4bb721e49bb1af8dd392
Reviewed-on: https://webrtc-review.googlesource.com/56842
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22209}
diff --git a/modules/audio_mixer/frame_combiner.h b/modules/audio_mixer/frame_combiner.h
index 3a60322..3d43128 100644
--- a/modules/audio_mixer/frame_combiner.h
+++ b/modules/audio_mixer/frame_combiner.h
@@ -29,6 +29,8 @@
explicit FrameCombiner(bool use_limiter);
~FrameCombiner();
+ void SetLimiterType(LimiterType limiter_type);
+
// Combine several frames into one. Assumes sample_rate,
// samples_per_channel of the input frames match the parameters. The
// parameters 'number_of_channels' and 'sample_rate' are needed
@@ -42,7 +44,7 @@
AudioFrame* audio_frame_for_mixing);
private:
- const LimiterType limiter_type_;
+ LimiterType limiter_type_;
std::unique_ptr<AudioProcessing> apm_agc_limiter_;
std::unique_ptr<ApmDataDumper> data_dumper_;
FixedGainController apm_agc2_limiter_;