OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/audio_modem/test/random_samples.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 audio_modem { |
12 | 12 |
13 void PopulateSamples(unsigned int random_seed, size_t size, float* samples) { | 13 void PopulateSamples(unsigned int random_seed, size_t size, float* samples) { |
| 14 // On Windows, rand() is threadsafe, and rand_r() is not available. |
14 #if defined(OS_WIN) | 15 #if defined(OS_WIN) |
15 srand(random_seed); | 16 srand(random_seed); |
16 for (size_t i = 0; i < size; ++i) | 17 for (size_t i = 0; i < size; ++i) |
17 samples[i] = (2.0 * rand() / RAND_MAX) - 1; | 18 samples[i] = (2.0 * rand() / RAND_MAX) - 1; // NOLINT |
18 #else | 19 #else |
19 for (size_t i = 0; i < size; ++i) | 20 for (size_t i = 0; i < size; ++i) |
20 samples[i] = (2.0 * rand_r(&random_seed) / RAND_MAX) - 1; | 21 samples[i] = (2.0 * rand_r(&random_seed) / RAND_MAX) - 1; |
21 #endif | 22 #endif |
22 } | 23 } |
23 | 24 |
24 scoped_refptr<media::AudioBusRefCounted> | 25 scoped_refptr<media::AudioBusRefCounted> |
25 CreateRandomAudioRefCounted(int random_seed, int channels, int samples) { | 26 CreateRandomAudioRefCounted(int random_seed, int channels, int samples) { |
26 scoped_refptr<media::AudioBusRefCounted> bus = | 27 scoped_refptr<media::AudioBusRefCounted> bus = |
27 media::AudioBusRefCounted::Create(channels, samples); | 28 media::AudioBusRefCounted::Create(channels, samples); |
28 for (int ch = 0; ch < channels; ++ch) | 29 for (int ch = 0; ch < channels; ++ch) |
29 PopulateSamples(random_seed, samples, bus->channel(ch)); | 30 PopulateSamples(random_seed, samples, bus->channel(ch)); |
30 return bus; | 31 return bus; |
31 } | 32 } |
32 | 33 |
33 } // namespace copresence | 34 } // namespace audio_modem |
OLD | NEW |