Index: webrtc/modules/audio_processing/test/conversational_speech/wavreader_factory.cc |
diff --git a/webrtc/modules/audio_processing/test/conversational_speech/wavreader_factory.cc b/webrtc/modules/audio_processing/test/conversational_speech/wavreader_factory.cc |
index f9d43f80702b53876e42e6a1146f5d1dacc0e190..db126d04e39a61096056914195ca59bd99aa5e47 100644 |
--- a/webrtc/modules/audio_processing/test/conversational_speech/wavreader_factory.cc |
+++ b/webrtc/modules/audio_processing/test/conversational_speech/wavreader_factory.cc |
@@ -10,10 +10,51 @@ |
#include "webrtc/modules/audio_processing/test/conversational_speech/wavreader_factory.h" |
-#include "webrtc/modules/audio_processing/test/conversational_speech/wavreader_adaptor.h" |
+#include <cstddef> |
+ |
+#include "webrtc/base/array_view.h" |
+#include "webrtc/base/checks.h" |
+#include "webrtc/common_audio/wav_file.h" |
+#include "webrtc/typedefs.h" |
namespace webrtc { |
namespace test { |
+namespace { |
+ |
+using conversational_speech::WavReaderInterface; |
+ |
+class WavReaderAdaptor final : public WavReaderInterface { |
+ public: |
+ explicit WavReaderAdaptor(const std::string& filepath) |
+ : wav_reader_(filepath) {} |
+ ~WavReaderAdaptor() override = default; |
+ |
+ size_t ReadFloatSamples(rtc::ArrayView<float> samples) override { |
+ return wav_reader_.ReadSamples(samples.size(), samples.begin()); |
+ } |
+ |
+ size_t ReadInt16Samples(rtc::ArrayView<int16_t> samples) override { |
+ return wav_reader_.ReadSamples(samples.size(), samples.begin()); |
+ } |
+ |
+ int SampleRate() const override { |
+ return wav_reader_.sample_rate(); |
+ } |
+ |
+ size_t NumChannels() const override { |
+ return wav_reader_.num_channels(); |
+ } |
+ |
+ size_t NumSamples() const override { |
+ return wav_reader_.num_samples(); |
+ } |
+ |
+ private: |
+ WavReader wav_reader_; |
+}; |
+ |
+} // namespace |
+ |
namespace conversational_speech { |
WavReaderFactory::WavReaderFactory() = default; |