| Index: media/audio/android/audio_manager_android.cc
|
| diff --git a/media/audio/android/audio_manager_android.cc b/media/audio/android/audio_manager_android.cc
|
| index 2e16a1f974ea09774b77a50dd1cd2b416b70aa8e..a4ac239568c1ed50abe77bf980be82ad4288c312 100644
|
| --- a/media/audio/android/audio_manager_android.cc
|
| +++ b/media/audio/android/audio_manager_android.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/logging.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "jni/AudioManagerAndroid_jni.h"
|
| +#include "media/audio/android/audio_record_input.h"
|
| #include "media/audio/android/opensles_input.h"
|
| #include "media/audio/android/opensles_output.h"
|
| #include "media/audio/audio_manager.h"
|
| @@ -110,10 +111,13 @@ AudioParameters AudioManagerAndroid::GetInputStreamParameters(
|
| base::android::AttachCurrentThread(), GetNativeOutputSampleRate(),
|
| ChannelLayoutToChannelCount(channel_layout));
|
|
|
| - return AudioParameters(
|
| + AudioParameters params(
|
| AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
|
| GetNativeOutputSampleRate(), 16,
|
| buffer_size <= 0 ? kDefaultInputBufferSize : buffer_size);
|
| + params.set_use_platform_aec(Java_AudioManagerAndroid_isPlatformAECSupported(
|
| + base::android::AttachCurrentThread()));
|
| + return params;
|
| }
|
|
|
| AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream(
|
| @@ -180,7 +184,14 @@ AudioInputStream* AudioManagerAndroid::MakeLowLatencyInputStream(
|
| // device, i.e., this selection does also switch the output device.
|
| // All input and output streams will be affected by the device selection.
|
| SetAudioDevice(device_id);
|
| - return new OpenSLESInputStream(this, params);
|
| + if (params.use_platform_aec()) {
|
| + // The platform AEC can only be enabled through the AudioRecord path.
|
| + DVLOG(1) << "Creating AudioRecordInputStream";
|
| + return new AudioRecordInputStream(this, params);
|
| + } else {
|
| + DVLOG(1) << "Creating OpenSLESInputStream";
|
| + return new OpenSLESInputStream(this, params);
|
| + }
|
| }
|
|
|
| int AudioManagerAndroid::GetOptimalOutputFrameSize(int sample_rate,
|
|
|