summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/docs/native-code/rtp-hdrext/transport-wide-cc-02
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/libwebrtc/docs/native-code/rtp-hdrext/transport-wide-cc-02
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/docs/native-code/rtp-hdrext/transport-wide-cc-02')
-rw-r--r--third_party/libwebrtc/docs/native-code/rtp-hdrext/transport-wide-cc-02/README.md62
1 files changed, 62 insertions, 0 deletions
diff --git a/third_party/libwebrtc/docs/native-code/rtp-hdrext/transport-wide-cc-02/README.md b/third_party/libwebrtc/docs/native-code/rtp-hdrext/transport-wide-cc-02/README.md
new file mode 100644
index 0000000000..8dc82612c7
--- /dev/null
+++ b/third_party/libwebrtc/docs/native-code/rtp-hdrext/transport-wide-cc-02/README.md
@@ -0,0 +1,62 @@
+# Transport-Wide Congestion Control
+
+This RTP header extension is an extended version of the extension defined in
+<https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01>
+
+**Name:** "Transport-wide congenstion control 02"
+
+**Formal name:**
+<http://www.webrtc.org/experiments/rtp-hdrext/transport-wide-cc-02>
+
+**Status:** This extension is defined here to allow for experimentation. Once
+experience has shown that it is useful, we intend to make a proposal based on
+it for standardization in the IETF.
+
+The original extension defines a transport-wide sequence number that is used in
+feedback packets for congestion control. The original implementation sends these
+feedback packets at a periodic interval. The extended version presented here has
+two changes compared to the original version:
+* Feedback is sent only on request by the sender, therefore, the extension has
+ two optional bytes that signals that a feedback packet is requested.
+* The sender determines if timing information should be included or not in the
+ feedback packet. The original version always include timing information.
+
+Contact <kron@google.com> or <sprang@google.com> for more info.
+
+## RTP header extension format
+
+### Data layout overview
+Data layout of transport-wide sequence number
+ 1-byte header + 2 bytes of data:
+
+ 0 1 2
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | ID | L=1 |transport-wide sequence number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+Data layout of transport-wide sequence number and optional feedback request
+ 1-byte header + 4 bytes of data:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | ID | L=3 |transport-wide sequence number |T| seq count |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |seq count cont.|
+ +-+-+-+-+-+-+-+-+
+
+### Data layout details
+The data is written in the following order,
+* transport-wide sequence number (16-bit unsigned integer)
+* feedback request (optional) (16-bit unsigned integer)<br>
+ If the extension contains two extra bytes for feedback request, this means
+ that a feedback packet should be generated and sent immediately. The feedback
+ request consists of a one-bit field giving the flag value T and a 15-bit
+ field giving the sequence count as an unsigned number.
+ - If the bit T is set the feedback packet must contain timing information.
+ - seq count specifies how many packets of history that should be included in
+ the feedback packet. If seq count is zero no feedback should be be
+ generated, which is equivalent of sending the two-byte extension above.
+ This is added as an option to allow for a fixed packet header size.
+