Index: webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_test.cc |
diff --git a/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_test.cc b/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_test.cc |
index d1875526920cde162c5fe5492e545a577d073a5a..233d4064306ec694d95ee3488c6f7ef3bde0d96b 100644 |
--- a/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_test.cc |
+++ b/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_test.cc |
@@ -43,14 +43,14 @@ int main(int argc, char* argv[]) { |
google::ParseCommandLineFlags(&argc, &argv, true); |
WavReader in_file(FLAGS_i); |
- WavWriter out_file(FLAGS_o, in_file.sample_rate(), 1); |
+ WavWriter out_file(FLAGS_o, in_file.sample_rate(), in_file.num_channels()); |
const size_t num_mics = in_file.num_channels(); |
const std::vector<Point> array_geometry = |
ParseArrayGeometry(FLAGS_mic_positions, num_mics); |
RTC_CHECK_EQ(array_geometry.size(), num_mics); |
- NonlinearBeamformer bf(array_geometry); |
+ NonlinearBeamformer bf(array_geometry, array_geometry.size()); |
bf.Initialize(kChunkSizeMs, in_file.sample_rate()); |
printf("Input file: %s\nChannels: %" PRIuS ", Sample rate: %d Hz\n\n", |
@@ -58,24 +58,22 @@ int main(int argc, char* argv[]) { |
printf("Output file: %s\nChannels: %" PRIuS ", Sample rate: %d Hz\n\n", |
FLAGS_o.c_str(), out_file.num_channels(), out_file.sample_rate()); |
- ChannelBuffer<float> in_buf( |
+ ChannelBuffer<float> buf( |
rtc::CheckedDivExact(in_file.sample_rate(), kChunksPerSecond), |
in_file.num_channels()); |
- ChannelBuffer<float> out_buf( |
- rtc::CheckedDivExact(out_file.sample_rate(), kChunksPerSecond), |
- out_file.num_channels()); |
- std::vector<float> interleaved(in_buf.size()); |
+ std::vector<float> interleaved(buf.size()); |
while (in_file.ReadSamples(interleaved.size(), |
&interleaved[0]) == interleaved.size()) { |
FloatS16ToFloat(&interleaved[0], interleaved.size(), &interleaved[0]); |
- Deinterleave(&interleaved[0], in_buf.num_frames(), |
- in_buf.num_channels(), in_buf.channels()); |
+ Deinterleave(&interleaved[0], buf.num_frames(), |
+ buf.num_channels(), buf.channels()); |
- bf.ProcessChunk(in_buf, &out_buf); |
+ bf.AnalyzeChunk(buf); |
+ bf.PostFilter(&buf); |
- Interleave(out_buf.channels(), out_buf.num_frames(), |
- out_buf.num_channels(), &interleaved[0]); |
+ Interleave(buf.channels(), buf.num_frames(), |
+ buf.num_channels(), &interleaved[0]); |
FloatToFloatS16(&interleaved[0], interleaved.size(), &interleaved[0]); |
out_file.WriteSamples(&interleaved[0], interleaved.size()); |
} |