Some questions:
1. I am wondering if we actually need a distinct rid attribute or whether an encodingId attribute couldn't serve the same purpose (and be more compatible with future functionality). For example, both rid attribute and an encodingId attribute are DOMStrings, and both attributes differentiate simulcast encodings. As a result, in the ortc-lib implementation, the encodingId attribute is actually used to populate the RID header extension so they are effectively the same thing.
2. For consistency, I'd prefer resolutionScale instead of scanDownResolutionBy.
Peter Thatcher said:
I have written a PR reflecting "Plan X", which allows the app to specify
encodings in addTransceiver:
https://github.com/w3c/webrtc-pc/pull/353
Obviously, this isn't of full value until addTransceiver PR has been
merged, but I believe this PR is complete enough to review. There is an
example of how it can be used in the PR, where this is the relevant part:
pc.addTransceiver(track, {
send: true,
receive: false,
sendEncodings: [
{
rid: "f",
},
{
rid: "h",
scaleDownResolutionBy: 2.0
},
{
rid: "q",
scaleDownResolutionBy: 4.0
}
]);
I choose the names "sendEncodings" and "scaleDownResolutionBy", but if
anyone has a better idea of what to names those, suggestions are welcome. I
erred on the side of verbose.