davidliu
Committed by GitHub

Disable hardware echo on API < 29 (#114)

1 package io.livekit.android.dagger 1 package io.livekit.android.dagger
2 2
3 import android.content.Context 3 import android.content.Context
  4 +import android.os.Build
4 import androidx.annotation.Nullable 5 import androidx.annotation.Nullable
5 import dagger.Module 6 import dagger.Module
6 import dagger.Provides 7 import dagger.Provides
@@ -72,11 +73,11 @@ object RTCModule { @@ -72,11 +73,11 @@ object RTCModule {
72 val audioRecordStateCallback: JavaAudioDeviceModule.AudioRecordStateCallback = object : 73 val audioRecordStateCallback: JavaAudioDeviceModule.AudioRecordStateCallback = object :
73 JavaAudioDeviceModule.AudioRecordStateCallback { 74 JavaAudioDeviceModule.AudioRecordStateCallback {
74 override fun onWebRtcAudioRecordStart() { 75 override fun onWebRtcAudioRecordStart() {
75 - LKLog.i { "Audio recording starts" } 76 + LKLog.v { "Audio recording starts" }
76 } 77 }
77 78
78 override fun onWebRtcAudioRecordStop() { 79 override fun onWebRtcAudioRecordStop() {
79 - LKLog.i { "Audio recording stops" } 80 + LKLog.v { "Audio recording stops" }
80 } 81 }
81 } 82 }
82 83
@@ -84,17 +85,18 @@ object RTCModule { @@ -84,17 +85,18 @@ object RTCModule {
84 val audioTrackStateCallback: JavaAudioDeviceModule.AudioTrackStateCallback = object : 85 val audioTrackStateCallback: JavaAudioDeviceModule.AudioTrackStateCallback = object :
85 JavaAudioDeviceModule.AudioTrackStateCallback { 86 JavaAudioDeviceModule.AudioTrackStateCallback {
86 override fun onWebRtcAudioTrackStart() { 87 override fun onWebRtcAudioTrackStart() {
87 - LKLog.i { "Audio playout starts" } 88 + LKLog.v { "Audio playout starts" }
88 } 89 }
89 90
90 override fun onWebRtcAudioTrackStop() { 91 override fun onWebRtcAudioTrackStop() {
91 - LKLog.i { "Audio playout stops" } 92 + LKLog.v { "Audio playout stops" }
92 } 93 }
93 } 94 }
94 95
  96 + val useHardwareAudioProcessing = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
95 val builder = JavaAudioDeviceModule.builder(appContext) 97 val builder = JavaAudioDeviceModule.builder(appContext)
96 - .setUseHardwareAcousticEchoCanceler(true)  
97 - .setUseHardwareNoiseSuppressor(true) 98 + .setUseHardwareAcousticEchoCanceler(useHardwareAudioProcessing)
  99 + .setUseHardwareNoiseSuppressor(useHardwareAudioProcessing)
98 .setAudioRecordErrorCallback(audioRecordErrorCallback) 100 .setAudioRecordErrorCallback(audioRecordErrorCallback)
99 .setAudioTrackErrorCallback(audioTrackErrorCallback) 101 .setAudioTrackErrorCallback(audioTrackErrorCallback)
100 .setAudioRecordStateCallback(audioRecordStateCallback) 102 .setAudioRecordStateCallback(audioRecordStateCallback)