You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft-lcurley-moq-use-cases.md
+12-17Lines changed: 12 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -135,13 +135,12 @@ In an ideal world, FEC would be performed by QUIC based on the properties of the
135
135
However this is not currently not supported and FEC is left to the application.
136
136
137
137
In MoqTransfork, each FEC packet is transmitted as a separate GROUP with a single FRAME.
138
-
A real-time subscriber issues a `SUBSCRIBE` with an aggressive `Group Expires` value in the milliseconds range.
139
-
The publisher will drop any Groups that have not been transmitted or acknowledged within this time frame, potentially causing them to be lost.
138
+
This means using QUIC streams instead of QUIC datagrams to automatically adjust to the viewer's RTT, automatically retransmitting in scenarios where RTT is small.
139
+
Lost packets will be retransmitted unless a real-time subscriber updates the subscription to skip them.
140
+
For example, if group 3 and group 5 are used to reconstruct group 4, then the subscriber can update the subscription to start at group 5, causing group 4 to be skipped.
140
141
141
-
Normally, FEC is performed by transmitting individual packets once as datagrams.
142
-
However, QUIC streams are useful as they allow retransmissions when `Group Expires` is smaller than the RTT.
143
-
If the RTT is too high, then the RESET_STREAM frame adds some overhead but it's inconsequential (~10 more bytes).
144
-
This enables retransmitting lost packets on short hops and otherwise relying on FEC for long hops.
142
+
This round trip of feedback to avoid retransmissions is not ideal but keep in mind that Group Order = DESC will be respected, meaning group 4 won't be (re)transmitted if there's more important data to send.
143
+
This can result in wasted bandwidth versus something like a timeout on the sender, but it does not impact the user experience nor are these unnecessarily retransmittted audio FEC packets large enough to matter.
145
144
146
145
147
146
# Metadata
@@ -201,8 +200,8 @@ A subscriber or publisher can reset groups to avoid wasting bandwidth on old dat
0 commit comments