audioproc_f: input AEC dump as string, output audio to vector
This CL adds the following options: pass an input AEC dump as a string (currently, the tool can only accept a path to an AEC dump file) write the processed capture samples to a given vector Bug: webrtc:10808 Change-Id: I02863c97ec3cd8c03ade2ea8521836f2e7417050 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145208 Commit-Queue: Sonia-Florina Horchidan <soniahorchidan@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Per Åhgren <peah@webrtc.org> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28826}
This commit is contained in:
committed by
Commit Bot
parent
81df62b456
commit
b75d14c802
@ -68,6 +68,24 @@ void ChannelBufferWavWriter::Write(const ChannelBuffer<float>& buffer) {
|
||||
file_->WriteSamples(&interleaved_[0], interleaved_.size());
|
||||
}
|
||||
|
||||
ChannelBufferVectorWriter::ChannelBufferVectorWriter(std::vector<float>* output)
|
||||
: output_(output) {
|
||||
RTC_DCHECK(output_);
|
||||
}
|
||||
|
||||
ChannelBufferVectorWriter::~ChannelBufferVectorWriter() = default;
|
||||
|
||||
void ChannelBufferVectorWriter::Write(const ChannelBuffer<float>& buffer) {
|
||||
// Account for sample rate changes throughout a simulation.
|
||||
interleaved_buffer_.resize(buffer.size());
|
||||
Interleave(buffer.channels(), buffer.num_frames(), buffer.num_channels(),
|
||||
interleaved_buffer_.data());
|
||||
size_t old_size = output_->size();
|
||||
output_->resize(old_size + interleaved_buffer_.size());
|
||||
FloatToFloatS16(interleaved_buffer_.data(), interleaved_buffer_.size(),
|
||||
output_->data() + old_size);
|
||||
}
|
||||
|
||||
void WriteIntData(const int16_t* data,
|
||||
size_t length,
|
||||
WavWriter* wav_file,
|
||||
|
||||
Reference in New Issue
Block a user