15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "components/copresence/test/audio_test_support.h" 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include <cstdlib> 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "media/base/audio_bus.h" 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace copresence { 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void PopulateSamples(int random_seed, size_t size, float* samples) { 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) srand(random_seed); 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) for (size_t i = 0; i < size; ++i) 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) samples[i] = (2.0 * rand() / RAND_MAX) - 1; 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)scoped_ptr<media::AudioBus> CreateRandomAudio(int random_seed, 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) int channels, 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) int samples) { 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) scoped_ptr<media::AudioBus> bus = media::AudioBus::Create(channels, samples); 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) for (int ch = 0; ch < channels; ++ch) 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) PopulateSamples(random_seed, samples, bus->channel(ch)); 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return bus.Pass(); 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)scoped_refptr<media::AudioBusRefCounted> 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)CreateRandomAudioRefCounted(int random_seed, int channels, int samples) { 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) scoped_refptr<media::AudioBusRefCounted> bus = 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) media::AudioBusRefCounted::Create(channels, samples); 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) for (int ch = 0; ch < channels; ++ch) 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) PopulateSamples(random_seed, samples, bus->channel(ch)); 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return bus; 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace copresence 38