Re: [webrtc-pc] Local versus remote rollback, and clarifying implicit SRD-rollbacks (#2294)

> both SLD and SRD says to process rollbacks according to section 5.7, which explicitly says that "The effect of rollback MUST be the same regardless of whether setLocalDescription or setRemoteDescription is called."

My take: We call JSEP here to take care of rollback. The remaining webrtc-pc algorithm is just reacting to success (of failure), so I think we have a bug (unless we want to change JSEP).

For example: JS calls SRD(callback) in `"have-remote-offer"`. JSEP (as a sub-function) will roll back the remote offer, then we queue a task and fail to clear [[PendingRemoteOffer]].

Is there another way to look at it than this?

> SLD(rollback) is only valid in have-local-offer state, SRD(rollback) is only valid in have-remote-offer state. This is simple, tidy and unsurprising.

Only one of [[PendingLocalDerscription]] and [[PendingRemoteDescription]] can be set  at a time. They can never both be set, so the fidelity offered by the API to clear one and not the other is redundant. It's only benefit would seem to be strictness for the sake of strictness.

GitHub Notification of comment by jan-ivar
Please view or discuss this issue at using your GitHub account

Received on Tuesday, 10 September 2019 14:55:23 UTC