[webrtc-pc] Missing destruction sequence for ice agent.

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

== Missing destruction sequence for ice agent. ==
[pc.close](http://w3c.github.io/webrtc-pc/#widl-RTCPeerConnection-close-void)
 says this about the ICE agent:
> * Destroy connection's ICE Agent, abruptly ending any active ICE 
processing and any active streaming, and releasing any relevant 
resources (e.g. TURN permissions).

and that is all it says. It needs to [update the ICE connection 
state](http://w3c.github.io/webrtc-pc/#update-ice-connection-state) to
 `"closed"`, but do so synchronously, and without firing any events.

Except there's more to this, because said 
[`"closed"`](http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate-closed)
 state says: *"All of the RTCIceTransports are in the closed state."* 
which implies a shutdown-sequence's worth of underlying 
RTCIceTransports states in need of changing. In other words:

 1. `sender.transport.state`
 1. `sender.transport.transport.state` (not a typo!)
 1. `sender.rtcpTansport.state`
 1. `sender.rtcpTransport.transport.state`
 1. `receiver.transport.state`
 1. `receiver.transport.transport.state`
 1. `receiver.rtcpTansport.state`
 1. `receiver.rtcpTransport.transport.state`

all need to become `"closed"` at this point, I think, for each sender 
and receiver from `pc.getSenders()` and `pc.getReceivers()` 
respectively.


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

Received on Wednesday, 25 May 2016 01:23:56 UTC