[webrtc-pc] Clarify update negotiation needed (#2159)

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

== Clarify update negotiation needed ==
This step can easily be misinterpreted:

> If description is of type "offer", and the direction of the associated m= section in neither connection.[[CurrentLocalDescription]] nor connection.[[CurrentRemoteDescription]] matches transceiver.[[Direction]], return true.

The remote description's direction need to be reversed in order to check if the transceiver direction "matches" with it.

Example:
```
Offer sendrecv-transceiver, but the answerer only receives. After negotiation we have:
t.direction == sendrecv
t.currentDirection == sendonly
[[CurrentRemoteDescription]] is recvonly  // from our POV this is sendonly

And we don't need to negotiate anymore. We're done.

Then perform removeTrack, which causes:
t.direction == recvonly
This should trigger a renegotation - but does it?
```

This should cause negotiation needed because direction recvonly does not match our POV of the remote's "recvonly" which is "sendonly", but if you take the above paragraph literally you would compare this to "recvonly" and say they do match and not negotiate the fact that the track has been removed.

@guidou

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

Received on Thursday, 4 April 2019 08:26:27 UTC