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

Side by Side Diff: webrtc/modules/audio_processing/test/conversational_speech/wavreader_factory.cc

Issue 2774423005: Conversational Speech tool, WavReaderAdaptor and unit test (Closed)
Patch Set: BUILD deps fixed Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/modules/audio_processing/test/conversational_speech/wavreader_f actory.h" 11 #include "webrtc/modules/audio_processing/test/conversational_speech/wavreader_f actory.h"
12 12
13 #include "webrtc/modules/audio_processing/test/conversational_speech/wavreader_a daptor.h" 13 #include <cstddef>
14
15 #include "webrtc/base/array_view.h"
16 #include "webrtc/base/checks.h"
17 #include "webrtc/common_audio/wav_file.h"
18 #include "webrtc/typedefs.h"
14 19
15 namespace webrtc { 20 namespace webrtc {
16 namespace test { 21 namespace test {
22 namespace {
23
24 using conversational_speech::WavReaderInterface;
25
26 class WavReaderAdaptor final : public WavReaderInterface {
27 public:
28 explicit WavReaderAdaptor(const std::string& filepath)
29 : wav_reader_(filepath) {}
30 ~WavReaderAdaptor() override = default;
31
32 size_t ReadFloatSamples(rtc::ArrayView<float> samples) override {
33 return wav_reader_.ReadSamples(samples.size(), samples.begin());
34 }
35
36 size_t ReadInt16Samples(rtc::ArrayView<int16_t> samples) override {
37 return wav_reader_.ReadSamples(samples.size(), samples.begin());
38 }
39
40 int SampleRate() const override {
41 return wav_reader_.sample_rate();
42 }
43
44 size_t NumChannels() const override {
45 return wav_reader_.num_channels();
46 }
47
48 size_t NumSamples() const override {
49 return wav_reader_.num_samples();
50 }
51
52 private:
53 WavReader wav_reader_;
54 };
55
56 } // namespace
57
17 namespace conversational_speech { 58 namespace conversational_speech {
18 59
19 WavReaderFactory::WavReaderFactory() = default; 60 WavReaderFactory::WavReaderFactory() = default;
20 61
21 WavReaderFactory::~WavReaderFactory() = default; 62 WavReaderFactory::~WavReaderFactory() = default;
22 63
23 std::unique_ptr<WavReaderInterface> WavReaderFactory::Create( 64 std::unique_ptr<WavReaderInterface> WavReaderFactory::Create(
24 const std::string& filepath) const { 65 const std::string& filepath) const {
25 return std::unique_ptr<WavReaderAdaptor>(new WavReaderAdaptor(filepath)); 66 return std::unique_ptr<WavReaderAdaptor>(new WavReaderAdaptor(filepath));
26 } 67 }
27 68
28 } // namespace conversational_speech 69 } // namespace conversational_speech
29 } // namespace test 70 } // namespace test
30 } // namespace webrtc 71 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698