Success & Failure Callbacks in RTCRtpSender.setTrack #148
Mozilla proposal for RTCRtpSender.replaceTrack method:
Difference from RTCRtpSender.setTrack is use of a success and failure callback.
The text was updated successfully, but these errors were encountered:
…3c#146 Address questions about RTCRtpCodecCapability.preferredPayloadType, as noted in: Issue w3c#147 Address questions about RTCRtpSender.setTrack() error handling, as noted in: Issue w3c#148 Partially address 'automatic' use of scalable video coding (in RTCRtpReceiver.receive()) as noted in: Issue w3c#149 Renamed RTCIceListener to RTCIceGatherer as noted in: Issue w3c#150 Added text on multiplexing of STUN, TURN, DTLS and RTP/RTCP, as noted in: Issue w3c#151 Address issue with queueing of candidate events within the RTCIceGatherer, as noted in: Issue w3c#152 Clarify behavior of RTCRtpReceiver.getCapabilities(kind), as noted in: Issue w3c#153
Here is the proposed replacement text in Section 6.3.2:
When the setTrack() method is invoked, the user agent must run the following steps:
Let p be a new promise.
Let withTrack be the argument to this method.
Run the following steps asynchronously:
If withTrack.kind differs from RTCRtpSender.track.kind or if withTrack has different peerIdentity constraints, then reject p with IncompatibleMediaStreamTrackError and abort these steps.
Set the RTCRtpSender.track attribute to withTrack, and have the sender seamlessly switch to transmitting withTrack in place of what it is sending. On the remote receiving end, the track maintains its existing grouping and id until the connection ends.
#148 - Clarified handling of incoming connectivity checks prior to calling iceTransport.start(), as noted in: #170 - Clarified handling of incoming DTLS packets, as noted in: #173 - Added RTCIceGatherer as an optional argument to the RTCIceTransport constructor, as noted in: #174 - Clarified handling of contradictory RTP/RTCP multiplexing settings, as noted in: #185 - Clarified error handling relating to RTCIceTransport, RTCDtlsTransport and RTCIceGatherer objects in the "closed" state, as noted in: #186 - Added component method and createAssociatedGatherer() method to the RTCIceGatherer object, as noted in: #188 - Added close() method to the RTCIceGatherer object as noted in: #189 - Clarified behavior of TCP candidate types, as noted in: #190 - Clarified behavior of iceGatherer.onlocalcandidate, as noted in: #191 - Updated terminology in Section 1.1 as noted in: #193 - Updated RTCDtlsTransportState definitions, as noted in: #194 - Updated RTCIceTransportState definitions, as noted in: #197