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
3// found in the LICENSE file.
4
5#include "components/copresence/test/audio_test_support.h"
6
7#include <cstdlib>
8
9#include "media/base/audio_bus.h"
10
11namespace copresence {
12
13void PopulateSamples(int random_seed, size_t size, float* samples) {
14  srand(random_seed);
15  for (size_t i = 0; i < size; ++i)
16    samples[i] = (2.0 * rand() / RAND_MAX) - 1;
17}
18
19scoped_ptr<media::AudioBus> CreateRandomAudio(int random_seed,
20                                              int channels,
21                                              int samples) {
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}
27
28scoped_refptr<media::AudioBusRefCounted>
29CreateRandomAudioRefCounted(int random_seed, int channels, int samples) {
30  scoped_refptr<media::AudioBusRefCounted> bus =
31      media::AudioBusRefCounted::Create(channels, samples);
32  for (int ch = 0; ch < channels; ++ch)
33    PopulateSamples(random_seed, samples, bus->channel(ch));
34  return bus;
35}
36
37}  // namespace copresence
38