Re: [webrtc-pc] Changing RTCRtpTransceiver direction from recvonly to sendrecv on the answerer side doesn't fire negotiationneeded event (#2919)

>fiddles FTW https://jsfiddle.net/fippo/0dxnwuyc/

I'm sorry, will remember next time!

>Firing ONN is what needs to be done since you need to create an offer to get out of the recvonly state.

I totally agree. My concern is that,  this doesn't arise from the W3C specification or I read it incorrectly. Splitting the W3C algorithm into pieces and looking from the pc2 perspective:

>Let description be connection.[[[CurrentLocalDescription]]](https://www.w3.org/TR/webrtc/#dfn-currentlocaldescription).
>...
>If description is of type "[answer](https://www.w3.org/TR/webrtc/#dom-rtcsdptype-answer)", and the direction of the [associated](https://www.w3.org/TR/webrtc/#dfn-associated) m= section in the description does not match transceiver.[[[Direction]]](https://www.w3.org/TR/webrtc/#dfn-direction) intersected with the offered direction (as described in [[RFC8829](https://www.w3.org/TR/webrtc/#bib-rfc8829)] ([section 5.3.1.](https://datatracker.ietf.org/doc/html/rfc8829#section-5.3.1))), return true.

--

>If description is of type "[answer](https://www.w3.org/TR/webrtc/#dom-rtcsdptype-answer)"

That's true, "description" from the pc2 perspecitve, is of type "answer"

> the direction of the [associated](https://www.w3.org/TR/webrtc/#dfn-associated) m= section in the description

I mark this as `local_mline_direction` and it is equal to `recvonly`

>transceiver.[[[Direction]]](https://www.w3.org/TR/webrtc/#dfn-direction) intersected with the offered direction

I mark this as `intersection_direction` and it is equal to `sendrecv` intersected with `sendonly` (as the other side offered sendonly in the recent exchange). sendrecv x sendonly = recvonly (from pc2 perspective, so pc2 can only receive as the other side said it can only send)

At the end of the day, `local_mline_direction` == `intersection_direction` so we should not fire negotiationneeded (while I agree that in fact we should but this does not arise from the W3C algorithm)




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


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 2 January 2024 14:14:42 UTC