| Index: media/audio/cras/audio_manager_cras.cc
|
| diff --git a/media/audio/cras/audio_manager_cras.cc b/media/audio/cras/audio_manager_cras.cc
|
| index ef46176e19a648baa14dc3a6080ab7dc0c82b0e8..befd3df6dfc9911a9e75c89d87faaa6b3a2c31ba 100644
|
| --- a/media/audio/cras/audio_manager_cras.cc
|
| +++ b/media/audio/cras/audio_manager_cras.cc
|
| @@ -53,7 +53,8 @@ bool AudioManagerCras::HasAudioInputDevices() {
|
| }
|
|
|
| AudioManagerCras::AudioManagerCras(AudioLogFactory* audio_log_factory)
|
| - : AudioManagerBase(audio_log_factory) {
|
| + : AudioManagerBase(audio_log_factory),
|
| + has_keyboard_mic_(false) {
|
| SetMaxOutputStreamsAllowed(kMaxOutputStreams);
|
| }
|
|
|
| @@ -77,15 +78,25 @@ void AudioManagerCras::GetAudioOutputDeviceNames(
|
|
|
| AudioParameters AudioManagerCras::GetInputStreamParameters(
|
| const std::string& device_id) {
|
| + DCHECK(GetTaskRunner()->BelongsToCurrentThread());
|
| +
|
| int user_buffer_size = GetUserBufferSize();
|
| int buffer_size = user_buffer_size ?
|
| user_buffer_size : kDefaultInputBufferSize;
|
| + AudioParameters::PlatformEffectsMask effects =
|
| + has_keyboard_mic_ ? AudioParameters::KEYBOARD_MIC
|
| + : AudioParameters::NO_EFFECTS;
|
|
|
| // TODO(hshi): Fine-tune audio parameters based on |device_id|. The optimal
|
| // parameters for the loopback stream may differ from the default.
|
| return AudioParameters(
|
| AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
|
| - kDefaultSampleRate, 16, buffer_size);
|
| + kDefaultSampleRate, 16, buffer_size, effects);
|
| +}
|
| +
|
| +void AudioManagerCras::SetHasKeyboardMic() {
|
| + DCHECK(GetTaskRunner()->BelongsToCurrentThread());
|
| + has_keyboard_mic_ = true;
|
| }
|
|
|
| AudioOutputStream* AudioManagerCras::MakeLinearOutputStream(
|
|
|