Skip to content

RTCDegradationPreference #262

@aboba

Description

@aboba

In the June 2015 Editor's draft, RTCRtpEncodingParameters looked like this:

dictionary RTCRtpEncodingParameters {
unsigned long ssrc;
payloadtype codecPayloadType;
RTCRtpFecParameters fec;
RTCRtpRtxParameters rtx;
double priority = 1.0;
unsigned long long maxBitrate;
double minQuality = 0;
double framerateBias = 0.5;
double resolutionScale;
double framerateScale;
boolean active = true;
DOMString encodingId;
sequence dependencyEncodingIds;
};

Issue 249 (#249) deals with the change of priority from a double to RTCPriorityType.

In WebRTC 1.0, it is also proposed to replace double framerateBias with RTCDegradationPreference degradationPreference (and move it to RTCRtpParameters), where:

enum RTCDegradationPreference {
"maintain-framerate",
"maintain-resolution",
"balanced"
};

As a result of the changes, RTCRtpEncodingParameters would look like this:

dictionary RTCRtpEncodingParameters {
unsigned long ssrc;
payloadtype codecPayloadType;
RTCRtpFecParameters fec;
RTCRtpRtxParameters rtx;
RTCPriorityType priority;
unsigned long maxBitrate;
double minQuality = 0;
double resolutionScale;
double framerateScale;
boolean active = true;
DOMString encodingId;
sequence dependencyEncodingIds;
};

and RTCRtpParameters would look like this:

dictionary RTCRtpParameters {
DOMString muxId = "";
sequence codecs;
sequence headerExtensions;
sequence encodings;
RTCRtcpParameters rtcp;
RTCDegradationPreference degradationPreference = "balanced";
};

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions