From 498592d391f3ce98adf67d74dd2974f7ba006fcc Mon Sep 17 00:00:00 2001 From: Paulina Hensman Date: Tue, 24 Apr 2018 15:08:52 +0200 Subject: [PATCH] Increase logging for Java ADM The new ADM code removed some redundancies, which led to a decrease in log output. This especially affected NS and AEC logs. This change reintroduces these log messages, making debugging easier. "Acoustic Echo Canceler" has been changed to AEC for easier grepping. Some new logging is also added. Bug: webrtc:7452 Change-Id: I9bfb91895931d73d92f3187c8c7c5b7524ac05ba Reviewed-on: https://webrtc-review.googlesource.com/71401 Commit-Queue: Magnus Jedvert Reviewed-by: Magnus Jedvert Reviewed-by: Henrik Andreassson Cr-Commit-Position: refs/heads/master@{#23003} --- .../webrtc/audio/JavaAudioDeviceModule.java | 24 +++++++++++++++++-- .../audio_device_android.cc | 4 ++++ .../org/webrtc/audio/WebRtcAudioEffects.java | 2 -- .../org/webrtc/audio/WebRtcAudioRecord.java | 4 ++-- .../jni/audio_device/audio_device_module.cc | 1 + 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java b/sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java index 9f644c337c..93e8ba550e 100644 --- a/sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java +++ b/sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java @@ -53,6 +53,7 @@ public class JavaAudioDeviceModule implements AudioDeviceModule { * return invalid results. */ public Builder setSampleRate(int sampleRate) { + Logging.d(TAG, "Sample rate overridden to: " + sampleRate); this.sampleRate = sampleRate; return this; } @@ -96,7 +97,7 @@ public class JavaAudioDeviceModule implements AudioDeviceModule { */ public Builder setUseHardwareNoiseSuppressor(boolean useHardwareNoiseSuppressor) { if (useHardwareNoiseSuppressor && !isBuiltInNoiseSuppressorSupported()) { - Logging.e(TAG, "HW noise suppressor not supported"); + Logging.e(TAG, "HW NS not supported"); useHardwareNoiseSuppressor = false; } this.useHardwareNoiseSuppressor = useHardwareNoiseSuppressor; @@ -110,7 +111,7 @@ public class JavaAudioDeviceModule implements AudioDeviceModule { */ public Builder setUseHardwareAcousticEchoCanceler(boolean useHardwareAcousticEchoCanceler) { if (useHardwareAcousticEchoCanceler && !isBuiltInAcousticEchoCancelerSupported()) { - Logging.e(TAG, "HW acoustic echo canceler not supported"); + Logging.e(TAG, "HW AEC not supported"); useHardwareAcousticEchoCanceler = false; } this.useHardwareAcousticEchoCanceler = useHardwareAcousticEchoCanceler; @@ -138,6 +139,23 @@ public class JavaAudioDeviceModule implements AudioDeviceModule { * and is responsible for calling release(). */ public AudioDeviceModule createAudioDeviceModule() { + Logging.d(TAG, "createAudioDeviceModule"); + if (useHardwareNoiseSuppressor) { + Logging.d(TAG, "HW NS will be used."); + } else { + if (isBuiltInNoiseSuppressorSupported()) { + Logging.d(TAG, "Overriding default behavior; now using WebRTC NS!"); + } + Logging.d(TAG, "HW NS will not be used."); + } + if (useHardwareAcousticEchoCanceler) { + Logging.d(TAG, "HW AEC will be used."); + } else { + if (isBuiltInAcousticEchoCancelerSupported()) { + Logging.d(TAG, "Overriding default behavior; now using WebRTC AEC!"); + } + Logging.d(TAG, "HW AEC will not be used."); + } final WebRtcAudioRecord audioInput = new WebRtcAudioRecord(context, audioManager, audioSource, audioRecordErrorCallback, samplesReadyCallback, useHardwareAcousticEchoCanceler, useHardwareNoiseSuppressor); @@ -278,11 +296,13 @@ public class JavaAudioDeviceModule implements AudioDeviceModule { @Override public void setSpeakerMute(boolean mute) { + Logging.d(TAG, "setSpeakerMute: " + mute); audioOutput.setSpeakerMute(mute); } @Override public void setMicrophoneMute(boolean mute) { + Logging.d(TAG, "setMicrophoneMute: " + mute); audioInput.setMicrophoneMute(mute); } diff --git a/sdk/android/native_api/audio_device_module/audio_device_android.cc b/sdk/android/native_api/audio_device_module/audio_device_android.cc index e3602779cd..cf738d01ee 100644 --- a/sdk/android/native_api/audio_device_module/audio_device_android.cc +++ b/sdk/android/native_api/audio_device_module/audio_device_android.cc @@ -51,6 +51,7 @@ void GetDefaultAudioParameters(JNIEnv* env, rtc::scoped_refptr CreateAAudioAudioDeviceModule( JNIEnv* env, jobject application_context) { + RTC_LOG(INFO) << __FUNCTION__; // Get default audio input/output parameters. AudioParameters input_parameters; AudioParameters output_parameters; @@ -69,6 +70,7 @@ rtc::scoped_refptr CreateAAudioAudioDeviceModule( rtc::scoped_refptr CreateJavaAudioDeviceModule( JNIEnv* env, jobject application_context) { + RTC_LOG(INFO) << __FUNCTION__; // Get default audio input/output parameters. const JavaParamRef j_context(application_context); const ScopedJavaLocalRef j_audio_manager = @@ -97,6 +99,7 @@ rtc::scoped_refptr CreateJavaAudioDeviceModule( rtc::scoped_refptr CreateOpenSLESAudioDeviceModule( JNIEnv* env, jobject application_context) { + RTC_LOG(INFO) << __FUNCTION__; // Get default audio input/output parameters. AudioParameters input_parameters; AudioParameters output_parameters; @@ -118,6 +121,7 @@ rtc::scoped_refptr CreateOpenSLESAudioDeviceModule( rtc::scoped_refptr CreateJavaInputAndOpenSLESOutputAudioDeviceModule(JNIEnv* env, jobject application_context) { + RTC_LOG(INFO) << __FUNCTION__; // Get default audio input/output parameters. const JavaParamRef j_context(application_context); const ScopedJavaLocalRef j_audio_manager = diff --git a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java index b7c750c528..77aec83bcc 100644 --- a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java +++ b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioEffects.java @@ -51,8 +51,6 @@ class WebRtcAudioEffects { // Affects the final state given to the setEnabled() method on each effect. // The default state is set to "disabled" but each effect can also be enabled // by calling setAEC() and setNS(). - // To enable an effect, both the shouldEnableXXX member and the static - // canUseXXX() must be true. private boolean shouldEnableAec = false; private boolean shouldEnableNs = false; diff --git a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java index 06be99f72b..3bf51df310 100644 --- a/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java +++ b/sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java @@ -188,13 +188,13 @@ class WebRtcAudioRecord { @CalledByNative private boolean enableBuiltInAEC(boolean enable) { - Logging.d(TAG, "enableBuiltInAEC(" + enable + ')'); + Logging.d(TAG, "enableBuiltInAEC(" + enable + ")"); return effects.setAEC(enable); } @CalledByNative private boolean enableBuiltInNS(boolean enable) { - Logging.d(TAG, "enableBuiltInNS(" + enable + ')'); + Logging.d(TAG, "enableBuiltInNS(" + enable + ")"); return effects.setNS(enable); } diff --git a/sdk/android/src/jni/audio_device/audio_device_module.cc b/sdk/android/src/jni/audio_device/audio_device_module.cc index 0176dcdb02..5c10c33883 100644 --- a/sdk/android/src/jni/audio_device/audio_device_module.cc +++ b/sdk/android/src/jni/audio_device/audio_device_module.cc @@ -626,6 +626,7 @@ rtc::scoped_refptr CreateAudioDeviceModuleFromInputAndOutput( uint16_t playout_delay_ms, std::unique_ptr audio_input, std::unique_ptr audio_output) { + RTC_LOG(INFO) << __FUNCTION__; return new rtc::RefCountedObject( audio_layer, is_stereo_playout_supported, is_stereo_record_supported, playout_delay_ms, std::move(audio_input), std::move(audio_output));