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
@ -77,6 +77,26 @@ class ChannelBufferWavWriter final {
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(ChannelBufferWavWriter);
|
||||
};
|
||||
|
||||
// Takes a pointer to a vector. Allows appending the samples of channel buffers
|
||||
// to the given vector, by interleaving the samples and converting them to float
|
||||
// S16.
|
||||
class ChannelBufferVectorWriter final {
|
||||
public:
|
||||
explicit ChannelBufferVectorWriter(std::vector<float>* output);
|
||||
ChannelBufferVectorWriter(const ChannelBufferVectorWriter&) = delete;
|
||||
ChannelBufferVectorWriter& operator=(const ChannelBufferVectorWriter&) =
|
||||
delete;
|
||||
~ChannelBufferVectorWriter();
|
||||
|
||||
// Creates an interleaved copy of |buffer|, converts the samples to float S16
|
||||
// and appends the result to output_.
|
||||
void Write(const ChannelBuffer<float>& buffer);
|
||||
|
||||
private:
|
||||
std::vector<float> interleaved_buffer_;
|
||||
std::vector<float>* output_;
|
||||
};
|
||||
|
||||
void WriteIntData(const int16_t* data,
|
||||
size_t length,
|
||||
WavWriter* wav_file,
|
||||
|
||||
Reference in New Issue
Block a user