Chromium Code Reviews| Index: content/renderer/renderer_webkitplatformsupport_impl.cc |
| =================================================================== |
| --- content/renderer/renderer_webkitplatformsupport_impl.cc (revision 190462) |
| +++ content/renderer/renderer_webkitplatformsupport_impl.cc (working copy) |
| @@ -633,7 +633,23 @@ |
| double RendererWebKitPlatformSupportImpl::audioHardwareSampleRate() { |
| RenderThreadImpl* thread = RenderThreadImpl::current(); |
| - return thread->GetAudioHardwareConfig()->GetOutputSampleRate(); |
| + int sample_rate = thread->GetAudioHardwareConfig()->GetOutputSampleRate(); |
| + |
| + // In some rare cases it has been found that Windows returns |
| + // a sample-rate of 0. |
| + // Let's make sure to return a sane fallback sample-rate. |
| + // http://crbug.com/222718 |
| + static const int kMinSampleRate = 22050; |
|
DaleCurtis
2013/03/25 21:29:39
How about calling GetAudioHardwareConfig()->GetOut
Chris Rogers
2013/03/25 22:46:45
The sample-rate limits of Web Audio aren't necessa
|
| + static const int kMaxSampleRate = 192000; |
| +#if defined(OS_MACOSX) |
| + static const int kFallbackSampleRate = 44100; |
| +#else |
| + static const int kFallbackSampleRate = 48000; |
| +#endif |
| + if (sample_rate < kMinSampleRate || sample_rate > kMaxSampleRate) |
| + sample_rate = kFallbackSampleRate; |
| + |
| + return sample_rate; |
| } |
| size_t RendererWebKitPlatformSupportImpl::audioHardwareBufferSize() { |