Index: content/browser/renderer_host/media/audio_renderer_host.cc |
diff --git a/content/browser/renderer_host/media/audio_renderer_host.cc b/content/browser/renderer_host/media/audio_renderer_host.cc |
index 4c1540e476c8fa10a9bc97bbe6e59cab1609c47b..8cd776b92742964c714ff75a99419346a019e6f7 100644 |
--- a/content/browser/renderer_host/media/audio_renderer_host.cc |
+++ b/content/browser/renderer_host/media/audio_renderer_host.cc |
@@ -13,6 +13,8 @@ |
#include "content/common/media/audio_messages.h" |
#include "content/public/browser/media_observer.h" |
#include "media/audio/shared_memory_util.h" |
+#include "media/base/audio_bus.h" |
+#include "media/base/limits.h" |
using content::BrowserMessageFilter; |
using content::BrowserThread; |
@@ -197,9 +199,10 @@ void AudioRendererHost::OnCreateStream( |
DCHECK(LookupById(stream_id) == NULL); |
media::AudioParameters audio_params(params); |
- DCHECK_GT(audio_params.frames_per_buffer(), 0); |
- |
- uint32 buffer_size = audio_params.GetBytesPerBuffer(); |
+ uint32 buffer_size = media::AudioBus::CalculateMemorySize(audio_params); |
+ DCHECK_GT(buffer_size, 0U); |
+ DCHECK_LE(buffer_size, |
+ static_cast<uint32>(media::limits::kMaxPacketSizeInBytes)); |
scoped_ptr<AudioEntry> entry(new AudioEntry()); |
@@ -214,7 +217,7 @@ void AudioRendererHost::OnCreateStream( |
// Create sync reader and try to initialize it. |
scoped_ptr<AudioSyncReader> reader( |
- new AudioSyncReader(&entry->shared_memory)); |
+ new AudioSyncReader(&entry->shared_memory, params)); |
if (!reader->Init()) { |
SendErrorMessage(stream_id); |