Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/memory/shared_memory.h" | 8 #include "base/memory/shared_memory.h" |
| 9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 10 #include "base/numerics/safe_math.h" | 10 #include "base/numerics/safe_math.h" |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 382 audio_manager_->GetTaskRunner(), | 382 audio_manager_->GetTaskRunner(), |
| 383 this, | 383 this, |
| 384 WebContentsAudioInputStream::Create( | 384 WebContentsAudioInputStream::Create( |
| 385 device_id, | 385 device_id, |
| 386 audio_params, | 386 audio_params, |
| 387 audio_manager_->GetWorkerTaskRunner(), | 387 audio_manager_->GetWorkerTaskRunner(), |
| 388 audio_mirroring_manager_), | 388 audio_mirroring_manager_), |
| 389 entry->writer.get(), | 389 entry->writer.get(), |
| 390 user_input_monitor_); | 390 user_input_monitor_); |
| 391 } else { | 391 } else { |
| 392 // TODO(henrika): replace CreateLowLatency() with Create() as soon | 392 // Set the initial AGC state for the audio input stream. Note that, the AGC |
| 393 // as satish has ensured that Speech Input also uses the default low- | 393 // is only supported in AUDIO_PCM_LOW_LATENCY mode. |
| 394 // latency path. See crbug.com/112472 for details. | 394 const bool agc_is_enabled = |
| 395 config.params.format() == | |
| 396 media::AudioParameters::AUDIO_PCM_LOW_LATENCY && | |
|
tommi (sloooow) - chröme
2014/10/20 16:03:28
if format() is not 'low latency' bug we call Creat
henrika (OOO until Aug 14)
2014/10/21 08:00:28
Good point. I had the same idea but did not want t
| |
| 397 config.automatic_gain_control; | |
| 398 oss << ", AGC=" << agc_is_enabled; | |
| 395 entry->controller = | 399 entry->controller = |
| 396 media::AudioInputController::CreateLowLatency(audio_manager_, | 400 media::AudioInputController::CreateLowLatency(audio_manager_, |
| 397 this, | 401 this, |
| 398 audio_params, | 402 audio_params, |
| 399 device_id, | 403 device_id, |
| 400 entry->writer.get(), | 404 entry->writer.get(), |
| 401 user_input_monitor_); | 405 user_input_monitor_, |
| 406 agc_is_enabled); | |
| 402 } | 407 } |
| 403 | 408 |
| 404 if (!entry->controller.get()) { | 409 if (!entry->controller.get()) { |
| 405 SendErrorMessage(stream_id, STREAM_CREATE_ERROR); | 410 SendErrorMessage(stream_id, STREAM_CREATE_ERROR); |
| 406 MaybeUnregisterKeyboardMicStream(config); | 411 MaybeUnregisterKeyboardMicStream(config); |
| 407 return; | 412 return; |
| 408 } | 413 } |
| 409 | 414 |
| 410 // Set the initial AGC state for the audio input stream. Note that, the AGC | |
| 411 // is only supported in AUDIO_PCM_LOW_LATENCY mode. | |
| 412 if (config.params.format() == media::AudioParameters::AUDIO_PCM_LOW_LATENCY) { | |
| 413 entry->controller->SetAutomaticGainControl(config.automatic_gain_control); | |
| 414 oss << ", AGC=" << config.automatic_gain_control; | |
| 415 } | |
| 416 | |
| 417 #if defined(OS_CHROMEOS) | 415 #if defined(OS_CHROMEOS) |
| 418 if (config.params.channel_layout() == | 416 if (config.params.channel_layout() == |
| 419 media::CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC) { | 417 media::CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC) { |
| 420 entry->has_keyboard_mic_ = true; | 418 entry->has_keyboard_mic_ = true; |
| 421 } | 419 } |
| 422 #endif | 420 #endif |
| 423 | 421 |
| 424 MediaStreamManager::SendMessageToNativeLog(oss.str()); | 422 MediaStreamManager::SendMessageToNativeLog(oss.str()); |
| 425 DVLOG(1) << oss.str(); | 423 DVLOG(1) << oss.str(); |
| 426 | 424 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 556 #if defined(OS_CHROMEOS) | 554 #if defined(OS_CHROMEOS) |
| 557 if (config.params.channel_layout() == | 555 if (config.params.channel_layout() == |
| 558 media::CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC) { | 556 media::CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC) { |
| 559 media_stream_manager_->audio_input_device_manager() | 557 media_stream_manager_->audio_input_device_manager() |
| 560 ->UnregisterKeyboardMicStream(); | 558 ->UnregisterKeyboardMicStream(); |
| 561 } | 559 } |
| 562 #endif | 560 #endif |
| 563 } | 561 } |
| 564 | 562 |
| 565 } // namespace content | 563 } // namespace content |
| OLD | NEW |