Capture and pre-processing
Mic → APM (Audio Processing Module): echo cancellation, noise suppression, AGC, voice activity detection. Adds ~10ms. Tunable per browser/library; lifelong source of 'why does my voice sound weird' bugs.
Advertisement
Encoding and transport
APM output → Opus encoder (10-20ms frames). Encoded packets → RTP → SRTP encryption → ICE/STUN/TURN for NAT traversal. Total adds 20-50ms baseline.
Advertisement
Decoding and playback
RTP packets → jitter buffer (10-200ms) → Opus decoder → mixer (if multi-party) → output device. Total ear-to-ear latency on a healthy connection: 100-300ms.