[webrtc-extensions] get/setParameters() while in-parallel SDP is being processed (#58)

henbos has just created a new issue for https://github.com/w3c/webrtc-extensions:

== get/setParameters() while in-parallel SDP is being processed ==
getParameters() returns information based on [[SendEncodings]] which is set when SLD/SRD resolves.
setParameters() synchronously validates parameters against [[SendEncodings]] and then in-parallel attempts to configure the the parameters, which resolves or rejects the promise depending on "If any error occurred while configuring the media stack".

If I do getParameters(), setLocalDescription() without awaiting, followed by setParameters() in the same task execution cycle it seems like I will validate the parameters against the [[SendEncodings]] prior to the SLD call, but whether or not the parameters will be successfully or unsuccessfully applied seems may be related to whether or not the in-parallel SLD processing has had an affect yet.

So perhaps the promise should get rejected on a browser like Chrome that does SLD processing on a background thread, and fail on a browser like Firefox which applies SLD at the end of the task execution cycle. In Chrome, the net effect would be "get params, apply SLD, set params" and in Firefox the net effect would be "get params, set params, apply SLD".

- Would it be OK to maybe fail in this case?
- Should parameters be using the operations chain for a more well-defined behavior?
- Or should we be lazy and flat-out fail if the operations chain is not empty when setParameters() is called?

Please view or discuss this issue at https://github.com/w3c/webrtc-extensions/issues/58 using your GitHub account

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

Received on Thursday, 17 December 2020 11:44:10 UTC