From 5cb7d8d8328691bb4d66f0596392dd92a2b487f7 Mon Sep 17 00:00:00 2001
From: Dominique Hazael-Massieux
This document includes Candidate Amendments to the current W3C Recommendation dated January 26, 2021.
+This document includes Proposed Amendments and Candidate Amendments to the current W3C Recommendation dated January 26, 2021.
Since its publication as a W3C Recommendation in January 2021, the following proposed amendments have been integrated in this document.
+Since its publication as a W3C Recommendation in January 2021, the following candidate amendments have been integrated in this document.
+Since its publication as a W3C Recommendation in January 2021, the following candidate amendments have been integrated in this document.
Simulcast functionality is provided via the
method of the
@@ -11222,7 +11223,8 @@ addTransceiver
active
member to false
effectively disabling the layer.
- +
While
cannot modify the simulcast
envelope, it is still possible to control the number of streams
that are sent and the characteristics of those streams. Using
diff --git a/webrtc.html b/webrtc.html
index 86f2db00b..a62ada397 100644
--- a/webrtc.html
+++ b/webrtc.html
@@ -11501,6 +11501,7 @@ setParameters
Simulcast sending functionality is enabled by the {{RTCPeerConnection/addTransceiver}} method via its @@ -11540,7 +11541,8 @@
+
While {{RTCRtpSender/setParameters}} cannot modify the [= simulcast
envelope =], it is still possible to control the number of streams
that are sent and the characteristics of those streams. Using
From a4563b7729ed03ff26b3e38d3eecc67f1e24f658 Mon Sep 17 00:00:00 2001
From: Dominique Hazael-Massieux Validate sendEncodings by running the
following steps:
Verify that each
-
value
in sendEncodings conforms to the grammar
@@ -8419,7 +8419,7 @@ rid
until its length is maxN.
scaleResolutionDownBy
attribues of sendEncodings are still
undefined, initialize each encoding's
diff --git a/webrtc.html b/webrtc.html
index a62ada397..b081f10cf 100644
--- a/webrtc.html
+++ b/webrtc.html
@@ -8226,7 +8226,7 @@
If any encoding [=map/contains=] a
{{RTCRtpEncodingParameters/codec}} member whose value does
[= codec dictionary match | not match =] any codec in {{RTCRtpSender.getCapabilities(kind)}}.codecs
,
[= exception/throw =] an {{OperationError}}.
If the user agent does not support changing codecs without negotiation or does not support setting codecs for individual encodings, return a promise [= rejected =] with a newly [= exception/created =] {{OperationError}}.
If kind is `"audio"`, remove the {{RTCRtpEncodingParameters/scaleResolutionDownBy}} and @@ -8289,7 +8289,7 @@
Verify that the value of each {{RTCRtpEncodingParameters/maxFramerate}} @@ -8326,7 +8326,7 @@
If kind is `"video"` and none of the
encodings [=map/contain=] a
From e1f8c77e3f2dc17c3a367f33316061bda70efb4c Mon Sep 17 00:00:00 2001
From: Dominique Hazael-Massieux 5.2
dictionaries.
RTCRtpEncodingParameters
If sendEncodings is given as input to this algorithm, and is non-empty, set the [[SendEncodings]] slot to @@ -8911,7 +8911,7 @@
active
set to true
.
Let sender have a [[SendCodecs]] internal
slot, representing a list of
diff --git a/webrtc.html b/webrtc.html
index b081f10cf..231ce932d 100644
--- a/webrtc.html
+++ b/webrtc.html
@@ -8832,7 +8832,7 @@ RTCRtpCodecParameters
If sendEncodings is given as input to this algorithm, and is non-empty, set the {{RTCRtpSender/[[SendEncodings]]}} slot to @@ -8847,14 +8847,14 @@
true
by default.
Let sender have a
[[\LastStableRidlessSendEncodings]] internal slot
initialized to null
.
Let sender have a [[\SendCodecs]] internal
slot, representing a list of {{RTCRtpCodecParameters}}
From 63bf02fdf17a8048359ca216044eaf53e0c8c767 Mon Sep 17 00:00:00 2001
From: Dominique Hazael-Massieux
sender (i.e. sender is
transceiver.[[Sender]]).
true
, return a promise rejected with a
newly created InvalidStateError
.
@@ -9094,7 +9094,7 @@
Verify that each encoding in encodings has
a
diff --git a/webrtc.html b/webrtc.html
index 231ce932d..70896f757 100644
--- a/webrtc.html
+++ b/webrtc.html
@@ -9027,7 +9027,7 @@ scaleResolutionDownBy
true
, return a promise [= rejected =] with a
newly [= exception/created =] {{InvalidStateError}}.
@@ -9048,14 +9048,14 @@ Let choosableCodecs be codecs.
If choosableCodecs is an empty list, set choosableCodecs to transceiver.{{RTCRtpTransceiver/[[PreferredCodecs]]}}.
If choosableCodecs is still an empty list, set choosableCodecs to the [=RTCRtpSender/list of implemented send codecs=] for transceiver's kind.
If [=RTCRtpTransceiver/transceiver kind=] is `"audio"`, remove the {{RTCRtpEncodingParameters/scaleResolutionDownBy}} and @@ -9099,7 +9099,7 @@
If [=RTCRtpTransceiver/transceiver kind=] is `"video"`, then for each encoding in encodings that doesn't @@ -9110,7 +9110,7 @@
If [=RTCRtpTransceiver/transceiver kind=] is `"video"`, and any encoding in encodings @@ -9121,7 +9121,7 @@
Verify that each encoding in encodings has a {{RTCRtpEncodingParameters/maxFramerate}} @@ -9132,7 +9132,7 @@
If the user agent does not support setting the codec for any encoding or mixing
different codec values on the different encodings, return a promise [= rejected =]
with a newly [= exception/created =] {{OperationError}}.
From 8151c8c82dcf5eefb54d76c46411f32ec498856e Mon Sep 17 00:00:00 2001
From: Dominique Hazael-Massieux RTCConfiguration
dictionary, aligning it with current implementations",
"pr": 2691,
@@ -52,7 +52,9 @@
"type": "correction",
"status": "proposed",
"id": 6
- },
+ }
+ ],
+ "validate-ice-server-algo": [
{
"description": "Use the url spec to parse ice server urls",
"pr": 2853,
diff --git a/base-rec.html b/base-rec.html
index 13daec693..f772c7f26 100644
--- a/base-rec.html
+++ b/base-rec.html
@@ -3498,7 +3498,7 @@ 4.4.1.6
To set a configuration, run the
following steps:
Let configuration be the
@@ -3652,48 +3652,8 @@ RTCConfiguration
- For each url in urls run the - following steps: + For each url in urls, run the [=validate an ICE server URL=] algorithm on url.
-
- Parse the url using the generic URI syntax
- defined in [RFC3986] and obtain the scheme
- name. If the parsing based on the syntax
- defined in [RFC3986] fails, throw
- a SyntaxError
. If the scheme name is
- not implemented by the browser throw
- a NotSupportedError
. If scheme name is
- turn
or turns
, and parsing the url
- using the syntax defined in [RFC7065] fails, throw a SyntaxError
. If scheme
- name is stun
or
- stuns
, and parsing the
- url using the syntax defined in
- [RFC7064] fails, throw a
- SyntaxError
.
-
- If scheme name is turn
or turns
, and either of
- server.
or
- server.username
are
- omitted, then throw an
- credential
InvalidAccessError
.
-
- If scheme name is turn
or turns
, and
- server.
is
- "credentialType
", and
- server.password
is not
- a DOMString, then
- throw an credential
InvalidAccessError
.
-
@@ -3725,6 +3685,46 @@
To validate an ICE server URL url, run the following steps:
+
+ Parse the url using the generic URI syntax
+ defined in [RFC3986] and obtain the scheme
+ name. If the parsing based on the syntax
+ defined in [RFC3986] fails, throw
+ a SyntaxError
. If the scheme name is
+ not implemented by the browser throw
+ a NotSupportedError
. If scheme name is
+ turn
or turns
, and parsing the url
+ using the syntax defined in [RFC7065] fails, throw a SyntaxError
. If scheme
+ name is stun
or
+ stuns
, and parsing the
+ url using the syntax defined in
+ [RFC7064] fails, throw a
+ SyntaxError
.
+
+ If scheme name is turn
or turns
, and either of
+ server.
or
+ server.username
are
+ omitted, then throw an
+ credential
InvalidAccessError
.
+
+ If scheme name is turn
or turns
, and
+ server.
is
+ "credentialType
", and
+ server.password
is not
+ a DOMString, then
+ throw an credential
InvalidAccessError
.
+
Let connection be the target {{RTCPeerConnection}} @@ -3047,63 +3047,8 @@
- For each url in urls run the - following steps: + For each url in urls, run the [=validate an ICE server URL=] algorithm on url.
-Let parsedURL be the result of - parsing - url.
-If any of the following conditions apply, then [=exception/throw=] a - "{{SyntaxError}}" {{DOMException}}:
-If parsedURL's [=url/scheme=] is not implemented by the - user agent, then [=exception/throw=] a {{NotSupportedError}}.
-Let hostAndPortURL be result of - parsing the concatenation of - `"https://"` and parsedURL's [=url/path=].
-If hostAndPortURL is failure, then [=exception/throw=] a - "{{SyntaxError}}" {{DOMException}}.
-For "stun" and "stuns" schemes, this validates
- [[!RFC7064]] section 3.1.
- For "turn" and "turns" schemes, this and the steps below validate
- [[!RFC7065]] section 3.1.
If parsedURL's [=url/query=] is non-null, run the following - sub-steps:
-TODO: validate ?transport=udp|tcp
- If parsedURL's' [=url/scheme=] is "turn"
or
- "turns"
, and either of
- server.{{RTCIceServer/username}} or
- server.{{RTCIceServer/credential}} do
- [=map/exist|not exist=], then [= exception/throw =] an
- {{InvalidAccessError}}.
-
To validate an ICE server URL url, run the following steps:
+Let parsedURL be the result of + parsing + url.
+If any of the following conditions apply, then [=exception/throw=] a + "{{SyntaxError}}" {{DOMException}}:
+If parsedURL's [=url/scheme=] is not implemented by the + user agent, then [=exception/throw=] a {{NotSupportedError}}.
+Let hostAndPortURL be result of + parsing the concatenation of + `"https://"` and parsedURL's [=url/path=].
+If hostAndPortURL is failure, then [=exception/throw=] a + "{{SyntaxError}}" {{DOMException}}.
+For "stun" and "stuns" schemes, this validates
+ [[!RFC7064]] section 3.1.
+ For "turn" and "turns" schemes, this and the steps below validate
+ [[!RFC7065]] section 3.1.
TODO: validate ?transport=udp|tcp (see PR #2996)
+ If parsedURL's' [=url/scheme=] is "turn"
or
+ "turns"
, and either of
+ server.{{RTCIceServer/username}} or
+ server.{{RTCIceServer/credential}} do
+ [=map/exist|not exist=], then [= exception/throw =] an
+ {{InvalidAccessError}}.
+
From e7183218588059ff00fe153e6c39b0a9de57117c Mon Sep 17 00:00:00 2001
From: Dominique Hazael-Massieux
+
Initial Author of this Specification was Ian Hickson, Google Inc., with
the following copyright statement:
© Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera
Software ASA. You are granted a license to use, reproduce and create
derivative works of this document. All subsequent changes since 26 July
2011 done by the W3C WebRTC Working Group are under the following
- Copyright:
+ Copyright:
- Copyright © 2011-2024 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
From 9debbddce0456494c14fa5dbac095994d17199a4 Mon Sep 17 00:00:00 2001 From: Denis Ah-Kang <1696128+deniak@users.noreply.github.com> Date: Thu, 3 Oct 2024 16:07:18 +0400 Subject: [PATCH 18/18] fix indentation --- webrtc.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webrtc.html b/webrtc.html index 86849d4ef..eabfa26f8 100644 --- a/webrtc.html +++ b/webrtc.html @@ -20,7 +20,8 @@ -
+
+
Initial Author of this Specification was Ian Hickson, Google Inc., with
the following copyright statement:
© Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera