Re: [webrtc-pc] Handling of simulcast errors

> Prior to calling createOffer(), getParameters() returns the available codecs. 

I thought it would return nothing? We really need to specify the behavior of `getParameters`/`setParameters` more thoroughly; there's a lot of hallway discussion that never seemed to get formalized. Here's an issue: https://github.com/w3c/webrtc-pc/issues/1116

> Is it correct to assume that it is always illegal to attempt to remove all codecs?

That seems reasonable. Though we could say "it's legal if you have no _active_ encodings"; maybe we'll find some use for that, like deallocating encoding resources (albeit somewhat irreversibly...).

> Are you saying that setParameters() can return a rejected promise by attempting to remove some but not all codecs? For example, after O/A, both H.264/AVC and VP8 are in the codec list, and setParameters() attempts to remove VP8, could this result in an error if there are no more H.264/AVC hardware encoding resources?

Yes; I believe this is exactly the use case that convinced the working group to make it promise-based.

> My assumption has been that individual RTCRtpEncodingParameters attributes cannot result in an error unless they are out of the legal range.

That sounds good to me. It's much simpler that way.

> Since setParameters() cannot change the number of encodings, is it possible for setParameters() to generate an error because resources to send the number of encodings originally set in sendEncodings are no longer available?

You can't change the number, but you could deactivate/activate them (using the `active` field), which may be effectively the same as changing the number from an implementation perspective. You could also, for example, have 3 encodings with VP8, and then remove the VP8 codec. And the remaining codec(s) might not support 3 encodings.

-- 
GitHub Notification of comment by taylor-b
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/763#issuecomment-292435552 using your GitHub account

Received on Friday, 7 April 2017 04:41:30 UTC