Skip to content

SES-5267 : Fix of echo during calls. (AEC/NS)#2030

Open
jbsession wants to merge 7 commits intodevfrom
fix/ses-5267
Open

SES-5267 : Fix of echo during calls. (AEC/NS)#2030
jbsession wants to merge 7 commits intodevfrom
fix/ses-5267

Conversation

@jbsession
Copy link
Collaborator

An effort to fix the echoing during calls. Echoes and robotic voices might be caused by the hardware's own audio echo cancellation or noise suppression. This PR configures audioModule to use the software for this instead. Also included some audioManager mode updates to make sure we can stay in MODE_IN_COMMUNICATION properly.

@jbsession jbsession self-assigned this Mar 5, 2026

// Some devices won't fully apply a working input route until we explicitly refresh device state
// after entering MODE_IN_COMMUNICATION.
setMicrophoneMute(false)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if someone makes a call and manually mutes right away, will we unmute them?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yeah it might. I pushed an update to clean this up.

val adm = JavaAudioDeviceModule.builder(context)
.setUseHardwareAcousticEchoCanceler(false)
.setUseHardwareNoiseSuppressor(false)
.createAudioDeviceModule()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These settings feel like the opposite of what we want?
Don't we actually want the noise suppression and echo cancellation?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This only cancels the hardware's noice cancellation and let WebRtc do the processing for it. If I'm not mistaken, webRtc's aec/ns is on by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants