Skip to content

Commit

Permalink
Merge pull request #2922 from jan-ivar/senderenvelope
Browse files Browse the repository at this point in the history
Move Simulcast envelope concept to RTCRtpSender.
  • Loading branch information
henbos committed Jan 11, 2024
2 parents 78be09a + 10a7fca commit b82b774
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions webrtc.html
Original file line number Diff line number Diff line change
Expand Up @@ -4126,16 +4126,14 @@ <h2>
<p>
When a
{{RTCPeerConnection/setRemoteDescription(offer)}}
establishes a transceiver's [=proposed envelope=],
the transceiver's
{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}
establishes a sender's [=proposed envelope=],
the sender's {{RTCRtpSender/[[SendEncodings]]}}
is updated in
{{RTCSignalingState/"have-remote-offer"}}, exposing
it to rollback. However, once a
[=simulcast envelope=] has been established for
the transceiver, subsequent pruning of the
transceiver's
{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}
the sender, subsequent pruning of the
sender's {{RTCRtpSender/[[SendEncodings]]}}
happen when this answer is set with
{{RTCPeerConnection/setLocalDescription}}.
</p>
Expand Down Expand Up @@ -11384,7 +11382,7 @@ <h3>
object can be used to inspect and modify the functionality.
</p>
<p class="needs-test">
An {{RTCRtpTransceiver}}'s <dfn>simulcast envelope</dfn> is
An {{RTCRtpSender}}'s <dfn>simulcast envelope</dfn> is
established in the first successful negotiation that involves it
sending simulcast instead of unicast, and includes the maximum number of
simulcast streams that can be sent, as well as the ordering of its
Expand All @@ -11396,16 +11394,19 @@ <h3>
itself cannot be changed by that method.
</p>
<p class="needs-test">
One way to configure simulcast is with the
{{RTCRtpTransceiverInit/sendEncodings}} option to
{{RTCPeerConnection/addTransceiver()}}.
While the {{RTCPeerConnection/addTrack()}} method lacks the
{{RTCRtpTransceiverInit/sendEncodings}} argument necessary to
configure simulcast, transceivers can be promoted to
configure simulcast, senders can be promoted to
simulcast when the user agent is the answerer. Upon calling the
{{RTCPeerConnection/setRemoteDescription}} method with a remote
offer to receive simulcast, a <dfn>proposed envelope</dfn> is
configured on a {{RTCRtpTransceiver}} to contain the layers
configured on an {{RTCRtpSender}} to contain the layers
described in the specified session description. As long as this
description isn't rolled back, the [=proposed envelope=] becomes
the {{RTCRtpTransceiver}}'s [=simulcast envelope=] when negotiation
the {{RTCRtpSender}}'s [=simulcast envelope=] when negotiation
completes. As above, this [=simulcast envelope=] may be narrowed
in subsequent renegotiation, but not reexpanded.
</p>
Expand Down

0 comments on commit b82b774

Please sign in to comment.