2
2
Title : WebRTC Insertable Media using Streams
3
3
Shortname : webrtc-media-streams
4
4
Level : 1
5
- Status : ED
5
+ Status : DREAM
6
6
Group : webrtc
7
7
Repository : alvestrand/webrtc-media-streams/
8
8
URL : https://alvestrand.github.io/webrtc-media-streams/
9
9
Editor : Harald Alvestrand, Google https://google.com, [email protected]
10
10
Abstract : This API defines an API surface for manipulating the bits on
11
11
Abstract : MediaStreamTracks being sent via an RTCPeerConnection.
12
- Markup Shorthands : css no
12
+ Markup Shorthands : css no, markdown yes
13
13
</pre>
14
14
<pre class='anchors'>
15
15
spec: WEBRTC; urlPrefix: https://w3c.github.io/webrtc-pc/
16
16
type: interface
17
- for: RTCRtpEncodingParameters; text: RTCRtpEncodingParameters; url: #dom-rtcrtpencodingparameters
18
- type: enum
19
- text: RTCPriorityType; url: #dom-rtcprioritytype
20
- type: attribute
21
- for: RTCRtpEncodingParameters; text: priority; url: #dom-rtcrtpencodingparameters-priority
17
+ text: RTCPeerConnection; url: #dom-rtcpeerconnection
18
+ type: dictionary
19
+ text: RTCConfiguration; url: #dom-rtcconfiguration
20
+ spec: WEB-CODECS; urlPrefix: https://github.com/WICG/web-codecs/
21
+ type: interface
22
+ text: AudioEncoder; url: #dom-audioencoder
23
+ type: interface
24
+ text: AudioDecoder; url: #dom-audiodecoder
25
+ type: interface
26
+ text: VideoEncoder; url: #dom-videoencoder
27
+ type: interface
28
+ text: VideoDecoder; url: #dom-videodecoder
22
29
</pre>
23
30
<pre class=biblio>
24
31
{
@@ -30,7 +37,7 @@ spec: WEBRTC; urlPrefix: https://w3c.github.io/webrtc-pc/
30
37
}
31
38
</pre>
32
39
33
- # Introduction
40
+ # Introduction {#introduction}
34
41
35
42
The [[WEBRTC-NV-USE-CASES]] document describes several functions that
36
43
can only be achieved by access to media (requirements N20-N22),
@@ -50,26 +57,39 @@ This specification gives an interface that builds on [[WEB-CODECS]] to
50
57
provide access to such functionality while retaining the setup flow of
51
58
RTCPeerConnection.
52
59
60
+ # Terminology {#terminology}
53
61
54
- # IDL specification
62
+ <p noexport>
63
+ The IDL terms <dfn type="idl-name">AudioEncoder</dfn> , <dfn>VideoEncoder</dfn> ,
64
+ <dfn>AudioDecoder</dfn> , <dfn>VideoDecoder</dfn> are defined in [[WEB-CODECS]] .
65
+ </p>
66
+
67
+ # Specification {#specification}
55
68
56
69
The Streams definition doesn't use WebIDL much, but the WebRTC spec does.
57
70
This specification shows the IDL extensions for WebRTC.
58
71
72
+ It uses an extension to RTCConfiguration in order to pass the extra
73
+ decorators for encoder and decoder initialization to an {{RTCPeerConnection}} .
74
+
59
75
<pre class='idl'>
60
76
typedef (AudioEncoder or VideoEncoder) Encoder;
61
77
typedef (AudioDecoder or VideoDecoder) Decoder;
62
78
63
- callback EncoderDecorator = Encoder(Encoder encoder, Config config);
64
- callback DecoderDecorator = Decoder(Decoder encoder, Config config);
79
+ dictionary Config {
80
+ // To Be Defined
81
+ };
82
+
83
+ callback EncoderDecorator = Encoder(Encoder encoder, optional Config config);
84
+ callback DecoderDecorator = Decoder(Decoder encoder, optional Config config);
65
85
66
86
partial dictionary RTCConfiguration {
67
87
EncoderDecorator encoderFactory;
68
88
DecoderDecorator decoderFactory;
69
89
};
70
90
</pre>
71
91
72
- ## Extension operation
92
+ ## Extension operation {#operation}
73
93
At creation of an RTCPeerConnection, the following steps are added to
74
94
the creation algorithm:
75
95
@@ -94,7 +114,7 @@ the following steps:
94
114
95
115
The media will then be processed according to the rules of [[WEB-CODECS]] .
96
116
97
- # Privacy and security considerations
117
+ # Privacy and security considerations {#privacy}
98
118
99
119
This API gives Javascript access to the content of media streams. This
100
120
is also available from other sources, such as Canvas and WebAudio.
@@ -104,6 +124,6 @@ However, streams that are isolated (as specified in
104
124
accessed using this API, since that would break the isolation rule.
105
125
106
126
107
- # Examples
127
+ # Examples {#examples}
108
128
109
129
0 commit comments