| Index: content/renderer/media/audio_hardware.cc
|
| diff --git a/content/renderer/media/audio_hardware.cc b/content/renderer/media/audio_hardware.cc
|
| index 1f49fdb991103682a94fe09a49f9693b51dff643..7bc742a78c2c555cb25b45f5874b9081b8a09041 100644
|
| --- a/content/renderer/media/audio_hardware.cc
|
| +++ b/content/renderer/media/audio_hardware.cc
|
| @@ -49,28 +49,16 @@ size_t GetOutputBufferSize() {
|
| }
|
|
|
| size_t GetHighLatencyOutputBufferSize(int sample_rate) {
|
| - // The minimum number of samples in a hardware packet.
|
| - // This value is selected so that we can handle down to 5khz sample rate.
|
| - static const size_t kMinSamplesPerHardwarePacket = 1024;
|
| -
|
| - // The maximum number of samples in a hardware packet.
|
| - // This value is selected so that we can handle up to 192khz sample rate.
|
| - static const size_t kMaxSamplesPerHardwarePacket = 64 * 1024;
|
| -
|
| - // This constant governs the hardware audio buffer size, this value should be
|
| - // chosen carefully.
|
| - // This value is selected so that we have 8192 samples for 48khz streams.
|
| - static const size_t kMillisecondsPerHardwarePacket = 170;
|
| -
|
| - // Select the number of samples that can provide at least
|
| - // |kMillisecondsPerHardwarePacket| worth of audio data.
|
| - size_t samples = kMinSamplesPerHardwarePacket;
|
| - while (samples <= kMaxSamplesPerHardwarePacket &&
|
| - samples * base::Time::kMillisecondsPerSecond <
|
| - sample_rate * kMillisecondsPerHardwarePacket) {
|
| - samples *= 2;
|
| - }
|
| - return samples;
|
| + // kNominalBufferSize has been tested on Windows, Mac OS X, and Linux
|
| + // with the AUDIO_PCM_LINEAR flag.
|
| + const size_t kNominalBufferSize = 2048;
|
| +
|
| + if (sample_rate <= 48000)
|
| + return kNominalBufferSize;
|
| + else if (sample_rate <= 96000)
|
| + return kNominalBufferSize * 2;
|
| +
|
| + return kNominalBufferSize * 4;
|
| }
|
|
|
| uint32 GetInputChannelCount() {
|
|
|