Re: [webrtc-pc] transceiver.stop() needs more work (avoid BUNDLE footgun) (#2150)

More ideas:

  5. Only half-stop the offerer-tagged transceiver in SRD(offer) and lie. Emit BYE and fire `"ended"`, but don't set port 0 in the answer, to save the transport. Locally consider this transceiver `stopped`, and trigger negotiationneeded in `"stable"`. To solve `stop()` now being a dud in the predetermined roles scenario, would require some additional bit ("please stop") in the answer to hand off stopping to the offerer and trigger negotiationneeded there.

  6. Say that `stop()` only affects *createOffer* and not *SRD(offer)*. Add a `reject()` for SRD(offer).

I like (6) because it's simple to explain (negotiating `stop()` requires sending an offer). Predetermined roles would need to rely on their out-of-band channel for stop like anything else. Apps can experiment with `if (tc.stopped) tc.reject()` to expedite stop in negotiationneeded, if they know what they're doing (e.g. using (1)).

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

Received on Thursday, 18 April 2019 19:51:39 UTC