Webrtc echo delay

Nicolas Dufresne nicolas.dufresne at collabora.com
Mon Feb 27 13:50:38 UTC 2023


Le samedi 25 février 2023 à 23:41 -0500, Jasmine C a écrit :
> Hello Nicolas,
> I am trying to use the webrtcdsp and echo probe in an Android project and as
> you know the delay for Android devices vary, so I wonder how to adjust the
> "delay" parameter manually?

Normally the audiosink (openslessink on Android) should try and be as accurate
as possible, and nothing is to be done. This delay reporting is implemented by
openslesringbuffer, see gst_opensles_ringbuffer_delay(). For WebRTCDSP to work
at all, you need to manually configure your sink for low latency. By default it
will have 200ms of buffer-time (see the related property). This means a 400ms
roundtrip, which is the upper limit for the library and may simply not work.
Reduce this value, though make sure that it remains at least 2 to 3 time the
latency-time. If you think your specific HW/driver have issues, you can cheat it
with ts-offset, but that's not portable of course. Normally the library should
be fine with slow drift (see drift-tolerance property).

If nothing works, best try your luck with webrtcdsp delay-agnostic (see
property) mode.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230227/13967ce7/attachment.htm>

More information about the gstreamer-devel mailing list