88 < link href ="https://www.w3.org/2008/site/images/favicon.ico " rel ="icon ">
99 < meta content ="Bikeshed version 44af0bf3e, updated Fri Jul 29 17:05:16 2022 -0700 " name ="generator ">
1010 < link href ="https://www.w3.org/TR/webrtc-encoded-transform/ " rel ="canonical ">
11- < meta content ="535012655eea0f7ef5b87d0d1866def8ab7277d9 " name ="document-revision ">
11+ < meta content ="5abcf5ce1104423b5e6bfc861884f56ef23f3814 " name ="document-revision ">
1212< style > /* style-autolinks */
1313
1414.css .css , .property .property , .descriptor .descriptor {
@@ -715,13 +715,7 @@ <h2 class="heading settled" data-level="3" id="specification"><span class="secno
715715This specification shows the IDL extensions for WebRTC.</ p >
716716 < p > It uses an additional API on < code class ="idl "> < a data-link-type ="idl " href ="https://www.w3.org/TR/webrtc/#dom-rtcrtpsender " id ="ref-for-dom-rtcrtpsender "> RTCRtpSender</ a > </ code > and < code class ="idl "> < a data-link-type ="idl " href ="https://www.w3.org/TR/webrtc/#dom-rtcrtpreceiver " id ="ref-for-dom-rtcrtpreceiver "> RTCRtpReceiver</ a > </ code > to
717717insert the processing into the pipeline.</ p >
718- < pre class ="idl highlight def "> // New dictionary
719- < c- b > dictionary</ c- > < dfn class ="idl-code " data-dfn-type ="dictionary " data-export id ="dictdef-rtcinsertablestreams "> < code > < c- g > RTCInsertableStreams</ c- > </ code > < a class ="self-link " href ="#dictdef-rtcinsertablestreams "> </ a > </ dfn > {
720- < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#readablestream " id ="ref-for-readablestream "> < c- n > ReadableStream</ c- > </ a > < dfn class ="idl-code " data-dfn-for ="RTCInsertableStreams " data-dfn-type ="dict-member " data-export data-type ="ReadableStream " id ="dom-rtcinsertablestreams-readable "> < code > < c- g > readable</ c- > </ code > < a class ="self-link " href ="#dom-rtcinsertablestreams-readable "> </ a > </ dfn > ;
721- < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#writablestream " id ="ref-for-writablestream "> < c- n > WritableStream</ c- > </ a > < dfn class ="idl-code " data-dfn-for ="RTCInsertableStreams " data-dfn-type ="dict-member " data-export data-type ="WritableStream " id ="dom-rtcinsertablestreams-writable "> < code > < c- g > writable</ c- > </ code > < a class ="self-link " href ="#dom-rtcinsertablestreams-writable "> </ a > </ dfn > ;
722- };
723-
724- < c- b > typedef</ c- > (< a data-link-type ="idl-name " href ="#sframetransform " id ="ref-for-sframetransform "> < c- n > SFrameTransform</ c- > </ a > < c- b > or</ c- > < a data-link-type ="idl-name " href ="#rtcrtpscripttransform " id ="ref-for-rtcrtpscripttransform "> < c- n > RTCRtpScriptTransform</ c- > </ a > ) < dfn class ="dfn-paneled idl-code " data-dfn-type ="typedef " data-export id ="typedefdef-rtcrtptransform "> < code > < c- g > RTCRtpTransform</ c- > </ code > </ dfn > ;
718+ < pre class ="idl highlight def "> < c- b > typedef</ c- > (< a data-link-type ="idl-name " href ="#sframetransform " id ="ref-for-sframetransform "> < c- n > SFrameTransform</ c- > </ a > < c- b > or</ c- > < a data-link-type ="idl-name " href ="#rtcrtpscripttransform " id ="ref-for-rtcrtpscripttransform "> < c- n > RTCRtpScriptTransform</ c- > </ a > ) < dfn class ="dfn-paneled idl-code " data-dfn-type ="typedef " data-export id ="typedefdef-rtcrtptransform "> < code > < c- g > RTCRtpTransform</ c- > </ code > </ dfn > ;
725719
726720// New methods for RTCRtpSender and RTCRtpReceiver
727721< c- b > partial</ c- > < c- b > interface</ c- > < a class ="idl-code " data-link-type ="interface " href ="https://www.w3.org/TR/webrtc/#dom-rtcrtpsender " id ="ref-for-dom-rtcrtpsender① "> < c- g > RTCRtpSender</ c- > </ a > {
@@ -741,13 +735,13 @@ <h4 class="heading settled" data-level="3.1.1" id="stream-creation"><span class=
741735 < li data-md >
742736 < p > Initialize < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this "> this</ a > .< code > [[transform]]</ code > to null.</ p >
743737 < li data-md >
744- < p > Initialize < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this① "> this</ a > .< code > [[readable]]</ code > to a new < code class ="idl "> < a data-link-type ="idl " href ="https://streams.spec.whatwg.org/#readablestream " id ="ref-for-readablestream① "> ReadableStream</ a > </ code > .</ p >
738+ < p > Initialize < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this① "> this</ a > .< code > [[readable]]</ code > to a new < code class ="idl "> < a data-link-type ="idl " href ="https://streams.spec.whatwg.org/#readablestream " id ="ref-for-readablestream "> ReadableStream</ a > </ code > .</ p >
745739 < li data-md >
746740 < p > < a data-link-type ="dfn " href ="https://streams.spec.whatwg.org/#readablestream-set-up " id ="ref-for-readablestream-set-up "> Set up</ a > < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this② "> this</ a > .< code > [[readable]]</ code > . < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this③ "> this</ a > .< code > [[readable]]</ code > is provided frames using the < a data-link-type ="dfn " href ="#readencodeddata " id ="ref-for-readencodeddata "> readEncodedData</ a > algorithm given < var > this</ var > as parameter.</ p >
747741 < li data-md >
748742 < p > Set < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this④ "> this</ a > .< code > [[readable]]</ code > .< code > [[owner]]</ code > to < var > this</ var > .</ p >
749743 < li data-md >
750- < p > Initialize < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this⑤ "> this</ a > .< code > [[writable]]</ code > to a new < code class ="idl "> < a data-link-type ="idl " href ="https://streams.spec.whatwg.org/#writablestream " id ="ref-for-writablestream① "> WritableStream</ a > </ code > .</ p >
744+ < p > Initialize < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this⑤ "> this</ a > .< code > [[writable]]</ code > to a new < code class ="idl "> < a data-link-type ="idl " href ="https://streams.spec.whatwg.org/#writablestream " id ="ref-for-writablestream "> WritableStream</ a > </ code > .</ p >
751745 < li data-md >
752746 < p > < a data-link-type ="dfn " href ="https://streams.spec.whatwg.org/#writablestream-set-up " id ="ref-for-writablestream-set-up "> Set up</ a > < a data-link-type ="dfn " href ="https://webidl.spec.whatwg.org/#this " id ="ref-for-this⑥ "> this</ a > .< code > [[writable]]</ code > with its < a data-link-type ="dfn " href ="https://streams.spec.whatwg.org/#writablestream-set-up-writealgorithm " id ="ref-for-writablestream-set-up-writealgorithm "> writeAlgorithm</ a > set to < a data-link-type ="dfn " href ="#writeencodeddata " id ="ref-for-writeencodeddata "> writeEncodedData</ a > given < var > this</ var > as parameter and its < a data-link-type ="dfn " href ="https://streams.spec.whatwg.org/#writablestream-set-up-sizealgorithm " id ="ref-for-writablestream-set-up-sizealgorithm "> sizeAlgorithm</ a > to an algorithm that returns < code > 0</ code > .</ p >
753747 < p class ="note " role ="note "> Chunk size is set to 0 to explictly disable streams backpressure on the write side.</ p >
@@ -1050,8 +1044,8 @@ <h2 class="heading settled" data-level="5" id="scriptTransform"><span class="sec
10501044
10511045[< a class ="idl-code " data-link-type ="extended-attribute " href ="https://webidl.spec.whatwg.org/#Exposed " id ="ref-for-Exposed⑤ "> < c- g > Exposed</ c- > </ a > =< c- n > DedicatedWorker</ c- > ]
10521046< c- b > interface</ c- > < dfn class ="dfn-paneled idl-code " data-dfn-type ="interface " data-export id ="rtcrtpscripttransformer "> < code > < c- g > RTCRtpScriptTransformer</ c- > </ code > </ dfn > {
1053- < c- b > readonly</ c- > < c- b > attribute</ c- > < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#readablestream " id ="ref-for-readablestream② "> < c- n > ReadableStream</ c- > </ a > < a class ="idl-code " data-link-type ="attribute " data-readonly data-type ="ReadableStream " href ="#dom-rtcrtpscripttransformer-readable " id ="ref-for-dom-rtcrtpscripttransformer-readable "> < c- g > readable</ c- > </ a > ;
1054- < c- b > readonly</ c- > < c- b > attribute</ c- > < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#writablestream " id ="ref-for-writablestream② "> < c- n > WritableStream</ c- > </ a > < a class ="idl-code " data-link-type ="attribute " data-readonly data-type ="WritableStream " href ="#dom-rtcrtpscripttransformer-writable " id ="ref-for-dom-rtcrtpscripttransformer-writable "> < c- g > writable</ c- > </ a > ;
1047+ < c- b > readonly</ c- > < c- b > attribute</ c- > < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#readablestream " id ="ref-for-readablestream① "> < c- n > ReadableStream</ c- > </ a > < a class ="idl-code " data-link-type ="attribute " data-readonly data-type ="ReadableStream " href ="#dom-rtcrtpscripttransformer-readable " id ="ref-for-dom-rtcrtpscripttransformer-readable "> < c- g > readable</ c- > </ a > ;
1048+ < c- b > readonly</ c- > < c- b > attribute</ c- > < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#writablestream " id ="ref-for-writablestream① "> < c- n > WritableStream</ c- > </ a > < a class ="idl-code " data-link-type ="attribute " data-readonly data-type ="WritableStream " href ="#dom-rtcrtpscripttransformer-writable " id ="ref-for-dom-rtcrtpscripttransformer-writable "> < c- g > writable</ c- > </ a > ;
10551049 < c- b > readonly</ c- > < c- b > attribute</ c- > < a class ="idl-code " data-link-type ="interface " href ="https://webidl.spec.whatwg.org/#idl-any " id ="ref-for-idl-any② "> < c- b > any</ c- > </ a > < a class ="idl-code " data-link-type ="attribute " data-readonly data-type ="any " href ="#dom-rtcrtpscripttransformer-options " id ="ref-for-dom-rtcrtpscripttransformer-options "> < c- g > options</ c- > </ a > ;
10561050 < a class ="idl-code " data-link-type ="interface " href ="https://webidl.spec.whatwg.org/#idl-promise " id ="ref-for-idl-promise① "> < c- b > Promise</ c- > </ a > << a class ="idl-code " data-link-type ="interface " href ="https://webidl.spec.whatwg.org/#idl-unsigned-long-long " id ="ref-for-idl-unsigned-long-long① "> < c- b > unsigned</ c- > < c- b > long</ c- > < c- b > long</ c- > </ a > > < a class ="idl-code " data-link-type ="method " href ="#dom-rtcrtpscripttransformer-generatekeyframe " id ="ref-for-dom-rtcrtpscripttransformer-generatekeyframe "> < c- g > generateKeyFrame</ c- > </ a > (< c- b > optional</ c- > < a class ="idl-code " data-link-type ="interface " href ="https://webidl.spec.whatwg.org/#idl-DOMString " id ="ref-for-idl-DOMString① "> < c- b > DOMString</ c- > </ a > < dfn class ="idl-code " data-dfn-for ="RTCRtpScriptTransformer/generateKeyFrame(rid), RTCRtpScriptTransformer/generateKeyFrame() " data-dfn-type ="argument " data-export id ="dom-rtcrtpscripttransformer-generatekeyframe-rid-rid "> < code > < c- g > rid</ c- > </ code > < a class ="self-link " href ="#dom-rtcrtpscripttransformer-generatekeyframe-rid-rid "> </ a > </ dfn > );
10571051 < a class ="idl-code " data-link-type ="interface " href ="https://webidl.spec.whatwg.org/#idl-promise " id ="ref-for-idl-promise② "> < c- b > Promise</ c- > </ a > << a class ="idl-code " data-link-type ="interface " href ="https://webidl.spec.whatwg.org/#idl-undefined " id ="ref-for-idl-undefined① "> < c- b > undefined</ c- > </ a > > < a class ="idl-code " data-link-type ="method " href ="#dom-rtcrtpscripttransformer-sendkeyframerequest " id ="ref-for-dom-rtcrtpscripttransformer-sendkeyframerequest "> < c- g > sendKeyFrameRequest</ c- > </ a > ();
@@ -1385,20 +1379,14 @@ <h3 class="no-num no-ref heading settled" id="index-defined-here"><span class="c
13851379 < li > < a href ="#dom-rtcencodedaudioframemetadata-payloadtype "> dict-member for RTCEncodedAudioFrameMetadata</ a > < span > , in § 5</ span >
13861380 < li > < a href ="#dom-rtcencodedvideoframemetadata-payloadtype "> dict-member for RTCEncodedVideoFrameMetadata</ a > < span > , in § 5</ span >
13871381 </ ul >
1388- < li >
1389- readable
1390- < ul >
1391- < li > < a href ="#dom-rtcrtpscripttransformer-readable "> attribute for RTCRtpScriptTransformer</ a > < span > , in § 5.2</ span >
1392- < li > < a href ="#dom-rtcinsertablestreams-readable "> dict-member for RTCInsertableStreams</ a > < span > , in § 3</ span >
1393- </ ul >
1382+ < li > < a href ="#dom-rtcrtpscripttransformer-readable "> readable</ a > < span > , in § 5.2</ span >
13941383 < li > < a href ="#readencodeddata "> readEncodedData</ a > < span > , in § 3.1.2</ span >
13951384 < li > < a href ="#dom-sframetransformoptions-role "> role</ a > < span > , in § 4</ span >
13961385 < li > < a href ="#rtcencodedaudioframe "> RTCEncodedAudioFrame</ a > < span > , in § 5</ span >
13971386 < li > < a href ="#dictdef-rtcencodedaudioframemetadata "> RTCEncodedAudioFrameMetadata</ a > < span > , in § 5</ span >
13981387 < li > < a href ="#rtcencodedvideoframe "> RTCEncodedVideoFrame</ a > < span > , in § 5</ span >
13991388 < li > < a href ="#dictdef-rtcencodedvideoframemetadata "> RTCEncodedVideoFrameMetadata</ a > < span > , in § 5</ span >
14001389 < li > < a href ="#enumdef-rtcencodedvideoframetype "> RTCEncodedVideoFrameType</ a > < span > , in § 5</ span >
1401- < li > < a href ="#dictdef-rtcinsertablestreams "> RTCInsertableStreams</ a > < span > , in § 3</ span >
14021390 < li > < a href ="#rtcrtpscripttransform "> RTCRtpScriptTransform</ a > < span > , in § 5</ span >
14031391 < li > < a href ="#rtcrtpscripttransformer "> RTCRtpScriptTransformer</ a > < span > , in § 5</ span >
14041392 < li > < a href ="#dom-rtcrtpscripttransform-rtcrtpscripttransform "> RTCRtpScriptTransform(worker)</ a > < span > , in § 5.1</ span >
@@ -1440,12 +1428,7 @@ <h3 class="no-num no-ref heading settled" id="index-defined-here"><span class="c
14401428 < li > < a href ="#dom-rtctransformevent-transformer "> transformer</ a > < span > , in § 5</ span >
14411429 < li > < a href ="#dom-rtcencodedvideoframe-type "> type</ a > < span > , in § 5</ span >
14421430 < li > < a href ="#dom-rtcencodedvideoframemetadata-width "> width</ a > < span > , in § 5</ span >
1443- < li >
1444- writable
1445- < ul >
1446- < li > < a href ="#dom-rtcrtpscripttransformer-writable "> attribute for RTCRtpScriptTransformer</ a > < span > , in § 5.2</ span >
1447- < li > < a href ="#dom-rtcinsertablestreams-writable "> dict-member for RTCInsertableStreams</ a > < span > , in § 3</ span >
1448- </ ul >
1431+ < li > < a href ="#dom-rtcrtpscripttransformer-writable "> writable</ a > < span > , in § 5.2</ span >
14491432 < li > < a href ="#writeencodeddata "> writeEncodedData</ a > < span > , in § 3.1.2</ span >
14501433 </ ul >
14511434 < aside class ="dfn-panel " data-for ="term-for-abortcontroller ">
@@ -1562,9 +1545,8 @@ <h3 class="no-num no-ref heading settled" id="index-defined-here"><span class="c
15621545 < aside class ="dfn-panel " data-for ="term-for-readablestream ">
15631546 < a href ="https://streams.spec.whatwg.org/#readablestream "> https://streams.spec.whatwg.org/#readablestream</ a > < b > Referenced in:</ b >
15641547 < ul >
1565- < li > < a href ="#ref-for-readablestream "> 3. Specification</ a >
1566- < li > < a href ="#ref-for-readablestream① "> 3.1.1. Stream creation</ a >
1567- < li > < a href ="#ref-for-readablestream② "> 5. RTCRtpScriptTransform</ a >
1548+ < li > < a href ="#ref-for-readablestream "> 3.1.1. Stream creation</ a >
1549+ < li > < a href ="#ref-for-readablestream① "> 5. RTCRtpScriptTransform</ a >
15681550 </ ul >
15691551 </ aside >
15701552 < aside class ="dfn-panel " data-for ="term-for-transformstream ">
@@ -1576,9 +1558,8 @@ <h3 class="no-num no-ref heading settled" id="index-defined-here"><span class="c
15761558 < aside class ="dfn-panel " data-for ="term-for-writablestream ">
15771559 < a href ="https://streams.spec.whatwg.org/#writablestream "> https://streams.spec.whatwg.org/#writablestream</ a > < b > Referenced in:</ b >
15781560 < ul >
1579- < li > < a href ="#ref-for-writablestream "> 3. Specification</ a >
1580- < li > < a href ="#ref-for-writablestream① "> 3.1.1. Stream creation</ a >
1581- < li > < a href ="#ref-for-writablestream② "> 5. RTCRtpScriptTransform</ a >
1561+ < li > < a href ="#ref-for-writablestream "> 3.1.1. Stream creation</ a >
1562+ < li > < a href ="#ref-for-writablestream① "> 5. RTCRtpScriptTransform</ a >
15821563 </ ul >
15831564 </ aside >
15841565 < aside class ="dfn-panel " data-for ="term-for-readablestream-enqueue ">
@@ -1984,13 +1965,7 @@ <h3 class="no-num no-ref heading settled" id="informative"><span class="content"
19841965 < dd > Bernard Aboba. < a href ="https://w3c.github.io/webrtc-nv-use-cases/ "> < cite > WebRTC Next Version Use Cases</ cite > </ a > . URL: < a href ="https://w3c.github.io/webrtc-nv-use-cases/ "> https://w3c.github.io/webrtc-nv-use-cases/</ a >
19851966 </ dl >
19861967 < h2 class ="no-num no-ref heading settled " id ="idl-index "> < span class ="content "> IDL Index</ span > < a class ="self-link " href ="#idl-index "> </ a > </ h2 >
1987- < pre class ="idl highlight def "> // New dictionary
1988- < c- b > dictionary</ c- > < a href ="#dictdef-rtcinsertablestreams "> < code > < c- g > RTCInsertableStreams</ c- > </ code > </ a > {
1989- < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#readablestream "> < c- n > ReadableStream</ c- > </ a > < a data-type ="ReadableStream " href ="#dom-rtcinsertablestreams-readable "> < code > < c- g > readable</ c- > </ code > </ a > ;
1990- < a data-link-type ="idl-name " href ="https://streams.spec.whatwg.org/#writablestream "> < c- n > WritableStream</ c- > </ a > < a data-type ="WritableStream " href ="#dom-rtcinsertablestreams-writable "> < code > < c- g > writable</ c- > </ code > </ a > ;
1991- };
1992-
1993- < c- b > typedef</ c- > (< a data-link-type ="idl-name " href ="#sframetransform "> < c- n > SFrameTransform</ c- > </ a > < c- b > or</ c- > < a data-link-type ="idl-name " href ="#rtcrtpscripttransform "> < c- n > RTCRtpScriptTransform</ c- > </ a > ) < a href ="#typedefdef-rtcrtptransform "> < code > < c- g > RTCRtpTransform</ c- > </ code > </ a > ;
1968+ < pre class ="idl highlight def "> < c- b > typedef</ c- > (< a data-link-type ="idl-name " href ="#sframetransform "> < c- n > SFrameTransform</ c- > </ a > < c- b > or</ c- > < a data-link-type ="idl-name " href ="#rtcrtpscripttransform "> < c- n > RTCRtpScriptTransform</ c- > </ a > ) < a href ="#typedefdef-rtcrtptransform "> < code > < c- g > RTCRtpTransform</ c- > </ code > </ a > ;
19941969
19951970// New methods for RTCRtpSender and RTCRtpReceiver
19961971< c- b > partial</ c- > < c- b > interface</ c- > < a class ="idl-code " data-link-type ="interface " href ="https://www.w3.org/TR/webrtc/#dom-rtcrtpsender "> < c- g > RTCRtpSender</ c- > </ a > {
0 commit comments