Skip to content
This repository was archived by the owner on Feb 25, 2026. It is now read-only.
Open
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
50 changes: 42 additions & 8 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3373,11 +3373,13 @@ <h3>Parameters validation</h3>
<li>
<p>For each value of <var>i</var> from 0 to the number of codecs:</p>
<ol>
<li>
<p>Let <var>codec</var> be <code><var>withParameters</var>.codecs[<var>i</var>]</code>.</p>
</li>
<li><p>Let <var>codec</var> be <code><var>withParameters</var>.codecs[<var>i</var>]</code>.</p></li>
<li><p>Let <var>clockRate</var> be <code><var>codec</var>.clockRate</code>.</p></li>
<li><p>Let <var>channels</var> be <code><var>codec</var>.channels</code>.</p></li>
<li><p>Let <var>name</var> be <code><var>codec</var>.name</code>.</p></li>
<li><p>Let <var>maxTemporalLayers</var> be <code><var>codec</var>.maxTemporalLayers</code>.</p></li>
<li><p>Let <var>maxSpatialLayers</var> be <code><var>codec</var>.maxSpatialLayers</code>.</p></li>
<li><p>Let <var>maxSimulcastStreams</var> be <code><var>codec</var>.maxSimulcastStreams</code>.</p></li>
<li>
<p>If <var>name</var> or <var>clockrate</var> is unset, <a>throw</a> a
<code>TypeError</code> and abort all of these steps.</p>
Expand All @@ -3396,26 +3398,49 @@ <h3>Parameters validation</h3>
<p>If a match is found for a value of <var>j</var>, check that:
<ol>
<li>
<p>If <code><var>codec</var>.channels</code> is set, check that it is
less than or equal to
<p><var>channels</var> is set and is less than or equal to
<code><var>capabilities</var>.codecs[<var>j</var>].channels</code>.
If not, <a>reject</a> <var>p</var> with a newly created
If this condition is not satisfied, <a>reject</a> <var>p</var> with a newly created
<code>NotSupportedError</code> and abort all of these steps.</p>
</li>
<li>
<p>Each of the values of <code><var>codec</var>.rtcpFeedback[<var>k</var>].type</code>
is included in <code><var>capabilities</var>.codecs[<var>j</var>].rtcpFeedback.type</code>
where <var>k</var> goes from 0 to the number of feedback mechanisms.
If not, <a>reject</a> <var>p</var> with a newly created
If this condition is not satisfied, <a>reject</a> <var>p</var> with a newly created
<code>NotSupportedError</code> and abort all of these steps.</p>
</li>
<li>
<p>Each of the values of <code><var>codec</var>.parameters[<var>k</var>]</code>
is a valid value as indicated by <code><var>capabilities</var>.codecs[<var>j</var>].parameters</code>
where <var>k</var> goes from 0 to the number of codecs.
If not, <a>reject</a> <var>p</var> with a newly created
If this condition is not satisfied, <a>reject</a> <var>p</var> with a newly created
<code>NotSupportedError</code> and abort all of these steps.</p>
</li>
<li>
<p>If <var>kind</var> has a value of <code>video</code> and <code>send</code>
has been called, check that the number of simulcast streams for the
codec <var>codec</var> specified in <code><var>withParameters</var>.encodings[]</code>
does not exceed <var>maxSimulcastStreams</var>. If this condition is not satisfied,
<a>reject</a> <var>p</var> with a newly created <code>RangeError</code> and abort
all of these steps.</p>
</li>
<li>
<p>If <var>kind</var> has a value of <code>video</code> and <code>send</code>
has been called, check that the number of temporal layers for the codec
<var>codec</var> specified in <code><var>withParameters</var>.encodings[]</code>
does not exceed <var>maxTemporalLayers</var>. If this condition is not satisfied,
<a>reject</a> <var>p</var> with a newly created <code>RangeError</code> and abort
all of these steps.</p>
</li>
<li>
<p>If <var>kind</var> has a value of <code>video</code> and <code>send</code>
has been called, check that the number of spatial layers for the codec
<var>codec</var> specified in <code><var>withParameters</var>.encodings[]</code>
does not exceed <var>maxSpatialLayers</var>. If this condition is not satisfied,
<a>reject</a> <var>p</var> with a newly created <code>RangeError</code> and abort
all of these steps.</p>
</li>
</ol>
</li>
<li>
Expand Down Expand Up @@ -5078,6 +5103,7 @@ <h3><dfn>RTCRtpCodecCapability</dfn> Dictionary</h3>
sequence&lt;RTCRtcpFeedback&gt; rtcpFeedback;
Dictionary parameters;
Dictionary options;
unsigned short maxSimulcastStreams = 0;
unsigned short maxTemporalLayers = 0;
unsigned short maxSpatialLayers = 0;
boolean svcMultiStreamSupport;
Expand Down Expand Up @@ -5159,6 +5185,14 @@ <h2>Dictionary <a class="idlType">RTCRtpCodecCapability</a> Members</h2>
<p>Codec-specific parameters that may be optionally signalled and are
available as additional supported information or settings about the
codec.</p>
</dd>
<dt><dfn data-idl><code>maxSimulcastStreams</code></dfn> of type <span class=
"idlMemberType"><a>unsigned short</a></span>, defaulting to
<code>0</code></dt>
<dd>
<p>Maximum number of simulcast extension streams supported by this codec.
(e.g. a value of 1 indicates support for up to 2 simulcast streams). A value
of 0 indicates no support for simulcast.</p>
</dd>
<dt><dfn data-idl><code>maxTemporalLayers</code></dfn> of type <span class=
"idlMemberType"><a>unsigned short</a></span>, defaulting to
Expand Down