Re: [webrtc-pc] Unassociated, stopped transceivers after createOffer: Present or absent? (#2576)

I believe your interpretation of the spec is correct.

And I believe that yes, the transceiver is utterly pointless to have between SLD and SRD, but I still think it is reasonable to only remove transceivers when applying the answer (no spec change needed).

Why?

Because "stopped" is something that you normally have to negotiate, so all other transceivers are only to be replaced at SRD. Yes, in this edge case we could remove it earlier, like an optimization, but I think having removal happen at different times depending on edge case conditions makes the API less predictable to use. After all, the transceiver doesn't do any harm by existing until the next answer.

And because even a stopped transceiver has an effect on number of m= sections that exists, I think it should stick around until the negotiation is complete.

An alternative that I think would perhaps make sense, is if the deletion happens even earlier: As soon as you invoke stop(). In this case you wouldn't have to negotiate an inactive/stopped m= section, and it would truly be as if the transceiver never existed in the first place. In fact, you can think of scenarios where you avoid onnegotiationneeded and an event firing!

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


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

Received on Tuesday, 22 September 2020 07:45:39 UTC