| Index: content/browser/renderer_host/media/audio_renderer_host.cc
|
| ===================================================================
|
| --- content/browser/renderer_host/media/audio_renderer_host.cc (revision 173637)
|
| +++ content/browser/renderer_host/media/audio_renderer_host.cc (working copy)
|
| @@ -219,27 +219,23 @@
|
| void AudioRendererHost::OnCreateStream(
|
| int stream_id, const media::AudioParameters& params, int input_channels) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - DCHECK(LookupById(stream_id) == NULL);
|
| + // media::AudioParameters is validated in the deserializer.
|
| + if (input_channels < 0 ||
|
| + input_channels > media::limits::kMaxChannels ||
|
| + LookupById(stream_id) != NULL) {
|
| + SendErrorMessage(stream_id);
|
| + return;
|
| + }
|
|
|
| media::AudioParameters audio_params(params);
|
| - uint32 buffer_size = media::AudioBus::CalculateMemorySize(audio_params);
|
| - DCHECK_GT(buffer_size, 0U);
|
| - DCHECK_LE(buffer_size,
|
| - static_cast<uint32>(media::limits::kMaxPacketSizeInBytes));
|
|
|
| - DCHECK_GE(input_channels, 0);
|
| - DCHECK_LT(input_channels, media::limits::kMaxChannels);
|
| -
|
| // Calculate output and input memory size.
|
| int output_memory_size = AudioBus::CalculateMemorySize(audio_params);
|
| - DCHECK_GT(output_memory_size, 0);
|
|
|
| int frames = audio_params.frames_per_buffer();
|
| int input_memory_size =
|
| AudioBus::CalculateMemorySize(input_channels, frames);
|
|
|
| - DCHECK_GE(input_memory_size, 0);
|
| -
|
| scoped_ptr<AudioEntry> entry(new AudioEntry());
|
|
|
| // Create the shared memory and share with the renderer process.
|
|
|