diff --git a/amendments.json b/amendments.json index 5a7b920c9..4cad0041e 100644 --- a/amendments.json +++ b/amendments.json @@ -950,5 +950,21 @@ ], "id": 45 } + ], + "rtcrtpencodingparamters-attributes-active": [ + { + "description": "Add codec to RTCRtpEncodingParameters, moved from webrtc-extensions", + "type": "addition", + "status": "candidate", + "difftype": "append", + "id": 47, + "pr": 2985, + "tests": [ + "webrtc/RTCRtpParameters-codec.html" + ], + "testUpdates": [ + "web-platform-tests/wpt#47663" + ] + } ] } diff --git a/base-rec.html b/base-rec.html index de7fea7b7..e68c70b3a 100644 --- a/base-rec.html +++ b/base-rec.html @@ -9716,7 +9716,7 @@
active
of type boolean, defaulting to
true
-
Indicates that this encoding is actively being sent.
Setting it to false
causes this encoding to no
diff --git a/webrtc.html b/webrtc.html
index 008d13688..f3cde540a 100644
--- a/webrtc.html
+++ b/webrtc.html
@@ -2811,6 +2811,23 @@
For each transceiver in connection's [= set of transceivers =]:
+Let codecs be transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendCodecs]]}}.
+If codecs is not an empty list:
+Remove any codec value in transceiver.{{RTCRtpTransceiver/[[Sender]]}}.{{RTCRtpSender/[[SendEncodings]]}} + that does not [= codec dictionary match | match =] any entry in codecs.
+@@ -8210,6 +8227,17 @@
+ If any codec parameter in sendEncodings 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 @@ -8997,6 +9025,17 @@
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 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}}. +
+dictionary RTCRtpEncodingParameters : RTCRtpCodingParameters { boolean active = true; + RTCRtpCodec codec; unsigned long maxBitrate; double maxFramerate; double scaleResolutionDownBy; @@ -9701,7 +9751,7 @@"idlMemberType">boolean, defaulting to
true
-+ + Indicates that this encoding is actively being sent. Setting it to
false
causes this encoding to no @@ -9711,6 +9761,14 @@an RTCP BYE is not sent.
+ codec of type RTCRtpCodec + ++ Optional value selecting which codec is used for this encoding's + RTP stream. If absent, the user agent can chose to use any negotiated codec.
+maxBitrate of type