diff --git a/index.html b/index.html index b2a400f..421d321 100644 --- a/index.html +++ b/index.html @@ -1710,44 +1710,321 @@
- The following events fire on {{RTCIceTransport}} objects:
-Event name | -Interface | -Fired when... | -
---|---|---|
icecandidatepairadd | -{{RTCIceCandidatePairEvent}} | -- The [= ICE agent =] has formed a candidate pair and is making it available to the script. - | -
icecandidatepairremove | -{{RTCIceCandidatePairEvent}} | -
- The [= ICE agent =] has picked a candidate pair to remove, and unless the operation is canceled by invoking the preventDefault() method on the event, it will be removed.
- |
-
icecandidatepairnominate | -{{RTCIceCandidatePairEvent}} | -
- The [= ICE agent =] has picked a valid candidate pair to {{nominate}}, and unless the operation is canceled by
- invoking the preventDefault() method on the event, it will be {{nominated}}.
- |
-
+ The RTCRtpSenderEncodedSource + interface allows applications to inject encoded frames into an + {{RTCRtpSender}}. This is intended to support use cases + where an application already has access to the encoded frames it wants + to send. An example is forwarding encoded frames coming from one or more + peer connections to another peer connection. In this case, the + application can use an encoded transform on the RTCRtpReceivers of the + input peer connections to get the encoded frames and inject them on the + RTCRtpSender of the output peer connection without having to decode and + reencode the frames. +
++ [Exposed=DedicatedWorker] + interface RTCRtpSenderEncodedSource { + constructor(DOMString kind); + readonly attribute RTCRtpSenderEncodedSourceHandle handle; + undefined enqueue((RTCEncodedVideoFrame or RTCEncodedAudioFrame) encodedFrame); + undefined stop(); + }; ++
+ When the {{RTCRtpSenderEncodedSource}} constructor + is invoked with a |kind| argument, the user agent MUST run the following steps: +
+ This attribute is the [=handle associated with=] this {{RTCRtpSenderEncodedSource}}. +
++ On getting, if {{RTCRtpSenderEncodedSource/[[Handle]]}}.{{RTCRtpSenderEncodedSourceHandle/[[IsDetached]]}} + is `true`, the attribute MUST return `null`. Otherwise, it MUST + return the value of the {{RTCRtpSenderEncodedSource/[[Handle]]}} slot. +
++ The User Agent MUST run the following steps: +
+ The User Agent MUST run the following steps: +
+ [Exposed=(Window,DedicatedWorker), Transferable] + interface RTCRtpSenderEncodedSourceHandle {}; ++ + To create an RTCRtpSenderEncodedSourceHandle object, + given an {{RTCRtpSenderEncodedSource}} |source|: +
+ partial interface RTCRtpSender { + undefined replaceTrack(RTCRtpSenderEncodedSourceHandle withSourceHandle); + readonly attribute RTCRtpSenderEncodedSourceHandle encodedSourceHandle; + }; ++
+ Attempts to replace the {{RTCRtpSender}}'s current {{RTCRtpSender/track}} or + {{RTCRtpSender/encodedSourceHandle}} with + another encoded source without renegotiation. When this method is invoked, + the user agent MUST run the following steps: +