This repository has been archived by the owner on May 13, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 140
Add RTP header extension transport-wide-cc-02 #219
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
--- | ||
layout: default | ||
title: transport-wide-cc-02 | ||
permalink: /experiments/rtp-hdrext/transport-wide-cc-02/ | ||
--- | ||
|
||
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 <[email protected]> or <[email protected]> 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. | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you going to submit version -02 of the internet-draft also? I'd recommend doing that before starting to use (or document) the extension.
Submitting I-Ds is free (as long as you can get the format right).
(on second read - no real reason to keep the -02 in sync with the draft number apart from the appearance of tidiness. This isn't a full draft name anyway.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are no plans to submit a new internet-draft at the moment. The ambition is to have a valid URI for Chromium M74 that branches on March 7.