Index: webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java |
diff --git a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java |
index 68096687c919d36d5db476f8dc3fcf945b3981d8..9aff519a17d0890047737684949882364735c554 100644 |
--- a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java |
+++ b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java |
@@ -35,6 +35,13 @@ public final class WebRtcAudioUtils { |
"D6503", // Sony Xperia Z2 D6503 |
}; |
+ // List of devices where we have seen issues (e.g. bad audio quality) using |
+ // the low latency ouput mode in combination with OpenSL ES. |
+ // The device name is given by Build.MODEL. |
+ private static final String[] BLACKLISTED_OPEN_SL_ES_MODELS = new String[] { |
+ "Nexus 6", // Nexus 6 |
+ }; |
+ |
// Use 44.1kHz as the default sampling rate. |
private static final int SAMPLE_RATE_HZ = 44100; |
@@ -76,6 +83,13 @@ public final class WebRtcAudioUtils { |
return blackListedModels.contains(Build.MODEL); |
} |
+ // Returns true if the device is blacklisted for OpenSL ES usage. |
+ public static boolean deviceIsBlacklistedForOpenSLESUsage() { |
+ List<String> blackListedModels = |
+ Arrays.asList(BLACKLISTED_OPEN_SL_ES_MODELS); |
+ return blackListedModels.contains(Build.MODEL); |
+ } |
+ |
// Returns true if the device supports Acoustic Echo Canceler (AEC). |
public static boolean isAcousticEchoCancelerSupported() { |
// AcousticEchoCanceler was added in API level 16 (Jelly Bean). |