Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: content/browser/renderer_host/media/audio_input_renderer_host.cc

Issue 9416085: Increase the buffer size in AudioRendererImpl to fix muted playback rate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/media/audio_input_renderer_host.h" 5 #include "content/browser/renderer_host/media/audio_input_renderer_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/process.h" 9 #include "base/process.h"
10 #include "base/shared_memory.h" 10 #include "base/shared_memory.h"
11 #include "content/browser/renderer_host/media/audio_common.h"
12 #include "content/browser/renderer_host/media/audio_input_device_manager.h" 11 #include "content/browser/renderer_host/media/audio_input_device_manager.h"
13 #include "content/browser/renderer_host/media/audio_input_sync_writer.h" 12 #include "content/browser/renderer_host/media/audio_input_sync_writer.h"
14 #include "content/browser/renderer_host/media/media_stream_manager.h" 13 #include "content/browser/renderer_host/media/media_stream_manager.h"
15 #include "content/common/media/audio_messages.h" 14 #include "content/common/media/audio_messages.h"
16 #include "content/public/browser/resource_context.h" 15 #include "content/public/browser/resource_context.h"
16 #include "media/audio/audio_util.h"
17 17
18 using content::BrowserMessageFilter; 18 using content::BrowserMessageFilter;
19 using content::BrowserThread; 19 using content::BrowserThread;
20 20
21 AudioInputRendererHost::AudioEntry::AudioEntry() 21 AudioInputRendererHost::AudioEntry::AudioEntry()
22 : stream_id(0), 22 : stream_id(0),
23 pending_close(false) { 23 pending_close(false) {
24 } 24 }
25 25
26 AudioInputRendererHost::AudioEntry::~AudioEntry() {} 26 AudioInputRendererHost::AudioEntry::~AudioEntry() {}
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 const std::string& device_id) { 202 const std::string& device_id) {
203 VLOG(1) << "AudioInputRendererHost::OnCreateStream(stream_id=" 203 VLOG(1) << "AudioInputRendererHost::OnCreateStream(stream_id="
204 << stream_id << ")"; 204 << stream_id << ")";
205 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 205 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
206 DCHECK(LookupById(stream_id) == NULL); 206 DCHECK(LookupById(stream_id) == NULL);
207 207
208 AudioParameters audio_params(params); 208 AudioParameters audio_params(params);
209 209
210 // Select the hardware packet size if not specified. 210 // Select the hardware packet size if not specified.
211 if (!audio_params.samples_per_packet) { 211 if (!audio_params.samples_per_packet) {
212 audio_params.samples_per_packet = SelectSamplesPerPacket(audio_params); 212 audio_params.samples_per_packet =
213 media::SelectSamplesPerPacket(audio_params.sample_rate);
213 } 214 }
214 uint32 packet_size = audio_params.GetPacketSize(); 215 uint32 packet_size = audio_params.GetPacketSize();
215 216
216 // Create a new AudioEntry structure. 217 // Create a new AudioEntry structure.
217 scoped_ptr<AudioEntry> entry(new AudioEntry()); 218 scoped_ptr<AudioEntry> entry(new AudioEntry());
218 219
219 // Create the shared memory and share it with the renderer process 220 // Create the shared memory and share it with the renderer process
220 // using a new SyncWriter object. 221 // using a new SyncWriter object.
221 if (!entry->shared_memory.CreateAndMapAnonymous(packet_size)) { 222 if (!entry->shared_memory.CreateAndMapAnonymous(packet_size)) {
222 // If creation of shared memory failed then send an error message. 223 // If creation of shared memory failed then send an error message.
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 439 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
439 440
440 for (SessionEntryMap::iterator it = session_entries_.begin(); 441 for (SessionEntryMap::iterator it = session_entries_.begin();
441 it != session_entries_.end(); ++it) { 442 it != session_entries_.end(); ++it) {
442 if (stream_id == it->second) { 443 if (stream_id == it->second) {
443 return it->first; 444 return it->first;
444 } 445 }
445 } 446 }
446 return 0; 447 return 0;
447 } 448 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698