←back to thread

292 points kixelated | 1 comments | | HN request time: 0s | source
Show context
englishm ◴[] No.44988596[source]
Hi! Cloudflare MoQ dev here, happy to answer questions!

Thanks for the award, kixelated. xD

replies(6): >>44989011 #>>44989230 #>>44989615 #>>44989828 #>>44990875 #>>45005783 #
VoidWhisperer ◴[] No.44989615[source]
> No head-of-line blocking: Unlike TCP where one lost packet blocks everything behind it, QUIC streams are independent. A lost packet on one stream (e.g., an audio track) doesn't block another (e.g., the main video track). This alone eliminates the stuttering that plagued RTMP.

It is likely that I am missing this due to not being super familiar with these technologies, but how does this prevent desync between audio and video if there are lost packets on, for the example, the audio track, but the video track isn't blocked and keeps on playing?

replies(4): >>44989653 #>>44989669 #>>44989720 #>>44992530 #
1. vlovich123 ◴[] No.44992530[source]
If you’re delivering audio and video separately the blocking is irrelevant for needing to solve synchronization. That’s why some amount of buffering (a few frames of video at least) on the receiver is needed to hide the jitter between packets / make sure you have the video. You can go super low latency with no buffering but then you need to drop out video / audio when issues occur and those will be visible as glitches - depends on how good your network is.