[webrtc-pc] End removed tracks remotely again; Make receiver.track nullable instead

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

== End removed tracks remotely again; Make receiver.track nullable instead ==
Instead of https://github.com/w3c/webrtc-pc/issues/1161, let's fire `ended` on remote tracks again like browsers do today, to avoid [breakage](https://github.com/w3c/webrtc-pc/pull/1168#issuecomment-299589165).

Basically, when a `transceiver`'s direction loses the "send" bit as a result of setting a remote description, fire an `ended` event on `transceiver.receiver.track` and set `transceiver.receiver.track` to `null`.

This necessitates making `receiver.track` nullable.

Later, should a transceiver's direction regain its "send" bit as a result of setting a remote description, set `transceiver.receiver.track` to a new track of the same kind, and call [process the remote track](http://w3c.github.io/webrtc-pc/#process-remote-track) (which fires a new `track` event).

This would be backwards compatible.

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

Received on Monday, 8 May 2017 23:21:10 UTC