Add aecdump support to audioproc_f

Originally landed here: https://codereview.webrtc.org/1409943002/
The transient suppression fix landed here: https://codereview.webrtc.org/1411423010/

TBR=mflodman

Review URL: https://codereview.webrtc.org/1432843002

Cr-Commit-Position: refs/heads/master@{#10722}
This commit is contained in:
aluebs
2015-11-20 00:11:53 -08:00
committed by Commit bot
parent ceb450b51d
commit b0ad43baa0
10 changed files with 465 additions and 160 deletions

View File

@ -43,6 +43,35 @@ class RawFile final {
RTC_DISALLOW_COPY_AND_ASSIGN(RawFile);
};
// Reads ChannelBuffers from a provided WavReader.
class ChannelBufferWavReader final {
public:
explicit ChannelBufferWavReader(rtc::scoped_ptr<WavReader> file);
// Reads data from the file according to the |buffer| format. Returns false if
// a full buffer can't be read from the file.
bool Read(ChannelBuffer<float>* buffer);
private:
rtc::scoped_ptr<WavReader> file_;
std::vector<float> interleaved_;
RTC_DISALLOW_COPY_AND_ASSIGN(ChannelBufferWavReader);
};
// Writes ChannelBuffers to a provided WavWriter.
class ChannelBufferWavWriter final {
public:
explicit ChannelBufferWavWriter(rtc::scoped_ptr<WavWriter> file);
void Write(const ChannelBuffer<float>& buffer);
private:
rtc::scoped_ptr<WavWriter> file_;
std::vector<float> interleaved_;
RTC_DISALLOW_COPY_AND_ASSIGN(ChannelBufferWavWriter);
};
void WriteIntData(const int16_t* data,
size_t length,
WavWriter* wav_file,
@ -118,6 +147,9 @@ std::vector<T> ParseList(const std::string& to_parse) {
std::vector<Point> ParseArrayGeometry(const std::string& mic_positions,
size_t num_mics);
// Same as above, but without the num_mics check for when it isn't available.
std::vector<Point> ParseArrayGeometry(const std::string& mic_positions);
} // namespace webrtc
#endif // WEBRTC_MODULES_AUDIO_PROCESSING_TEST_TEST_UTILS_H_