I'm trying SonoBus since several weeks with multiple users for rehearsals with good results. However, there is always room for optimization. In order to do so, I like to understand how the total transmission latency from sender to receiver sums up.
My current understanding for upstream latency is:
- Latency for A/D conversion (maybe negligable)
- Are there any input buffer latencies??? Currently I assume there is no (significant) input buffer latency
- Eventually added latency (2.5ms) when using Opus codec for compression
- network latency (Ping/2)
- Eventually added latency for decompression (2.5ms) ???
- (de-) jitter buffer
- Output buffer latency
- Latency of D/A conversion (maybe negligable)
Can anyone confirm or correct my understanding, please? Especially the points with the question marks?
So far I figured out that
- Using lowest possbile Audio buffer size while system is still stable (CPU load)
- Setting sample rate to 48kHz
- Using uncompressed formats like e.g. PCM16
- Using smallest possible (de-)jitter buffer
- Along with wired LAN, turning off WLAN, Bluetooth other background applications
all contribute to reduced latency and stability. Am I missing anything?
Additionally, I found a problem in the calculation of latency (see attached screen shot), which sometimes shows negative latencies.
Although this is just a cosmetic problem it makes optimization harder when dealing with small latencies.
Thank you for your feedback.
Cheers,
Andreas