Re: [webrtc-pc] Differences between pc.removeTrack(sender) and sender.replaceTrack(null)

>     * Q1: Is `sender.replaceTrack(track)` allowed after `pc.removeTrack(sender)`?

   Spec seems to say yes; removeTrack just sets the sender's track to null, and unsets the send bit. Then, replaceTrack sets the track, but does not alter the direction.

>     * Q2: Should `sender.replaceTrack(null)` automatically set `a=inactive`?

   I don't think replaceTrack is intended to automatically change the direction.

>     * Q3: Is there any constraints regarding when `transceiver.direction` can be changed by the app? According to the spec there is not, and both Chrome and Firefox never complain, but Safari 12.1 produces an exception when setting the `direction` in certain circumstances (hard to explain them since it depends on different factors and probably it's just a bug).

   App should be free to alter direction at will, although maybe I could see throwing an error if the transceiver is stopped.

   As for questions about what replaceTrack and removeTrack mean for things like RTCP, ssrcs, and so forth, I think you're right that the spec could use some clarification.

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

Received on Monday, 5 November 2018 15:54:54 UTC