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/test/audio_test_support.h" | 5 #include "components/copresence/test/audio_test_support.h" |
6 | 6 |
7 #include <cstdlib> | 7 #include <cstdlib> |
8 | 8 |
9 #include "media/base/audio_bus.h" | 9 #include "media/base/audio_bus.h" |
10 | 10 |
11 namespace copresence { | 11 namespace copresence { |
12 | 12 |
13 void PopulateSamples(int random_seed, size_t size, float* samples) { | 13 void PopulateSamples(int random_seed, size_t size, float* samples) { |
14 srand(random_seed); | 14 srand(random_seed); |
| 15 #if defined(OS_WIN) |
15 for (size_t i = 0; i < size; ++i) | 16 for (size_t i = 0; i < size; ++i) |
16 samples[i] = (2.0 * rand() / RAND_MAX) - 1; | 17 samples[i] = (2.0 * rand() / RAND_MAX) - 1; |
17 } | 18 #else |
18 | 19 unsigned int rand_state; |
19 scoped_ptr<media::AudioBus> CreateRandomAudio(int random_seed, | 20 for (size_t i = 0; i < size; ++i) |
20 int channels, | 21 samples[i] = (2.0 * rand_r(&rand_state) / RAND_MAX) - 1; |
21 int samples) { | 22 #endif |
22 scoped_ptr<media::AudioBus> bus = media::AudioBus::Create(channels, samples); | |
23 for (int ch = 0; ch < channels; ++ch) | |
24 PopulateSamples(random_seed, samples, bus->channel(ch)); | |
25 return bus.Pass(); | |
26 } | 23 } |
27 | 24 |
28 scoped_refptr<media::AudioBusRefCounted> | 25 scoped_refptr<media::AudioBusRefCounted> |
29 CreateRandomAudioRefCounted(int random_seed, int channels, int samples) { | 26 CreateRandomAudioRefCounted(int random_seed, int channels, int samples) { |
30 scoped_refptr<media::AudioBusRefCounted> bus = | 27 scoped_refptr<media::AudioBusRefCounted> bus = |
31 media::AudioBusRefCounted::Create(channels, samples); | 28 media::AudioBusRefCounted::Create(channels, samples); |
32 for (int ch = 0; ch < channels; ++ch) | 29 for (int ch = 0; ch < channels; ++ch) |
33 PopulateSamples(random_seed, samples, bus->channel(ch)); | 30 PopulateSamples(random_seed, samples, bus->channel(ch)); |
34 return bus; | 31 return bus; |
35 } | 32 } |
36 | 33 |
37 } // namespace copresence | 34 } // namespace copresence |
OLD | NEW |