Index: media/audio/audio_util.cc |
diff --git a/media/audio/audio_util.cc b/media/audio/audio_util.cc |
index e67dd8e8246286c642908b144ed1c97deea09efc..8df373940716a76f57c506e9c06d81c25e8ac453 100644 |
--- a/media/audio/audio_util.cc |
+++ b/media/audio/audio_util.cc |
@@ -339,6 +339,14 @@ size_t GetHighLatencyOutputBufferSize(int sample_rate) { |
#if defined(OS_WIN) |
int NumberOfWaveOutBuffers() { |
+ // Use the user provided buffer count if provided. |
+ int buffers = 0; |
+ std::string buffers_str(CommandLine::ForCurrentProcess()->GetSwitchValueASCII( |
+ switches::kWaveOutBuffers)); |
+ if (base::StringToInt(buffers_str, &buffers) && buffers > 0) { |
+ return buffers; |
+ } |
+ |
// Use 4 buffers for Vista, 3 for everyone else: |
// - The entire Windows audio stack was rewritten for Windows Vista and wave |
// out performance was degraded compared to XP. |