Re: [webrtc-svc] SVC getCapabilities() is redundant with Media Capabilities query (#49)

Currently, Section 4.2.1 says: 

"If sendEncodings contains any encoding whose [scalabilityMode](https://www.w3.org/TR/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode) value is not supported by any codec in [RTCRtpSender](https://www.w3.org/TR/webrtc/#dom-rtcrtpsender).[getCapabilities](https://www.w3.org/TR/webrtc/#dom-rtcrtpsender-getcapabilities)(kind).codecs, [throw](https://webidl.spec.whatwg.org/#dfn-throw) an [OperationError](https://webidl.spec.whatwg.org/#operationerror)."

There is also language in Section 4.2.2:

"[[WEBRTC](https://www.w3.org/TR/webrtc-svc/#bib-webrtc)] Section 5.2 describes validation of parameters within [setParameters](https://www.w3.org/TR/webrtc/#dom-rtcrtpsender-setparameters)(). Add the following to the conditions under which the operation causes a promise rejected with an [InvalidModificationError](https://webidl.spec.whatwg.org/#invalidmodificationerror) (step 4 within step 6):

Before initial negotiation has concluded, encodings contains any encoding whose [scalabilityMode](https://www.w3.org/TR/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode) value is not supported by any codec in [RTCRtpSender](https://www.w3.org/TR/webrtc/#dom-rtcrtpsender).[getCapabilities](https://www.w3.org/TR/webrtc/#dom-rtcrtpsender-getcapabilities)(kind).codecs.
After initial negotiation has concluded, encodings contains an encoding whose [scalabilityMode](https://www.w3.org/TR/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode) value is not supported by the most preferred codec.
N is greater than 1, and encodings contains an encoding whose [scalabilityMode](https://www.w3.org/TR/webrtc-svc/#dom-rtcrtpencodingparameters-scalabilitymode) value represents an "S mode"."

In Media Capabilities, the bitrate and framerate are required to determine whether a configuration (including a scalabilityMode) is supported for a particular codec.  Since the bitrate and framerate are not provided in `addTransceiver` or `setParmeters()`, it has not been clear how an implementation could decide what SVC modes are legal without `getCapabilities()`. 




-- 
GitHub Notification of comment by aboba
Please view or discuss this issue at https://github.com/w3c/webrtc-svc/issues/49#issuecomment-1343802671 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 9 December 2022 03:32:29 UTC