forked from w3c/webmediaapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
221 lines (220 loc) · 13.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web Media API Snapshot 2017</title>
<script
src="https://www.w3.org/Tools/respec/respec-w3c-common"
class="remove"></script>
<script class="remove">
var respecConfig = {
specStatus: "CG-DRAFT",
editors: [{
name: "David Evans",
company: "British Broadcasting Corporation",
companyURL: "https://www.bbc.co.uk/rd"
},
{
name: "Mark Vickers",
company: "Comcast",
companyURL: "https://www.comcast.com"
}],
processVersion: 2017,
github: "https://github.com/w3c/webmediaapi",
shortName: "dahut",
wg: "Web Media API Community Group",
wgURI: "https://www.w3.org/community/webmediaapi/",
localBiblio: {
"WEB-MESSAGING": {
authors: ["Anne van Kesteren", "Domenic Denicola", "Ian Hickson", "Philip Jägenstedt", "Simon Pieters"],
title: "HTML Standard: Cross-document messaging",
href: "https://html.spec.whatwg.org/multipage/comms.html#web-messaging",
status: "Living Standard",
publisher: "WHATWG",
},
"CHANNEL-MESSAGING": {
authors: ["Anne van Kesteren", "Domenic Denicola", "Ian Hickson", "Philip Jägenstedt", "Simon Pieters"],
title: "HTML Standard: Channel messaging",
href: "https://html.spec.whatwg.org/multipage/comms.html#channel-messaging",
status: "Living Standard",
publisher: "WHATWG",
}
}
};
</script>
</head>
<body>
<section id="abstract">
<p>This specification defines the Web APIs that should be included in device implementations to support media web apps in 2017. This specification should be updated at least annually to keep pace with the evolving Web platform. This specification is comprised of references to existing specifications in W3C and other specification groups. The target devices will include any device that runs a modern HTML user agent, including televisions, game machines, set-top boxes, mobile devices and personal computers.</p>
<p>The goal of this Web Media API Community Group specification is to transition to the W3C Recommendation Track for standards development.</p>
</section>
<section id="sotd">
</section>
<section>
<h2>Introduction</h2>
<p>Writing portable media web apps across browsers on consumer products (e.g. smart TVs, game machines, set-top boxes) is much more difficult than writing portable media web apps across PC browsers. One main reason for this is that the browsers on consumer products are often quite out-of-date. While consumer browsers are built from the same major HTML user agent code bases as are PC browsers, it's not unusual for a consumer product to be using a code base release that is three or more years old, while PC browsers use recent code base releases.</p>
<p>This specification is intended to address this problem by collecting together into one definition key specs used by media web apps that are all supported in common by all the four major web user agent code bases, as of 2017. The specification will then be used to generate a test suite, to enable device manufacturers to specify and verify that their browsers are up-to-date with current web standards.</p>
<p>It is intended that this specification be updated periodically to reflect adoption of new specifications in the Web platform. For example, the specification might be updated once a year for media devices being introduced onto the market in the following year.</p>
<p>Each version of the specification will additionally recommend a set of useful web specifications which are not yet supported by all code bases, in order to encourage all code bases to support these recommended APIs.</p>
<p>Specifications that are required in this version of this specification may fall out of use in the web and be dropped in whole or in part from some web platforms. Hence a specification being "Required" in this version of this specification does not guarantee that it will remain "Required" in future versions of this specification.</p>
<p>This specification is being developed in close cooperation with the <a href="http://cta.tech/WAVE">CTA WAVE Project</a>.</p>
</section>
<section id="conformance">
</section>
<section>
<h2>Web Media APIs currently supported on all platforms</h2>
<section>
<h2>Introduction</h2>
<p>APIs in this section are meant to be available in 2016 in a usable form in the four major web user agent code bases (though there are no requirements around explicit version number or release date for any client code bases). This is to enable the APIs to be delivered in consumer products in 2017.</p>
<p>The approach taken in this draft is to only include specifications that are of particular significance to application programmers, but not include all the specifications cited by those included specifications. For example, IETF RFC 1345, Character Mnemonics and Character Sets [[RFC1345]] is required by the HTML5 spec included here, but is not included as a required specification here.</p>
<section>
<h3>APIs not widely implemented across all web platforms</h3>
<p>When requiring conformance to a specification in this section, it must be recognised that parts of some web specifications are not currently implemented across all web platforms and may never be. Consequently, these features may not be present in some implementations of this specification and will not be tested as part of our tests. Any such APIs are noted as exceptions under that API.</p>
</section>
<section>
<h3>At-risk features</h3>
<p>Some specifications referenced in this section may not have reached Recommendation and, as such, may contain 'at-risk' features. Since the most common reason for features being marked as at-risk is lack of implementations, such features may not be present in some implementations of this specification and will not be tested as part of our tests.</p>
</section>
</section>
<section>
<h3>HTML core specifications</h3>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> HTML 5.1 [[!HTML51]], devices acting as Web browsers that support the HTML syntax and the XHTML syntax, scripting, and the suggested default rendering.</li>
<li> ECMAScript Language Specification, Edition 5.1 [[!ECMASCRIPT-5.1]]</li>
</ul>
</section>
<section>
<h3>CSS specifications</h3>
<p class="ednote">
The following list of widely deployed and interoperable CSS specs is taken directly from CSS Snapshot 2017 [[CSS-2017]]
</p>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification [[!CSS2]]</li>
<li> CSS Syntax Module Level 3 [[!CSS-SYNTAX-3]]</li>
<li> CSS Style Attributes [[!CSS-STYLE-ATTR]]</li>
<li> Media Queries Level 3 [[!CSS3-MEDIAQUERIES]]</li>
<li> CSS Conditional Rules Module Level 3 [[!CSS3-CONDITIONAL]]</li>
<li> CSS Namespaces Module Level 3 [[!CSS-NAMESPACES-3]]</li>
<li> Selectors Level 3 [[!SELECT]]</li>
<li> CSS Cascading and Inheritance Level 3 [[!CSS-CASCADE-3]]</li>
<li> CSS Values and Units Module Level 3 [[!CSS-VALUES]]</li>
<li> CSS Color Module Level 3 [[!CSS3-COLOR]]</li>
<li> CSS Backgrounds and Borders Module Level 3 [[!CSS3-BACKGROUND]]</li>
<li> CSS Image Values and Replaced Content Module Level 3 [[!CSS3-IMAGES]]</li>
<li> CSS Fonts Module Level 3 [[!CSS-FONTS-3]]</li>
<li> CSS Multi-column Layout Module [[!CSS3-MULTICOL]]</li>
<li> CSS Basic User Interface Module Level 3 (CSS3 UI) [[!CSS-UI-3]]</li>
<li> Compositing and Blending Level 1 [[!COMPOSITING]]</li>
<li> CSS Transitions [[!CSS3-TRANSITIONS]]</li>
<li> CSS Animations [[!CSS3-ANIMATIONS]]</li>
<li> CSS Flexible Box Module Level 1 [[!CSS-FLEXBOX-1]]</li>
<li> CSS Transforms Module Level 1 [[!CSS-TRANSFORMS-1]]</li>
</ul>
</section>
<section>
<h3>Media specifications</h3>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> Encrypted Media Extensions [[!ENCRYPTED-MEDIA]]</li>
<li> Media Source Extensions [[!MEDIA-SOURCE]]</li>
<li> Web Audio API [[!WEBAUDIO]]
<ul><li>Exceptions: Since not all environments currently support Media Streams [[mediacapture-streams]], <code>MediaStreamAudioSourceNode</code> and <code>MediaStreamAudioDestinationNode</code> are not yet widely supported.</li></ul>
</li>
</ul>
</section>
<section>
<h3>Graphics specifications</h3>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> HTML Canvas 2D Context [[!2DCONTEXT]]</li>
<li> Fullscreen API Standard [[!WHATWG-FULLSCREEN]]</li>
<li> JPEG File Interchange Format [[!JPEG]]</li>
<li> Portable Network Graphics (PNG) Specification (Second Edition) [[!PNG]]</li>
<li> Graphics Interchange Format [[!GIF]]</li>
</ul>
</section>
<section>
<h3>Font specifications</h3>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> Open Font Format [[!OPEN-FONT-FORMAT]]</li>
<li> WOFF File Format 1.0 [[!WOFF]]</li>
</ul>
</section>
<section>
<h3>Networking specifications</h3>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> The WebSocket API [[!WEBSOCKETS]]</li>
<li> XMLHttpRequest [[!XHR]]</li>
<li> Fetch [[!FETCH]]</li>
</ul>
</section>
<section>
<h3>Security specifications</h3>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> Cross-Origin Resource Sharing [[!CORS]]</li>
<li> Content Security Policy Level 2 [[!CSP2]]</li>
<li> Web Cryptography API [[!WebCryptoAPI]]</li>
</ul>
</section>
<section>
<h3> Other web specifications</h3>
<p>Devices MUST be conforming implementations of the following specifications:</p>
<ul>
<li> Web Storage [[!WEBSTORAGE]]</li>
<li> Web Workers [[!WORKERS]]
<ul><li>Exceptions: <a href="https://www.w3.org/TR/workers/#shared-workers-and-the-sharedworker-interface">Shared Workers</a> are not yet widely supported.</li></ul>
</li>
<li> Indexed Database API [[!INDEXEDDB]]
<ul><li>Exceptions: Array <a href="https://www.w3.org/TR/IndexedDB/#dfn-key-path">key path</a> and array <a href="https://www.w3.org/TR/IndexedDB/#dfn-key">keys</a> are not yet widely supported.</li></ul>
</li>
<li> Cross-document messaging [[!WEB-MESSAGING]]</li>
<li> Channel messaging [[!CHANNEL-MESSAGING]]</li>
<li> Web Notifications [[!notifications-20151022]]</li>
<li> WebDriver [[!webdriver]]<p class="ednote">WebDriver API is at risk of removal from this specification pending resolution of <a href="https://github.com/w3c/webdriver/issues/977">https://github.com/w3c/webdriver/issues/977</a></p></li>
</ul>
</section>
</section>
<section>
<h2>Web Media APIs proposed to be supported on all platforms</h2>
<p>APIs in this section represent desired functionality that is important for web media delivery, but is not yet implemented widely enough to be Required. We encourage the following APIs be implemented on all HTML user agents as soon as possible. It is expected that, as implementations become available, some of these specifications may become Required Specifications in a future version of this specification.</p>
<section>
<h3>HTML core specifications</h3>
<ul>
<li> ECMAScript Language Specification, Edition 6 [[ECMASCRIPT-6.0]]</li>
</ul>
</section>
<section>
<h3>Media specifications</h3>
<ul>
<li> Sourcing In-band Media Resource Tracks from Media Containers into HTML [[INBANDTRACKS]]</li>
<li> Media Fragments URI 1.0 (basic) [[media-frags]]</li>
<li> Media Session Standard [[MEDIASESSION]]</li>
</ul>
</section>
<section>
<h3>Graphics specifications</h3>
<ul>
<li> WebGL Specification, Version 1.0.3 [[WEBGL]]</li>
</ul>
</section>
<section>
<h3>Networking specifications</h3>
<ul>
<li> Server-Sent Events [[EVENTSOURCE]]</li>
</ul>
</section>
<section>
<h3> Other web specifications</h3>
<ul>
<li> Web App Manifest [[appmanifest]]</li>
<li> Service Workers 1 [[service-workers-1]]</li>
</ul>
</section>
</section>
</body>
</html>