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); |
} |