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
{{ message }}
This repository was archived by the owner on Feb 25, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Feb 25, 2026. It is now read-only.
Separate proposal on layering/simulcast (was part of the "big proposal") #61
Here's a simplified proposal for how to add layering/simulcast support
without getting too mixed up with quality (there will be a separate
proposal for that).
dictionary RTCRtpEncodingParameters {
// ... existing ssrc, codec, fec, rtx
// These are to setup layer dependencies.
// If there are no layer dependencies
// (they are independent),
// then it's effectively simulcast.
int layerId;
sequence layerDependencies; // Just the IDs
// Disable is different than omitting the layer,
// because it can keep resources available to re-enable
// more quickly than re-adding.
// Plus, it still sends RTCP.
// Default is active.
bool active;
// Relative spatial resolution (0.5, 0.25, etc).
double scale;
}
And here are some examples:
Example of 3-layer SVC
var encodings =[{
layerId: 0,
scale: 0.25
}, {
layerId: 1,
layerDependencies: [0]
scale: 0.5
}, {
layerId: 2,
layerDependencies: [0, 1]
scale: 1.0
}]
Example of 3-layer SVC with all but bottom layer disabled
var encodings1 =[{
layerId: 0,
scale: 0.25
}, {
layerId: 1,
layerDependencies: [0],
scale: 0.5,
active: false
}, {
layerId: 2,
layerDependencies: [0, 1],
scale: 1.0,
active: false
}];
Example of 3-layer simlucast
var encodings =[{
layerId: 0,
scale: 0.25
}, {
layerId: 1,
scale: 0.5
}, {
layerId: 2,
scale: 1.0
}]
Example of 3-layer simulcast with all but bottom layer disabled
var encodings1 =[{
layerId: 0,
scale: 0.25
}, {
layerId: 1,
scale: 0.5,
active: false
}, {
layerId: 2,
scale: 1.0,
active: false
}];
Activity
martinthomson commentedon Apr 15, 2014
Looks pretty usable.
I'd put "active = true" and "scale = 1.0" in the IDL to be explicit.
- Fixes for error handling, as described in w3c-cg#26