Using webrtcdsp echo cancellation on Android

Niels Avonds niels.avonds at gmail.com
Tue Oct 2 08:37:01 UTC 2018


Hi everyone,

I'm working on a project where we're using GStreamer to build an
Android WebRTC application. Currently, we're dealing with echo
problems. What is the recommended way to deal with these issues when
using GStreamer under Android?

I have tried using the webrtcdsp and webrtcechoprobe elements, but
that hasn't been successful. I'm able to make those elements work on
my pc, but not on Android. I've tried the following simple pipeline
(adjusted for Android from the example pipeline given in the webrtcdsp
documentation):

openslessrc ! webrtcdsp ! webrtcechoprobe ! openslessink sync=true

This doesn't cancel the echo, while a similar pipeline on the pc is
working perfectly:

pulsesrc ! webrtcdsp ! webrtcechoprobe ! pulsesink sync=true

I've noticed that the buffer length for opensles is 20ms by default.
Could this be the issue?

Thanks in advance!
Best regards,
Niels Avonds


More information about the gstreamer-devel mailing list