[ortc] SVC: encodingId attribute overloaded

aboba has just created a new issue for https://github.com/w3c/ortc:

== SVC: encodingId attribute overloaded ==
In the definition of encodingId, it is implied that a single attribute is used to denote SVC and simulcast layering: 

"encodingId of type DOMString
An identifier for the encoding object. This identifier should be unique within the scope of the localized sequence of RTCRtpCodingParameters for any given RTCRtpParameters object. Values MUST be composed only of alphanumeric characters (a-z, A-Z, 0-9) up to a maximum of 16 characters. An RTCRtpSender places the value of encodingId into the RID header extension [RID], and an RTCRtpReceiver determines the encodingId that an RTP packet belongs to based on the value of the RID header extension. For a codec (such as VP8) using SRST transport which requires a compliant decoder to be able to decode anything that an encoder can send, it is not required that the encodingId and dependencyEncodingIds be set in order to enable a receiver to decode scalable video coding, and if set, they are ignored by the receiver."

However, this does not appear to be correct, because it would imply that SVC layers utilizing the same SSRC would contain different rid header extensions, and that rid header extensions would be included in the RTP packets of SVC streams even when simulcast is not used (e.g. temporal and spatial scalability only).  This does not make sense. 

Proposed fix is to add a "rid" attribute to RTCRtpEncodingParameters with the same meaning as the "rid" attribute in WebRTC 1.0.  This attribute would *only* be set when simulcast encoding is desired, and when SRST SVC encoding is used, all SVC layers of the same simulcast stream MUST contain the same "rid" attribute value.

If simulcast encoding is not needed, then the "rid" attribute would be unset. 

Please view or discuss this issue at https://github.com/w3c/ortc/issues/860 using your GitHub account

Received on Tuesday, 3 July 2018 23:43:32 UTC