| 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 165989e58e56e0d6caa7ce13e86afff04918b213..a1f371000fbc2704ae877274d48f809620cbaa61 100644
|
| --- a/content/browser/renderer_host/media/audio_renderer_host.cc
|
| +++ b/content/browser/renderer_host/media/audio_renderer_host.cc
|
| @@ -36,7 +36,6 @@ class AudioRendererHost::AudioEntry
|
| int render_view_id,
|
| const media::AudioParameters& params,
|
| const std::string& output_device_id,
|
| - const std::string& input_device_id,
|
| scoped_ptr<base::SharedMemory> shared_memory,
|
| scoped_ptr<media::AudioOutputController::SyncReader> reader);
|
| virtual ~AudioEntry();
|
| @@ -89,15 +88,13 @@ AudioRendererHost::AudioEntry::AudioEntry(
|
| AudioRendererHost* host, int stream_id, int render_view_id,
|
| const media::AudioParameters& params,
|
| const std::string& output_device_id,
|
| - const std::string& input_device_id,
|
| scoped_ptr<base::SharedMemory> shared_memory,
|
| scoped_ptr<media::AudioOutputController::SyncReader> reader)
|
| : host_(host),
|
| stream_id_(stream_id),
|
| render_view_id_(render_view_id),
|
| controller_(media::AudioOutputController::Create(
|
| - host->audio_manager_, this, params, output_device_id,
|
| - input_device_id, reader.get())),
|
| + host->audio_manager_, this, params, output_device_id, reader.get())),
|
| shared_memory_(shared_memory.Pass()),
|
| reader_(reader.Pass()) {
|
| DCHECK(controller_.get());
|
| @@ -314,45 +311,24 @@ void AudioRendererHost::OnCreateStream(
|
| DCHECK_GT(render_view_id, 0);
|
|
|
| // media::AudioParameters is validated in the deserializer.
|
| - int input_channels = params.input_channels();
|
| - if (input_channels < 0 ||
|
| - input_channels > media::limits::kMaxChannels ||
|
| - LookupById(stream_id) != NULL) {
|
| + if (LookupById(stream_id) != NULL) {
|
| SendErrorMessage(stream_id);
|
| return;
|
| }
|
|
|
| - // When the |input_channels| is valid, clients are trying to create a unified
|
| - // IO stream which opens an input device mapping to the |session_id|.
|
| // Initialize the |output_device_id| to an empty string which indicates that
|
| // the default device should be used. If a StreamDeviceInfo instance was found
|
| // though, then we use the matched output device.
|
| - std::string input_device_id, output_device_id;
|
| + std::string output_device_id;
|
| const StreamDeviceInfo* info = media_stream_manager_->
|
| audio_input_device_manager()->GetOpenedDeviceInfoById(session_id);
|
| if (info)
|
| output_device_id = info->device.matched_output_device_id;
|
|
|
| - if (input_channels > 0) {
|
| - if (!info) {
|
| - SendErrorMessage(stream_id);
|
| - DLOG(WARNING) << "No permission has been granted to input stream with "
|
| - << "session_id=" << session_id;
|
| - return;
|
| - }
|
| -
|
| - input_device_id = info->device.id;
|
| - }
|
| -
|
| - // Calculate output and input memory size.
|
| - int output_memory_size = AudioBus::CalculateMemorySize(params);
|
| - int frames = params.frames_per_buffer();
|
| - int input_memory_size = AudioBus::CalculateMemorySize(input_channels, frames);
|
| -
|
| // Create the shared memory and share with the renderer process.
|
| // For synchronized I/O (if input_channels > 0) then we allocate
|
| // extra memory after the output data for the input data.
|
| - uint32 shared_memory_size = output_memory_size + input_memory_size;
|
| + uint32 shared_memory_size = AudioBus::CalculateMemorySize(params);;
|
| scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory());
|
| if (!shared_memory->CreateAndMapAnonymous(shared_memory_size)) {
|
| SendErrorMessage(stream_id);
|
| @@ -360,7 +336,7 @@ void AudioRendererHost::OnCreateStream(
|
| }
|
|
|
| scoped_ptr<AudioSyncReader> reader(
|
| - new AudioSyncReader(shared_memory.get(), params, input_channels));
|
| + new AudioSyncReader(shared_memory.get(), params));
|
| if (!reader->Init()) {
|
| SendErrorMessage(stream_id);
|
| return;
|
| @@ -373,14 +349,14 @@ void AudioRendererHost::OnCreateStream(
|
|
|
| scoped_ptr<AudioEntry> entry(new AudioEntry(
|
| this, stream_id, render_view_id, params, output_device_id,
|
| - input_device_id, shared_memory.Pass(),
|
| + shared_memory.Pass(),
|
| reader.PassAs<media::AudioOutputController::SyncReader>()));
|
| if (mirroring_manager_) {
|
| mirroring_manager_->AddDiverter(
|
| render_process_id_, entry->render_view_id(), entry->controller());
|
| }
|
| audio_entries_.insert(std::make_pair(stream_id, entry.release()));
|
| - audio_log_->OnCreated(stream_id, params, input_device_id, output_device_id);
|
| + audio_log_->OnCreated(stream_id, params, output_device_id);
|
| }
|
|
|
| void AudioRendererHost::OnPlayStream(int stream_id) {
|
|
|