diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-31 23:18:48 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-31 23:18:48 +0000 |
commit | 2f6d086da79c737bc2a0ee3023ca80c608c75d19 (patch) | |
tree | 6943204cb1c9c7d7cbe722f91a64a1c326601fef /chrome/browser/renderer_host/audio_renderer_host.cc | |
parent | 87949cc2b85979964ca9de9483ba1ba2758e0b81 (diff) | |
download | chromium_src-2f6d086da79c737bc2a0ee3023ca80c608c75d19.zip chromium_src-2f6d086da79c737bc2a0ee3023ca80c608c75d19.tar.gz chromium_src-2f6d086da79c737bc2a0ee3023ca80c608c75d19.tar.bz2 |
Add AudioParameters struct. Use it everywhere.
BUG=None
TEST=unittests
Review URL: http://codereview.chromium.org/3226012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58097 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/audio_renderer_host.cc')
-rw-r--r-- | chrome/browser/renderer_host/audio_renderer_host.cc | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/chrome/browser/renderer_host/audio_renderer_host.cc b/chrome/browser/renderer_host/audio_renderer_host.cc index fcfd0bf..3219333 100644 --- a/chrome/browser/renderer_host/audio_renderer_host.cc +++ b/chrome/browser/renderer_host/audio_renderer_host.cc @@ -55,17 +55,16 @@ static size_t GetMaxAudioStreamsAllowed() { return kMaxStreams; } -static uint32 SelectHardwarePacketSize(int channels, int sample_rate, - int bits_per_sample) { +static uint32 SelectHardwarePacketSize(AudioParameters params) { // Select the number of samples that can provide at least // |kMillisecondsPerHardwarePacket| worth of audio data. int samples = kMinSamplesPerHardwarePacket; while (samples <= kMaxSamplesPerHardwarePacket && samples * base::Time::kMillisecondsPerSecond < - sample_rate * kMillisecondsPerHardwarePacket) { + params.sample_rate * kMillisecondsPerHardwarePacket) { samples *= 2; } - return channels * samples * bits_per_sample / 8; + return params.channels * samples * params.bits_per_sample / 8; } /////////////////////////////////////////////////////////////////////////////// @@ -332,9 +331,7 @@ void AudioRendererHost::OnCreateStream( // Select the hardwaer packet size if not specified. uint32 hardware_packet_size = params.packet_size; if (!hardware_packet_size) { - hardware_packet_size = SelectHardwarePacketSize(params.channels, - params.sample_rate, - params.bits_per_sample); + hardware_packet_size = SelectHardwarePacketSize(params.params); } scoped_ptr<AudioEntry> entry(new AudioEntry()); @@ -355,18 +352,13 @@ void AudioRendererHost::OnCreateStream( entry->reader.reset(reader.release()); controller = media::AudioOutputController::CreateLowLatency( - this, params.format, params.channels, - params.sample_rate, - params.bits_per_sample, + this, params.params, hardware_packet_size, entry->reader.get()); } else { // The choice of buffer capacity is based on experiment. controller = - media::AudioOutputController::Create(this, params.format, - params.channels, - params.sample_rate, - params.bits_per_sample, + media::AudioOutputController::Create(this, params.params, hardware_packet_size, 3 * hardware_packet_size); } |