OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/copresence/mediums/audio/audio_recorder.h" | 5 #include "components/copresence/mediums/audio/audio_recorder.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/aligned_memory.h" | 8 #include "base/memory/aligned_memory.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "components/copresence/public/copresence_constants.h" | 10 #include "components/copresence/public/copresence_constants.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 TestAudioInputStream(const media::AudioParameters& params, | 22 TestAudioInputStream(const media::AudioParameters& params, |
23 const std::vector<float*> channel_data, | 23 const std::vector<float*> channel_data, |
24 size_t samples) | 24 size_t samples) |
25 : callback_(NULL), params_(params) { | 25 : callback_(NULL), params_(params) { |
26 buffer_ = media::AudioBus::CreateWrapper(2); | 26 buffer_ = media::AudioBus::CreateWrapper(2); |
27 for (size_t i = 0; i < channel_data.size(); ++i) | 27 for (size_t i = 0; i < channel_data.size(); ++i) |
28 buffer_->SetChannelData(i, channel_data[i]); | 28 buffer_->SetChannelData(i, channel_data[i]); |
29 buffer_->set_frames(samples); | 29 buffer_->set_frames(samples); |
30 } | 30 } |
31 | 31 |
32 virtual ~TestAudioInputStream() {} | 32 ~TestAudioInputStream() override {} |
33 | 33 |
34 virtual bool Open() override { return true; } | 34 bool Open() override { return true; } |
35 virtual void Start(AudioInputCallback* callback) override { | 35 void Start(AudioInputCallback* callback) override { |
36 DCHECK(callback); | 36 DCHECK(callback); |
37 callback_ = callback; | 37 callback_ = callback; |
38 media::AudioManager::Get()->GetTaskRunner()->PostTask( | 38 media::AudioManager::Get()->GetTaskRunner()->PostTask( |
39 FROM_HERE, | 39 FROM_HERE, |
40 base::Bind(&TestAudioInputStream::SimulateRecording, | 40 base::Bind(&TestAudioInputStream::SimulateRecording, |
41 base::Unretained(this))); | 41 base::Unretained(this))); |
42 } | 42 } |
43 virtual void Stop() override {} | 43 void Stop() override {} |
44 virtual void Close() override {} | 44 void Close() override {} |
45 virtual double GetMaxVolume() override { return 1.0; } | 45 double GetMaxVolume() override { return 1.0; } |
46 virtual void SetVolume(double volume) override {} | 46 void SetVolume(double volume) override {} |
47 virtual double GetVolume() override { return 1.0; } | 47 double GetVolume() override { return 1.0; } |
48 virtual void SetAutomaticGainControl(bool enabled) override {} | 48 void SetAutomaticGainControl(bool enabled) override {} |
49 virtual bool GetAutomaticGainControl() override { return true; } | 49 bool GetAutomaticGainControl() override { return true; } |
50 virtual bool IsMuted() override { return false; } | 50 bool IsMuted() override { return false; } |
51 | 51 |
52 private: | 52 private: |
53 void SimulateRecording() { | 53 void SimulateRecording() { |
54 const int fpb = params_.frames_per_buffer(); | 54 const int fpb = params_.frames_per_buffer(); |
55 for (int i = 0; i < buffer_->frames() / fpb; ++i) { | 55 for (int i = 0; i < buffer_->frames() / fpb; ++i) { |
56 scoped_ptr<media::AudioBus> source = media::AudioBus::Create(2, fpb); | 56 scoped_ptr<media::AudioBus> source = media::AudioBus::Create(2, fpb); |
57 buffer_->CopyPartialFramesTo(i * fpb, fpb, 0, source.get()); | 57 buffer_->CopyPartialFramesTo(i * fpb, fpb, 0, source.get()); |
58 callback_->OnData(this, source.get(), fpb, 1.0); | 58 callback_->OnData(this, source.get(), fpb, 1.0); |
59 } | 59 } |
60 } | 60 } |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 kDefaultChannels, kDefaultSampleRate, kDefaultBitsPerSample, kNumSamples); | 244 kDefaultChannels, kDefaultSampleRate, kDefaultBitsPerSample, kNumSamples); |
245 | 245 |
246 RecordAndVerifySamples(); | 246 RecordAndVerifySamples(); |
247 | 247 |
248 DeleteRecorder(); | 248 DeleteRecorder(); |
249 } | 249 } |
250 | 250 |
251 // TODO(rkc): Add tests with recording different sample rates. | 251 // TODO(rkc): Add tests with recording different sample rates. |
252 | 252 |
253 } // namespace copresence | 253 } // namespace copresence |
OLD | NEW |