Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does googCurrentDelayMs mean and what settings impact its value?

In my audio-only use case (an assistive listening app), a person will be speaking into a microphone and those listening through the app will be in the same room. Since the listeners will also be able to hear the house sound and see the lips of the person moving, achieving near-zero latency is critical. Ideally, total latency would be around 10ms in order to be undetectable. I'm trying to find a good way to measure this value so I can experiment with different ways of reducing it. I came across googCurrentDelayMs in chrome://webrtc-internals/ and I'm wondering what exactly this value represents.

enter image description here

My understanding is that audio latency is introduced at many different levels:

  1. Latency of the sound card on the capture device
  2. Latency of audio processing on the capture device (e.g. noise reduction)
  3. Latency of encoding on the capture device (i.e. preparing for delivery over the network)
  4. Latency of the network transfer
  5. Latency of decoding on the playback device
  6. Latency of the sound card on the playback device

There may be others I'm missing. My question is, which of the above does googCurrentDelayMs take into account? What configurable settings impact this value?

like image 783
David Jones Avatar asked Oct 16 '25 18:10

David Jones


1 Answers

This discussion in the webrtc stats spec repository is as close as it gets to documentation. It mostly confirms your understanding but the devil is in the details.

There is not much that can be done here. The only tunable bit is controlled by the echo cancellation so you might want to give getUserMedia({audio: {echoCancellation: true}}) a try -- see here for some details.

like image 162
Philipp Hancke Avatar answered Oct 18 '25 12:10

Philipp Hancke



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!