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

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: Rebasing 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..5f57917337912de352ef3ad92663d5f7ecfd64fd 100644
--- a/webrtc/modules/audio_processing/test/audio_file_processor.cc
+++ b/webrtc/modules/audio_processing/test/audio_file_processor.cc
@@ -42,14 +42,39 @@ 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)) {
+ if (reverse_in_file) {
+ const WavFile* reverse_out_config;
+ if (reverse_out_file) {
+ reverse_out_config = reverse_out_file.get();
+ } else {
+ reverse_out_config = reverse_in_file.get();
+ }
+ reverse_in_buf_.reset(
+ new ChannelBuffer<float>(GetChannelBuffer(*reverse_in_file)));
+ reverse_out_buf_.reset(
+ new ChannelBuffer<float>(GetChannelBuffer(*reverse_out_config)));
+ reverse_input_config_.reset(
+ new StreamConfig(GetStreamConfig(*reverse_in_file)));
+ reverse_output_config_.reset(
+ new StreamConfig(GetStreamConfig(*reverse_out_config)));
+ reverse_buffer_reader_.reset(
+ new ChannelBufferWavReader(std::move(reverse_in_file)));
+ if (reverse_out_file) {
+ reverse_buffer_writer_.reset(
+ new ChannelBufferWavWriter(std::move(reverse_out_file)));
+ }
+ }
+}
bool WavFileProcessor::ProcessChunk() {
if (!buffer_reader_.Read(&in_buf_)) {
@@ -62,6 +87,22 @@ bool WavFileProcessor::ProcessChunk() {
output_config_, out_buf_.channels()));
}
buffer_writer_.Write(out_buf_);
+ if (reverse_buffer_reader_) {
+ 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()));
+ }
+ if (reverse_buffer_writer_) {
+ reverse_buffer_writer_->Write(*reverse_out_buf_.get());
+ }
+ }
return true;
}
« no previous file with comments | « webrtc/modules/audio_processing/test/audio_file_processor.h ('k') | webrtc/modules/audio_processing/test/audioproc_float.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698