- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 15 Dec 2009 22:58:41 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/html-device
In directory hutz:/tmp/cvs-serv5585
Modified Files:
Overview.html
Log Message:
More work in progress for video conferencing and other device exposition (whatwg r4443)
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/html-device/Overview.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Overview.html 11 Dec 2009 18:09:30 -0000 1.1
+++ Overview.html 15 Dec 2009 22:58:39 -0000 1.2
@@ -260,7 +260,7 @@
<h1>HTML Device</h1>
<h2 class="no-num no-toc" id="an-addition-to-html">An addition to HTML</h2>
- <h2 class="no-num no-toc" id="editor-s-draft-11-december-2009">Editor's Draft 11 December 2009</h2>
+ <h2 class="no-num no-toc" id="editor-s-draft-15-december-2009">Editor's Draft 15 December 2009</h2>
<dl><dt>Latest Published Version:</dt>
<dd><a href="http://www.w3.org/TR/html-device/">http://www.w3.org/TR/html-device/</a></dd>
<dt>Latest Editor's Draft:</dt>
@@ -339,7 +339,7 @@
specification's progress along the W3C Recommendation
track.
- This specification is the 11 December 2009 Editor's Draft.
+ This specification is the 15 December 2009 Editor's Draft.
</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>This specification is part of <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">a
larger specification</a> being produced by the <a href="http://www.whatwg.org/">WHATWG</a>.
<!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
@@ -362,7 +362,9 @@
<!--begin-toc-->
<ol class="toc">
<li><a href="#conformance-requirements"><span class="secno">1 </span>Conformance requirements</a></li>
- <li><a href="#devices"><span class="secno">2 </span>The <code>device</code> element</a></li>
+ <li><a href="#devices"><span class="secno">2 </span>The <code>device</code> element</a>
+ <ol>
+ <li><a href="#stream-api"><span class="secno">2.1 </span>Stream API</a></ol></li>
<li><a class="no-num" href="#references">References</a></ol>
<!--end-toc--><hr><h2 id="conformance-requirements"><span class="secno">1 </span>Conformance requirements</h2><p>This specification is an HTML specification. All the conformance
requirements, definitions, dependencies, terminology, and
@@ -377,15 +379,76 @@
<dd>Empty.</dd>
<dt>Content attributes:</dt>
<dd><span>Global attributes</span></dd>
- <dd><code title="attr-device-type">type</code></dd>
+ <dd><code title="attr-device-type"><a href="#attr-device-type">type</a></code></dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmldeviceelement">HTMLDeviceElement</dfn> : <span>HTMLElement</span> {
attribute DOMString <span title="dom-device-type">type</span>;
+ readonly attribute any <span title="dom-device-data">data</span>;
};</pre>
</dl><p>The <code><a href="#devices">device</a></code> element represents a device selector, to
allow the user to give the page access to a device, for example a
- video camera.<p class="XXX">device attribute<p class="XXX">processing model</p><!--START vCard--><!--START vEvent--><h2 class="no-num" id="references">References</h2><!--REFS--><!--END vCard--><!--END vEvent--><p>All references are normative unless marked "Non-normative".</p><!--START vCard--><!--START vEvent--><dl><dt id="refsHTML5">[HTML5]</dt>
+ video camera.<p>The <dfn id="attr-device-type" title="attr-device-type"><code>type</code></dfn>
+ attribute allows the author to specify which kind of device the page
+ would like access to. The attribute is an <span>enumerated
+ attribute</span> with the keywords given in the first column of the
+ following table, and their corresponding states given in the cell in
+ second column of the same row.<p class="XXX">RS232 is only included below to give an idea of where
+ we could go with this. <strong>Should we instead just make this only
+ useful for audiovisual streams?</strong> Unless there are compelling
+ reasons, we probably should not be this generic. So far, the reasons
+ aren't that compelling.<table><thead><tr><th>Keyword
+ <th>State
+ <th>Device description
+ <th>Examples
+ <tbody><tr><td><dfn id="attr-device-type-keyword-media" title="attr-device-type-keyword-media"><code>media</code></dfn>
+ <td><span title="attr-device-type-media">Media</span>
+ <td>Stream of audio and/or video data.
+ <td>A webcam.
+ <tr><td><dfn id="attr-device-type-keyword-fs" title="attr-device-type-keyword-fs"><code>fs</code></dfn>
+ <td><span title="attr-device-type-fs">File system</span>
+ <td>File system.
+ <td>A USB-connected media player.
+ <tr><td><dfn id="attr-device-type-keyword-rs232" title="attr-device-type-keyword-rs232"><code>rs232</code></dfn>
+ <td><span title="attr-device-type-rs232">RS232</span>
+ <td>RS232 device.
+ <td>A serial port.
+ </table><p class="XXX">processing model: 'change' event fires once user
+ selects a new device; .data is set to new Stream, LocalFS, or RS232
+ object as appropriate.<div class="example">
+
+ <pre><p>To start chatting, select a video camera: <device type=media onchange="update(this.data)"></p>
+<video></video>
+<script>
+ function update(stream) {
+ document.getElementsByTagName('video')[0].src = stream.URL;
+ }
+</script></pre>
+
+ </div><h3 id="stream-api"><span class="secno">2.1 </span>Stream API</h3><p>The <code><a href="#stream">Stream</a></code> interface is used to represent
+ streams.<pre class="idl">interface <dfn id="stream">Stream</dfn> {
+ readonly attribute DOMString <a href="#dom-stream-url" title="dom-stream-URL">URL</a>;
+ <a href="#streamrecorder">StreamRecorder</a> <a href="#dom-stream-record" title="dom-stream-record">record</a>();
+};</pre><p>The <dfn id="dom-stream-url" title="dom-stream-URL"><code>URL</code></dfn> attribute
+ must return a <span title="fileURN">File URN</span> representing the
+ stream. <a href="#refsFILEAPI">[FILEAPI]</a><p>For audio and video streams, the stream must be in a format
+ supported by the user agent for use in <code>audio</code> and
+ <code>video</code> elements.<p class="XXX">This will be pinned down to a specific codec, frame
+ dimension, and bitrate in due course.<p>When the <dfn id="dom-stream-record" title="dom-stream-record"><code>record()</code></dfn> method is
+ invoked, the user agent must return a <code><a href="#streamrecorder">StreamRecorder</a></code>
+ object associated with the stream.<pre class="idl">interface <dfn id="streamrecorder">StreamRecorder</dfn> {
+ <span>File</span> <a href="#dom-streamrecorder-stop" title="dom-StreamRecorder-stop">stop</a>();
+};</pre><p>The <dfn id="dom-streamrecorder-stop" title="dom-StreamRecorder-stop"><code>stop()</code></dfn> method
+ must return a <code>File</code> object representing the data that
+ was streamed between the creation of the <code><a href="#streamrecorder">StreamRecorder</a></code>
+ object and the invocation of the <code title="dom-StreamRecorder-stop"><a href="#dom-streamrecorder-stop">stop()</a></code> method. <a href="#refsFILEAPI">[FILEAPI]</a><p>For audio and video streams, the file must be in a format
+ supported by the user agent for use in <code>audio</code> and
+ <code>video</code> elements.<p class="XXX">This again will be pinned down to a specific codec,
+ frame dimension, and bitrate in due course.</p><!--START vCard--><!--START vEvent--><h2 class="no-num" id="references">References</h2><!--REFS--><!--END vCard--><!--END vEvent--><p>All references are normative unless marked "Non-normative".</p><!--START vCard--><!--START vEvent--><dl><dt id="refsFILEAPI">[FILEAPI]</dt>
+ <dd><cite><a href="http://dev.w3.org/2006/webapi/FileUpload/publish/FileAPI.html">File
+ API</a></cite>, A. Ranganathan. W3C, August 2009.</dd>
+
+ <dt id="refsHTML5">[HTML5]</dt>
<!--
<dd><cite><a href="http://www.w3.org/TR/html5/">HTML5</a></cite>,
I. Hickson, D. Hyatt. W3C, April 2009.</dd>
Received on Tuesday, 15 December 2009 22:58:42 UTC