New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RTCPriorityType #249
Comments
Sections of potential relevance in WebRTC 1.0: 4.10 Priority and QoS Model Many applications have multiple media flows of the same data type and often some of the flows are more important than others. WebRTC uses the priority and Quality of Service (QoS) framework described in [RTCWEB-TRANSPORT] and [TSVWG-RTCWEB-QOS] to provide priority and DSCP marketing for packets that will help provide QoS in some networking environments. The priority setting can be used to indicate the relative priority of various flows. The priority API allows the JavaScript applications to tell the browser whether a particular media flow is high, medium, low or of very low importance to the application by setting the RTCRtpEncodingParamters.priority to the follwing values. 4.10.1 RTCPriorityType Enum enum RTCPriorityType { 5.2.2 Dictionary RTCRtpEncodingParameters Members active of type boolean, maxBitrate of type unsigned long, TODO: Find or create a definition for bitrate (how much header overhead is included, for example). Should be aligned with RTCOutboundRTPStreamStats.targetBitrate in webrtc-stats. priority of type RTCPriorityType, |
Here is the proposed text: partial dictionary RTCRtpEncodingParameters { priority of type RTCPriorityType, enum RTCPriorityType RTCPriorityType can be used to indicate the relative priority of various flows. This allows applications to indicate to the browser whether a particular media flow is high, medium, low or of very low importance to the application. WebRTC uses the priority and Quality of Service (QoS) framework described in [RTCWEB-TRANSPORT] and [TSVWG-RTCWEB-QOS] to provide priority and DSCP marketing for packets that will help provide QoS in some networking environments. Applications that use this API should be aware that often better overall user experience is obtained by lowering the priority of things that are not as important rather than raising the the priority of the things that are. enum RTCPriorityType { low medium high |
The latest WebRTC 1.0 draft (see: http://w3c.github.io/webrtc-pc/) defines RTCEncodingParameters thusly:
dictionary RTCRtpEncodingParameters {
boolean active;
RTCPriorityType priority;
unsigned long maxBitrate;
};
enum RTCPriorityType {
"very-low",
"low",
"medium",
"high"
};
In contrast, ORTC specifies the attributes like this:
partial dictionary RTCRtpEncodingParameters {
double priority = 1.0;
unsigned long long maxBitrate;
boolean active = true;
};
Proposed fix is to change priority from a double to RTCPriorityType. maxBitrate as an unsigned long long appears correct in ORTC (e.g. what happens if it is necessary specify gigabit rates??).
The text was updated successfully, but these errors were encountered: