Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/auto-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ jobs:
W3C_WG_DECISION_URL: "https://lists.w3.org/Archives/Public/public-webrtc/2016Mar/0031.html"
W3C_NOTIFICATIONS_CC: "dom@w3.org"
VALIDATE_LINKS: false
# ReSpec currently generating ARIA-invalid markup
VALIDATE_MARKUP: false
# pending https://github.com/w3c/spec-prod/pull/155
VALIDATE_WEBIDL: false
SOURCE: webrtc.html
Expand Down
30 changes: 30 additions & 0 deletions amendments.json
Original file line number Diff line number Diff line change
Expand Up @@ -688,5 +688,35 @@
],
"testUpdates": "already-tested"
}
],
"offer-sctp-transport": [
{
"description": "Expose pc.sctp transport in have-(local|remote)-offer",
"type": "correction",
"status": "candidate",
"difftype": "append",
"id": 58,
"pr": 3094,
"tests": [
"webrtc/RTCSctpTransport-events.html",
"webrtc/RTCSctpTransport-maxChannels.html"
],
"testUpdates": "already-tested"
}
],
"idl-sctp-transport": [
{
"description": "Expose pc.sctp transport in have-(local|remote)-offer",
"type": "correction",
"status": "candidate",
"difftype": "modify",
"id": 58,
"pr": 3094,
"tests": [
"webrtc/RTCSctpTransport-events.html",
"webrtc/RTCSctpTransport-maxChannels.html"
],
"testUpdates": "already-tested"
}
]
}
2 changes: 1 addition & 1 deletion base-rec.html
Original file line number Diff line number Diff line change
Expand Up @@ -13534,7 +13534,7 @@ <h5 id="dictionary-rtcicecandidatepair-members">
</li>
</ol>
</section>
<div>
<div id="idl-sctp-transport">
<pre class="idl has-tests def" data-tests="idlharness.https.window.js" id="webidl-1410933428"><span class="idlHeader"><a class="self-link" href="#webidl-1410933428">WebIDL</a></span><code><span data-idl="" class="idlInterface" id="idl-def-rtcsctptransport" data-title="RTCSctpTransport">[<span class="extAttr"><a data-xref-type="extended-attribute">Exposed</a>=Window</span>]
interface <a class="internalDFN idlID" data-link-for="" data-link-type="interface" href="#dom-rtcsctptransport" id="ref-for-dom-rtcsctptransport-10"><code>RTCSctpTransport</code></a> : <span class="idlSuperclass"><a data-link-type="idl" data-xref-type="_IDL_">EventTarget</a></span> {<span data-idl="" class="idlAttribute" id="idl-def-rtcsctptransport-transport" data-title="transport" data-dfn-for="RTCSctpTransport">
readonly attribute<span class="idlType"> <a data-link-type="idl" data-xref-type="_IDL_" href="#dom-rtcdtlstransport" class="internalDFN" id="ref-for-dom-rtcdtlstransport-30"><code>RTCDtlsTransport</code></a></span> <a class="internalDFN idlName" data-link-for="RTCSctpTransport" data-link-type="attribute" href="#dom-rtcsctptransport-transport" id="ref-for-dom-rtcsctptransport-transport-1"><code>transport</code></a>;</span><span data-idl="" class="idlAttribute" id="idl-def-rtcsctptransport-state" data-title="state" data-dfn-for="RTCSctpTransport">
Expand Down
148 changes: 93 additions & 55 deletions webrtc.html
Original file line number Diff line number Diff line change
Expand Up @@ -1312,6 +1312,13 @@ <h4>
initialized to <code>null</code>.
</p>
</li>
<li>
<p>
Let <var>connection</var> have an
<dfn data-dfn-for="RTCPeerConnection" class="export">[[\LastStableStateSctpTransport]]</dfn> internal slot,
initialized to <code>null</code>.
</p>
</li>
<li>
<p>
Let <var>connection</var> have a
Expand Down Expand Up @@ -1819,56 +1826,70 @@ <h4>
If <var>description</var> is of type
{{RTCSdpType/"offer"}} and
<var>connection</var>.{{RTCPeerConnection/[[SignalingState]]}}
is {{RTCSignalingState/"stable"}} then for each
<var>transceiver</var> in <var>connection</var>'s [=
set of transceivers =], run the following steps:
is {{RTCSignalingState/"stable"}}, then run the following steps:
</p>
<ol>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastStableStateSenderTransport]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SenderTransport]]}}.
</p>
</li>
<li id="rollback-ridless">
<p>
If
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}.length
is `1` and the lone encoding [=map/contains=] no {{RTCRtpCodingParameters/rid}} member,
then set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastStableRidlessSendEncodings]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}};
Otherwise, set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastStableRidlessSendEncodings]]}}
to `null`.
</p>
</li>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[LastStableStateReceiverTransport]]}}
<var>connection</var>.{{RTCPeerConnection/[[LastStableStateSctpTransport]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[ReceiverTransport]]}}.
</p>
</li>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[LastStableStateAssociatedRemoteMediaStreams]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[AssociatedRemoteMediaStreams]]}}.
<var>connection</var>.{{RTCPeerConnection/[[SctpTransport]]}}.
</p>
</li>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[LastStableStateReceiveCodecs]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[ReceiveCodecs]]}}.
For each <var>transceiver</var> in <var>connection</var>'s
[= set of transceivers =], run the following steps:
</p>
<ol>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastStableStateSenderTransport]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SenderTransport]]}}.
</p>
</li>
<li id="rollback-ridless">
<p>
If
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}}.length
is `1` and the lone encoding [=map/contains=] no {{RTCRtpCodingParameters/rid}} member,
then set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastStableRidlessSendEncodings]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}};
Otherwise, set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[LastStableRidlessSendEncodings]]}}
to `null`.
</p>
</li>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[LastStableStateReceiverTransport]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[ReceiverTransport]]}}.
</p>
</li>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[LastStableStateAssociatedRemoteMediaStreams]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[AssociatedRemoteMediaStreams]]}}.
</p>
</li>
<li>
<p>
Set
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[LastStableStateReceiveCodecs]]}}
to
<var>transceiver</var>.{{RTCRtpTransceiver/[[Receiver]]}}.{{RTCRtpReceiver/[[ReceiveCodecs]]}}.
</p>
</li>
</ol>
</li>
</ol>
</li>
Expand Down Expand Up @@ -2011,13 +2032,29 @@ <h4>
</li>
</ol>
</li>
<li id="offer-sctp-transport" data-tests=
"RTCPeerConnection-createDataChannel.html,RTCSctpTransport-constructor.html,RTCSctpTransport-events.html,RTCSctpTransport-maxChannels.html">
<p>
If <var>description</var> is of type
{{RTCSdpType/"offer"}}, and it describes an
SCTP association as defined in [[RFC8841]]
Section 10.2, and
<var>connection</var>.{{RTCPeerConnection/[[SctpTransport]]}}
is <code>null</code>, set
<var>connection</var>.{{RTCPeerConnection/[[SctpTransport]]}}
to the result of
[= create an RTCSctpTransport|creating an RTCSctpTransport =]
with an initial state of
{{RTCSctpTransportState/"connecting"}}.
</p>
</li>
<li>
<p>
If <var>description</var> is of type
{{RTCSdpType/"answer"}}, and it initiates the closure
of an existing SCTP association, as defined in
[[RFC8841]], Sections 10.3 and 10.4, set the value
of <var>connection</var>.{{RTCPeerConnection/[[SctpTransport]]}} to
[[RFC8841]], Sections 10.3 and 10.4, set
<var>connection</var>.{{RTCPeerConnection/[[SctpTransport]]}} to
<code>null</code>.
</p>
</li>
Expand All @@ -2042,14 +2079,8 @@ <h4>
If <var>description</var> initiates the
establishment of a new SCTP association, as
defined in [[RFC8841]], Sections 10.3 and 10.4,
[= create an RTCSctpTransport =] with an initial
state of {{RTCSctpTransportState/"connecting"}}
and assign the result to the
{{RTCPeerConnection/[[SctpTransport]]}} slot. Otherwise, if an
SCTP association is established, but the
<code class="sdp">max-message-size</code> SDP
attribute is updated, [= update the data max
message size =] of
or an SCTP association already exists,
[= update the data max message size =] of
<var>connection</var>.{{RTCPeerConnection/[[SctpTransport]]}}.
</p>
</li>
Expand Down Expand Up @@ -2638,6 +2669,14 @@ <h4>
whichever one is not <code>null</code>.
</p>
</li>
<li>
<p>
Set
<var>connection</var>.{{RTCPeerConnection/[[SctpTransport]]}}
to
<var>connection</var>.{{RTCPeerConnection/[[LastStableStateSctpTransport]]}}.
</p>
</li>
<li>
<p>
For each <var>transceiver</var> in the
Expand Down Expand Up @@ -13761,9 +13800,8 @@ <h4 id="sctp-transport-create">
<li>
<p>
Let <var>transport</var> have a
<dfn data-dfn-for="RTCSctpTransport">[[\MaxMessageSize]]</dfn> internal slot and run the
steps labeled [= update the data max message size =] to
initialize it.
<dfn data-dfn-for="RTCSctpTransport">[[\MaxMessageSize]]</dfn> internal slot initialized to
<code>null</code>.
</p>
</li>
<li data-tests="RTCSctpTransport-maxChannels.html">
Expand Down Expand Up @@ -13904,12 +13942,12 @@ <h4 id="sctp-transport-connected">
</li>
</ol>
</section>
<div>
<div id="idl-sctp-transport">
<pre class="idl" data-tests="idlharness.https.window.js">[Exposed=Window]
interface RTCSctpTransport : EventTarget {
readonly attribute RTCDtlsTransport transport;
readonly attribute RTCSctpTransportState state;
readonly attribute unrestricted double maxMessageSize;
readonly attribute unrestricted double? maxMessageSize;
readonly attribute unsigned short? maxChannels;
attribute EventHandler onstatechange;
};</pre>
Expand Down Expand Up @@ -13944,7 +13982,7 @@ <h2>
</dd>
<dt data-tests="RTCSctpTransport-constructor.html">
<dfn data-idl="">maxMessageSize</dfn> of type <span class=
"idlAttrType">unrestricted double</span>, readonly
"idlAttrType">unrestricted double</span>, readonly, nullable
</dt>
<dd>
<p>
Expand Down