Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1503)

Unified Diff: webrtc/modules/audio_processing/test/audio_file_processor.cc

Issue 1800413002: Add IntelligibilityEnhancer support to audioproc_float (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@reverse
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_processing/test/audio_file_processor.cc
diff --git a/webrtc/modules/audio_processing/test/audio_file_processor.cc b/webrtc/modules/audio_processing/test/audio_file_processor.cc
index 5febcd0dc84a8dc5eeb2d8833f5ab29aa0bdc23e..769ef8a0143bcc5e5b1fa0bd9b34119109c09b78 100644
--- a/webrtc/modules/audio_processing/test/audio_file_processor.cc
+++ b/webrtc/modules/audio_processing/test/audio_file_processor.cc
@@ -42,14 +42,32 @@ ChannelBuffer<float> GetChannelBuffer(const WavFile& file) {
WavFileProcessor::WavFileProcessor(std::unique_ptr<AudioProcessing> ap,
std::unique_ptr<WavReader> in_file,
- std::unique_ptr<WavWriter> out_file)
+ std::unique_ptr<WavWriter> out_file,
+ std::unique_ptr<WavReader> reverse_in_file,
+ std::unique_ptr<WavWriter> reverse_out_file)
: ap_(std::move(ap)),
in_buf_(GetChannelBuffer(*in_file)),
out_buf_(GetChannelBuffer(*out_file)),
input_config_(GetStreamConfig(*in_file)),
output_config_(GetStreamConfig(*out_file)),
buffer_reader_(std::move(in_file)),
- buffer_writer_(std::move(out_file)) {}
+ buffer_writer_(std::move(out_file)),
+ process_reverse_stream_(reverse_in_file && reverse_out_file) {
peah-webrtc 2016/03/18 09:38:02 Why is this true only if both reverse_in_file reve
aluebs-webrtc 2016/03/18 18:36:54 In practice, the reverse_out_file is always specif
+ if (process_reverse_stream_) {
+ reverse_in_buf_.reset(
+ new ChannelBuffer<float>(GetChannelBuffer(*reverse_in_file)));
+ reverse_out_buf_.reset(
+ new ChannelBuffer<float>(GetChannelBuffer(*reverse_out_file)));
+ reverse_input_config_.reset(
+ new StreamConfig(GetStreamConfig(*reverse_in_file)));
+ reverse_output_config_.reset(
+ new StreamConfig(GetStreamConfig(*reverse_out_file)));
+ reverse_buffer_reader_.reset(
+ new ChannelBufferWavReader(std::move(reverse_in_file)));
+ reverse_buffer_writer_.reset(
+ new ChannelBufferWavWriter(std::move(reverse_out_file)));
+ }
+}
bool WavFileProcessor::ProcessChunk() {
if (!buffer_reader_.Read(&in_buf_)) {
@@ -62,6 +80,20 @@ bool WavFileProcessor::ProcessChunk() {
output_config_, out_buf_.channels()));
}
buffer_writer_.Write(out_buf_);
+ if (process_reverse_stream_) {
peah-webrtc 2016/03/18 09:38:02 This bool is a bit redundant: you should be able t
aluebs-webrtc 2016/03/18 18:36:53 I just though it was less bug prone to have one ce
+ if (!reverse_buffer_reader_->Read(reverse_in_buf_.get())) {
+ return false;
+ }
+ {
+ const auto st = ScopedTimer(mutable_proc_time());
+ RTC_CHECK_EQ(kNoErr,
+ ap_->ProcessReverseStream(reverse_in_buf_->channels(),
+ *reverse_input_config_.get(),
+ *reverse_output_config_.get(),
+ reverse_out_buf_->channels()));
+ }
+ reverse_buffer_writer_->Write(*reverse_out_buf_.get());
+ }
return true;
}

Powered by Google App Engine
This is Rietveld 408576698