summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/audio_renderer_host.cc
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-31 23:18:48 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-31 23:18:48 +0000
commit2f6d086da79c737bc2a0ee3023ca80c608c75d19 (patch)
tree6943204cb1c9c7d7cbe722f91a64a1c326601fef /chrome/browser/renderer_host/audio_renderer_host.cc
parent87949cc2b85979964ca9de9483ba1ba2758e0b81 (diff)
downloadchromium_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.cc20
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);
}