[webrtc-pc] What happens to stopped transports? (#2486)

jan-ivar has just created a new issue for https://github.com/w3c/webrtc-pc:

== What happens to stopped transports? ==
We [expose](https://w3c.github.io/webrtc-pc/#dom-rtcrtpsender-transport) _transceiver._**[[Sender]]**.**[[SenderTransport]]** to JS, which can then hold on to it:

pc.onnegotiationneeded = () => { /* negotiation code */ };

const transport1 = pc.getTransceivers()[0].sender.transport;
const transport2 = pc.getTransceivers()[1].sender.transport;

There are a couple of ways to shut down a transport:
 1. `pc.getTransceivers()[0].stop()`
 2. `pc.setConfiguration({bundlePolicy: "max-bundle"})` if it were previously `"max-compat"`.

What, if anything should happen to `transport.state` and `transport2.state`?

Also, will events still fire on these objects? Will `getRemoteCertificates()` work or throw something?

I wasn't able to repro any of these circumstances in Chrome because of the lack of `transceiver.stop()` and https://bugs.chromium.org/p/chromium/issues/detail?id=1058826.

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

Received on Thursday, 5 March 2020 15:07:48 UTC