Skip to content

Commit 39f7723

Browse files
Merge branch 'main' into idl-types
2 parents 875da35 + f2797d7 commit 39f7723

File tree

2 files changed

+21
-37
lines changed

2 files changed

+21
-37
lines changed

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22

33
This repository contains a **proposal** for an API that allows the
44
insertion of user-defined processing steps in the pipeline that
5-
handles media in a WebRTC context.
5+
handles encoded media in a WebRTC context.
66

77
In order to allow such processing, it defines a number of extensions
8-
to the objects defined in [WEBRTC-PC](https://w3c.github.io/webrtc-pc/) and
9-
draws upon definitions from [WEBRTC-CODEC](https://github.com/WICG/web-codecs).
10-
8+
to the objects defined in [WEBRTC-PC](https://w3c.github.io/webrtc-pc/).
119

10+
The editors' work-in-progress version of the document is at https://w3c.github.io/webrtc-encoded-transform/

index.bs

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ spec:webidl; type:dfn; text:resolve
2323
"href":
2424
"https://github.com/WICG/web-codecs/blob/master/explainer.md",
2525
"title": "Web Codecs explainer"
26+
},
27+
"SFRAME": {
28+
"href":
29+
"https://www.ietf.org/archive/id/draft-ietf-sframe-enc-00.html",
30+
"title": "Secure Frame (SFrame)"
2631
}
2732
}
2833
</pre>
@@ -32,27 +37,19 @@ spec:streams; type:interface; text:ReadableStream
3237

3338
# Introduction # {#introduction}
3439

35-
The [[WEBRTC-NV-USE-CASES]] document describes several functions that
36-
can only be achieved by access to media (requirements N20-N22),
37-
including, but not limited to:
38-
* Funny Hats
39-
* Machine Learning
40-
* Virtual Reality Gaming
41-
42-
These use cases further require that processing can be done in worker
43-
threads (requirement N23-N24).
40+
The [[WEBRTC-NV-USE-CASES]] document describes the use-case of
41+
* Untrusted JavaScript Cloud Conferencing
42+
which requires that the conferencing server does not have access
43+
to the cleartext media (requirement N27).
4444

45-
Furthermore, the "trusted JavaScript cloud conferencing" use case
46-
requires such processing to be done on encoded media, not just the raw
47-
media.
45+
This specification provides access to encoded media,
46+
which is the output of the encoder part of a codec and the input to the
47+
decoder part of a codec which allows the user agent to apply encryption
48+
locally.
4849

49-
This specification gives an interface inspired by [[WEB-CODECS]] to
50+
The interface is inspired by [[WEB-CODECS]] to
5051
provide access to such functionality while retaining the setup flow of
51-
RTCPeerConnection.
52-
53-
This iteration of the specification provides access to encoded media,
54-
which is the output of the encoder part of a codec and the input to the
55-
decoder part of a codec.
52+
RTCPeerConnection
5653

5754
# Terminology # {#terminology}
5855

@@ -65,12 +62,6 @@ It uses an additional API on {{RTCRtpSender}} and {{RTCRtpReceiver}} to
6562
insert the processing into the pipeline.
6663

6764
<pre class="idl">
68-
// New dictionary
69-
dictionary RTCInsertableStreams {
70-
ReadableStream readable;
71-
WritableStream writable;
72-
};
73-
7465
typedef (SFrameTransform or RTCRtpScriptTransform) RTCRtpTransform;
7566

7667
// New methods for RTCRtpSender and RTCRtpReceiver
@@ -176,11 +167,8 @@ Similarly, if a web application sets the transform synchronously at creation of
176167

177168
# SFrameTransform # {#sframe}
178169

179-
<p class="note">
180-
The API presented in this section represents a preliminary proposal
181-
based on protocol proposals that have not yet been adopted by an IETF WG.
182-
As a result, both the API and underlying protocol are likely to change
183-
significantly going forward.
170+
<p>
171+
The API presented in this section allows applications to process SFrame data as defined in [[SFrame]].
184172
</p>
185173

186174
<xmp class="idl">
@@ -365,10 +353,7 @@ The <dfn constructor for="RTCRtpScriptTransform" lt="RTCRtpScriptTransform(worke
365353
5. Set |transformer|.`[[options]]` to |transformerOptions|.
366354
6. Set |transformer|.`[[readable]]` to |readable|.
367355
7. Set |transformer|.`[[writable]]` to |writable|.
368-
8. Let |event| be the result of [=creating an event=] with {{RTCTransformEvent}}.
369-
9. Set |event|.type attribute to "rtctransform".
370-
10. Set |event|.transformer to |transformer|.
371-
11. Dispatch |event| on |worker|’s global scope.
356+
8. [=Fire an event=] named <dfn event for="DedicatedWorkerGlobalScope">rtctransform</dfn> using {{RTCTransformEvent}} with {{RTCTransformEvent/transformer}} set to |transformer| on |worker|’s global scope.
372357

373358
// FIXME: Describe error handling (worker closing flag true at RTCRtpScriptTransform creation time. And worker being terminated while transform is processing data).
374359

0 commit comments

Comments
 (0)