From 4b4d833c31ed049de314f9eee13e4d2a04625df6 Mon Sep 17 00:00:00 2001 From: henrika Date: Thu, 30 Mar 2017 01:01:28 -0700 Subject: [PATCH] Avoid calling AudioEffect.queryEffects to avoid potential crash. BUG=b/36713041 NOTRY=TRUE Review-Url: https://codereview.webrtc.org/2785113002 Cr-Commit-Position: refs/heads/master@{#17461} --- .../voiceengine/WebRtcAudioEffects.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java index e02158816c..ee8f48177a 100644 --- a/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java +++ b/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java @@ -208,14 +208,17 @@ class WebRtcAudioEffects { assertTrue(aec == null); assertTrue(ns == null); - // Add logging of supported effects but filter out "VoIP effects", i.e., - // AEC, AEC and NS. - for (Descriptor d : AudioEffect.queryEffects()) { - if (effectTypeIsVoIP(d.type) || DEBUG) { - Logging.d(TAG, "name: " + d.name + ", " - + "mode: " + d.connectMode + ", " - + "implementor: " + d.implementor + ", " - + "UUID: " + d.uuid); + if (DEBUG) { + // Add logging of supported effects but filter out "VoIP effects", i.e., + // AEC, AEC and NS. Avoid calling AudioEffect.queryEffects() unless the + // DEBUG flag is set since we have seen crashes in this API. + for (Descriptor d : AudioEffect.queryEffects()) { + if (effectTypeIsVoIP(d.type)) { + Logging.d(TAG, "name: " + d.name + ", " + + "mode: " + d.connectMode + ", " + + "implementor: " + d.implementor + ", " + + "UUID: " + d.uuid); + } } }