| Index: media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
| diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
| index c61b86af70acdf248839fb2733e1043ad6b4d116..afaa0358ec184f956b2616f0037b33f699454f1e 100644
|
| --- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
| +++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
| @@ -17,6 +17,7 @@ import android.media.AudioFormat;
|
| import android.media.AudioManager;
|
| import android.media.AudioRecord;
|
| import android.media.AudioTrack;
|
| +import android.media.audiofx.AcousticEchoCanceler;
|
| import android.os.Build;
|
| import android.os.Handler;
|
| import android.os.Looper;
|
| @@ -310,7 +311,7 @@ class AudioManagerAndroid {
|
|
|
| @CalledByNative
|
| private int getNativeOutputSampleRate() {
|
| - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
| String sampleRateString = mAudioManager.getProperty(
|
| AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE);
|
| return (sampleRateString == null ?
|
| @@ -374,6 +375,17 @@ class AudioManagerAndroid {
|
| DEFAULT_FRAME_PER_BUFFER : Integer.parseInt(framesPerBuffer));
|
| }
|
|
|
| + @CalledByNative
|
| + public static boolean shouldUseAcousticEchoCanceler() {
|
| + // AcousticEchoCanceler was added in API level 16 (Jelly Bean).
|
| + // Next is a list of device models which have been vetted for good
|
| + // quality platform echo cancellation.
|
| + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN &&
|
| + AcousticEchoCanceler.isAvailable() &&
|
| + (Build.MODEL.equals("Nexus 5") ||
|
| + Build.MODEL.equals("Nexus 7"));
|
| + }
|
| +
|
| /** Sets the speaker phone mode. */
|
| public void setSpeakerphoneOn(boolean on) {
|
| boolean wasOn = mAudioManager.isSpeakerphoneOn();
|
| @@ -598,12 +610,12 @@ class AudioManagerAndroid {
|
| }
|
|
|
| /** Trivial helper method for debug logging */
|
| - private void logd(String msg) {
|
| + private static void logd(String msg) {
|
| Log.d(TAG, msg);
|
| }
|
|
|
| /** Trivial helper method for error logging */
|
| - private void loge(String msg) {
|
| + private static void loge(String msg) {
|
| Log.e(TAG, msg);
|
| }
|
|
|
|
|