- From: poot <cvsmail@w3.org>
- Date: Thu, 26 Feb 2009 18:19:02 +0900 (JST)
- To: public-html-diffs@w3.org
video: Use better terminology; make all invokations of the resource
selection algorithm async; fix the problem whereby you could get that
algorithm running twice on one element; add a missing loop step.
(credit: cp) (whatwg r2873)
play()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-play
media element event task source
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#media-element-event-task-source
progress
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#event-progress
4.8.10.5 Loading the media resource
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#loading-the-media-resource
emptied
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#event-emptied
If the media data can be fetched but has non-fatal errors or uses, in part, codecs that are unsupported, preventing the user agent from rendering the content completely correctly but not preventing playback altogether
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#non-fatal-media-error
Audio()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-audio
currentSrc
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-currentsrc
loadstart
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#event-loadstart
Index
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#index
load()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-load
NETWORK_NO_SOURCE
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-network_no_source
autobuffer
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#attr-media-autobuffer
src
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-src
stalled
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#event-stalled
NETWORK_LOADED
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-network_loaded
4.8.10.1 Error codes
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#error-codes
4.8.10.13 Event summary
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#mediaevents
resource fetch algorithm
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#concept-media-load-resource
pause()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-pause
resource selection algorithm
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#concept-media-load-algorithm
error
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-error
NETWORK_EMPTY
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-network_empty
error
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#event-error
If the media data is corrupted
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#fatal-decode-error
4.8.8.1 Audio codecs for audio elements
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#audio-codecs-for-audio-elements
4.8.9 The source element
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#the-source-element
NETWORK_IDLE
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#dom-media-network_idle
Queue a task to fire a simple event called loadedmetadata at the element.
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#fire-loadedmetadata
4.8.10.3 Media types
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#media-types
MediaError
http://people.w3.org/mike/diffs/html5/spec/Overview.1.2046.html#mediaerror
http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.2045&r2=1.2046&f=h
http://html5.org/tools/web-apps-tracker?from=2872&to=2873
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.2045
retrieving revision 1.2046
diff -u -d -r1.2045 -r1.2046
--- Overview.html 26 Feb 2009 08:50:23 -0000 1.2045
+++ Overview.html 26 Feb 2009 09:15:44 -0000 1.2046
@@ -14619,8 +14619,9 @@
these must return a new <code><a href=#htmlaudioelement>HTMLAudioElement</a></code> object (a new
<code><a href=#audio>audio</a></code> element). If the <var title="">src</var> argument
is present, the object created must have its <code title=dom-media-src><a href=#dom-media-src>src</a></code> content attribute set to the
- provided value, and the user agent must invoke the object's <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a> before
- returning.<h5 id=audio-codecs-for-audio-elements><span class=secno>4.8.8.1 </span>Audio codecs for <code><a href=#audio>audio</a></code> elements</h5><p>User agents may support any audio codecs and container
+ provided value, and the user agent must asynchronously invoke the
+ object's <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource
+ selection algorithm</a> before returning.<h5 id=audio-codecs-for-audio-elements><span class=secno>4.8.8.1 </span>Audio codecs for <code><a href=#audio>audio</a></code> elements</h5><p>User agents may support any audio codecs and container
formats.<p>User agents must support the WAVE container format with audio
encoded using the PCM format. <!-- XXX references? #refs --> </p><!-- XXX mention that this spec doesn't require native support or
plugin support, either is fine --><h4 id=the-source-element><span class=secno>4.8.9 </span>The <dfn><code>source</code></dfn> element</h4><dl class=element><dt>Categories</dt>
@@ -14851,11 +14852,10 @@
and its subsections is the <dfn id=media-element-event-task-source>media element event task
source</dfn>.<h5 id=error-codes><span class=secno>4.8.10.1 </span>Error codes</h5><p>All <a href=#media-element title="media element">media elements</a> have an
associated error status, which records the last error the element
- encountered since its <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a> was last
- invoked. The <dfn id=dom-media-error title=dom-media-error><code>error</code></dfn>
- attribute, on getting, must return the <code><a href=#mediaerror>MediaError</a></code>
- object created for this last error, or null if there has not been an
- error.<pre class=idl>interface <dfn id=mediaerror>MediaError</dfn> {
+ encountered since its <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
+ algorithm</a> was last invoked. The <dfn id=dom-media-error title=dom-media-error><code>error</code></dfn> attribute, on
+ getting, must return the <code><a href=#mediaerror>MediaError</a></code> object created for
+ this last error, or null if there has not been an error.<pre class=idl>interface <dfn id=mediaerror>MediaError</dfn> {
const unsigned short <a href=#dom-mediaerror-media_err_aborted title=dom-MediaError-MEDIA_ERR_ABORTED>MEDIA_ERR_ABORTED</a> = 1;
const unsigned short <a href=#dom-mediaerror-media_err_network title=dom-MediaError-MEDIA_ERR_NETWORK>MEDIA_ERR_NETWORK</a> = 2;
const unsigned short <a href=#dom-mediaerror-media_err_decode title=dom-MediaError-MEDIA_ERR_DECODE>MEDIA_ERR_DECODE</a> = 3;
@@ -14892,8 +14892,8 @@
<a href=#reflect>reflect</a> the respective content attribute of the same
name.<p>The <dfn id=dom-media-currentsrc title=dom-media-currentSrc><code>currentSrc</code></dfn> DOM
attribute is initially the empty string. Its value is changed by the
- <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a>
- defined below.<p class=note>There are two ways to specify a <a href=#media-resource>media
+ <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
+ algorithm</a> defined below.<p class=note>There are two ways to specify a <a href=#media-resource>media
resource</a>, the <code title=attr-media-src><a href=#attr-media-src>src</a></code>
attribute, or <code><a href=#the-source-element>source</a></code> elements. The attribute overrides
the elements.<h5 id=media-types><span class=secno>4.8.10.3 </span>Media types</h5><p>A <a href=#media-resource>media resource</a> can be described in terms of its
@@ -14961,7 +14961,7 @@
<dt><dfn id=dom-media-network_idle title=dom-media-NETWORK_IDLE><code>NETWORK_IDLE</code></dfn> (numeric value 1)</dt>
- <dd>The element's <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ <dd>The element's <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a> is active and has selected a resource, but it is
not actually using the network at this time.</dd>
@@ -14977,11 +14977,11 @@
<dt><dfn id=dom-media-network_no_source title=dom-media-NETWORK_NO_SOURCE><code>NETWORK_NO_SOURCE</code></dfn> (numeric value 4)</dt>
- <dd>The element's <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ <dd>The element's <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a> is active, but it has failed to find a resource to
use.</dd>
- </dl><p>The <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ </dl><p>The <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a> defined below describes exactly when the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute changes
value and what events fire to indicate changes in this state.<p class=note>Some resources, e.g. streaming Web radio, can never
reach the <code title=dom-media-NETWORK_LOADED><a href=#dom-media-network_loaded>NETWORK_LOADED</a></code> state.<h5 id=loading-the-media-resource><span class=secno>4.8.10.5 </span>Loading the media resource</h5><p>All <a href=#media-element title="media element">media elements</a> have an
@@ -14996,8 +14996,8 @@
this element is already being invoked, then abort these
steps.</li>
- <li><p>Abort any already-running instance of the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a> for this
- element.</li>
+ <li><p>Abort any already-running instance of the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
+ algorithm</a> for this element.</li>
<li>
@@ -15066,7 +15066,8 @@
</ol></li>
- <li><p>Asynchronously invoke the <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a>.</li>
+ <li><p>Asynchronously invoke the <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
+ algorithm</a>.</li>
<li>
@@ -15075,12 +15076,21 @@
</li>
- </ol><p>The <dfn id=concept-media-load-algorithm title=concept-media-load-algorithm>load
+ </ol><p>The <dfn id=concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</dfn> for a <a href=#media-element>media element</a> is as follows. This
algorithm is always invoked asynchronously, meaning that it runs in
- the background with scripts and other <a href=#concept-task title=concept-task>tasks</a> running in parallel.<ol><li><p>While the <a href=#media-element>media element</a> has neither a <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute nor any
- <code><a href=#the-source-element>source</a></code> element children, wait. (This steps might wait
- forever.)</li>
+ the background with scripts and other <a href=#concept-task title=concept-task>tasks</a> running in parallel.<ol><li>
+
+ <p>If the <a href=#media-element>media element</a> has neither a <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute nor any
+ <code><a href=#the-source-element>source</a></code> element children, run these substeps:</p>
+
+ <ol><li><p>Set the <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> to <code title=dom-media-NETWORK_NO_SOURCE><a href=#dom-media-network_no_source>NETWORK_NO_SOURCE</a></code>.</li>
+
+ <li><p>While the <a href=#media-element>media element</a> has neither a <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute nor any
+ <code><a href=#the-source-element>source</a></code> element children, wait. (This steps might
+ wait forever.)</li>
+
+ </ol></li>
<li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a>
to true. This <a href=#delay-the-load-event title="delay the load event">delays the load
@@ -15101,7 +15111,7 @@
<a href=#url>URL</a> given in that attribute, relative to the
<a href=#media-element>media element</a>.</p>
- <li><p>If that is successful, then run the <a href=#concept-media-load-resource title=concept-media-load-resource>resource-load
+ <li><p>If that is successful, then run the <a href=#concept-media-load-resource title=concept-media-load-resource>resource fetch
algorithm</a> with the resulting <a href=#absolute-url>absolute URL</a>. If
that algorithm returns without aborting <em>this</em> one, then
the load failed.</li>
@@ -15226,7 +15236,7 @@
in case it was set to <code title=dom-media-NETWORK_NO_SOURCE><a href=#dom-media-network_no_source>NETWORK_NO_SOURCE</a></code>
above.</li>
- <li><p>Run the <a href=#concept-media-load-resource title=concept-media-load-resource>resource-load
+ <li><p>Run the <a href=#concept-media-load-resource title=concept-media-load-resource>resource fetch
algorithm</a> with the <a href=#absolute-url>absolute URL</a> that resulted
from <a href=#resolve-a-url title="resolve a url">resolving</a> the
<a href=#url>URL</a> given by the <var title="">candidate</var>
@@ -15261,9 +15271,11 @@
event">delays the load event</a> again, in case it hasn't gone
been fired yet.</li>
+ <li><p>Jump back to the step labeled <i>search loop</i>.</li>
+
</ol></li>
- </ol><p>The <dfn id=concept-media-load-resource title=concept-media-load-resource>resource-load
+ </ol><p>The <dfn id=concept-media-load-resource title=concept-media-load-resource>resource fetch
algorithm</dfn> for a <a href=#media-element>media element</a> and a given
<a href=#absolute-url>absolute URL</a> is as follows:<ol><li><p>Let the <var title="">current media resource</var> be the
resource given by the <a href=#absolute-url>absolute URL</a> passed to this
@@ -15346,7 +15358,8 @@
<ol><li><p>The user agent should cancel the fetching
process.</li>
- <li><p>Abort this subalgorithm, returning to the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a>.</p>
+ <li><p>Abort this subalgorithm, returning to the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
+ algorithm</a>.</p>
</ol></dd>
@@ -15448,7 +15461,7 @@
flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load
event">delaying the load event</a>.</li>
- <li><p>Abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ <li><p>Abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a>.</li>
</ol></dd>
@@ -15483,7 +15496,7 @@
flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load
event">delaying the load event</a>.</li>
- <li><p>Abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ <li><p>Abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a>.</li>
</ol></dd>
@@ -15525,7 +15538,7 @@
flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load
event">delaying the load event</a>.</li>
- <li><p>Abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ <li><p>Abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a>.</li>
</ol></dd>
@@ -15561,13 +15574,14 @@
called <code title=event-load><a href=#event-load>load</a></code> at the
element.</li>
- <li><p>Then, abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ <li><p>Then, abort the overall <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a>.</li>
</ol><p>If a <a href=#media-element>media element</a> whose <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> has the value
<code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted into a
document</a>, the user agent must asynchronously invoke the
- <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a>.<p>The <dfn id=attr-media-autobuffer title=attr-media-autobuffer><code>autobuffer</code></dfn>
+ <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
+ algorithm</a>.<p>The <dfn id=attr-media-autobuffer title=attr-media-autobuffer><code>autobuffer</code></dfn>
attribute is a <a href=#boolean-attribute>boolean attribute</a>. Its presence hints to
the user agent that the author believes that the <a href=#media-element>media
element</a> will likely be used, even though the element does not
@@ -15925,7 +15939,8 @@
method on a <a href=#media-element>media element</a> is invoked, the user agent
must run the following steps.<ol><li><p>If the <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute has
the value <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code>, then the user
- agent must invoke the <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ agent must asynchronously invoke the <a href=#media-element>media element</a>'s
+ <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a>.</li>
<li>
@@ -15979,7 +15994,8 @@
</ol><hr><p>When the <dfn id=dom-media-pause title=dom-media-pause><code>pause()</code></dfn>
method is invoked, the user agent must run the following steps:<ol><li><p>If the <a href=#media-element>media element</a>'s <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> attribute has
the value <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code>, then the user
- agent must invoke the <a href=#media-element>media element</a>'s <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load
+ agent must asynchronously invoke the <a href=#media-element>media element</a>'s
+ <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection
algorithm</a>.</li>
<li><p>If the <a href=#media-element>media element</a>'s <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute is false, it must
@@ -16268,7 +16284,7 @@
<tbody><tr><td><dfn id=event-loadstart title=event-loadstart><code>loadstart</code></dfn>
<td><code>ProgressEvent</code> <a href=#references>[PROGRESS]</a>
- <td>The user agent begins looking for <a href=#media-data>media data</a>, as part of the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a>.
+ <td>The user agent begins looking for <a href=#media-data>media data</a>, as part of the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection algorithm</a>.
<td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals <code title=dom-media-NETWORK_LOADING><a href=#dom-media-network_loading>NETWORK_LOADING</a></code>
<tr><td><dfn id=event-progress title=event-progress><code>progress</code></dfn>
<td><code>ProgressEvent</code> <a href=#references>[PROGRESS]</a>
@@ -16294,7 +16310,7 @@
<code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> equals either <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> or <code title=dom-media-NETWORK_LOADED><a href=#dom-media-network_loaded>NETWORK_LOADED</a></code>, depending on when the download was aborted.
<tr><td><dfn id=event-emptied title=event-emptied><code>emptied</code></dfn>
<td><code>Event</code>
- <td>A <a href=#media-element>media element</a> whose <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> was previously not in the <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method was invoked while the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>load algorithm</a> was already running, in which case it is fired synchronously during the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method call).
+ <td>A <a href=#media-element>media element</a> whose <code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> was previously not in the <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code> state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method was invoked while the <a href=#concept-media-load-algorithm title=concept-media-load-algorithm>resource selection algorithm</a> was already running, in which case it is fired synchronously during the <code title=dom-media-load><a href=#dom-media-load>load()</a></code> method call).
<td><code title=dom-media-networkState><a href=#dom-media-networkstate>networkState</a></code> is <code title=dom-media-NETWORK_EMPTY><a href=#dom-media-network_empty>NETWORK_EMPTY</a></code>; all the DOM attributes are in their initial states.
<tr><td><dfn id=event-stalled title=event-stalled><code>stalled</code></dfn>
<td><code>ProgressEvent</code>
@@ -49063,23 +49079,23 @@
Lawson, Bruce Miller, Cameron McCormack, Cao Yipeng, Carlos
Perelló Marín, Chao Cai, 윤석찬
(Channy Yun), Charl van Niekerk, Charles Iliya Krempeaux, Charles
- McCathieNevile, Christian Biesinger, Christian Johansen, Christian
- Schmidt, Chriswa, Cole Robison, Colin Fine, Collin Jackson, Daniel
- Barclay, Daniel Brumbaugh Keeney, Daniel Glazman, Daniel Peng,
- Daniel Spång, Daniel Steinberg, Danny Sullivan, Darin Adler,
- Darin Fisher, Dave Camp, Dave Singer, Dave Townsend<!-- Mossop on
- moz irc -->, David Baron, David Bloom, David Carlisle, David
- Flanagan, David Håsäther, David Hyatt, David Smith, David
- Woolley, Dean Edridge, Debi Orton, Derek Featherstone, DeWitt
- Clinton, Dimitri Glazkov, dolphinling, Doron Rosenberg, Doug Kramer,
- Edward O'Connor, Edward Z. Yang, Eira Monstad, Elliotte Harold, Eric
- Carlson, Eric Law, Erik Arvidsson, Evan Martin, Evan Prodromou,
- fantasai, Felix Sasaki, Franck 'Shift' Quélain, Garrett
- Smith, Geoffrey Garen, Geoffrey Sneddon, George Lund, Håkon
- Wium Lie, Hans S. Tømmerhalt, Henri Sivonen, Henrik Lied,
- Henry Mason, Hugh Winkler, Ignacio Javier, Ivo Emanuel
- Gonçalves, J. King, Jacques Distler, James Craig, James
- Graham, James Justin Harrell, James M Snell, James Perrett,
+ McCathieNevile, Chris Pearce, Christian Biesinger, Christian
+ Johansen, Christian Schmidt, Chriswa, Cole Robison, Colin Fine,
+ Collin Jackson, Daniel Barclay, Daniel Brumbaugh Keeney, Daniel
+ Glazman, Daniel Peng, Daniel Spång, Daniel Steinberg, Danny
+ Sullivan, Darin Adler, Darin Fisher, Dave Camp, Dave Singer, Dave
+ Townsend<!-- Mossop on moz irc -->, David Baron, David Bloom, David
+ Carlisle, David Flanagan, David Håsäther, David Hyatt,
+ David Smith, David Woolley, Dean Edridge, Debi Orton, Derek
+ Featherstone, DeWitt Clinton, Dimitri Glazkov, dolphinling, Doron
+ Rosenberg, Doug Kramer, Edward O'Connor, Edward Z. Yang, Eira
+ Monstad, Elliotte Harold, Eric Carlson, Eric Law, Erik Arvidsson,
+ Evan Martin, Evan Prodromou, fantasai, Felix Sasaki, Franck 'Shift'
+ Quélain, Garrett Smith, Geoffrey Garen, Geoffrey Sneddon,
+ George Lund, Håkon Wium Lie, Hans S. Tømmerhalt, Henri
+ Sivonen, Henrik Lied, Henry Mason, Hugh Winkler, Ignacio Javier, Ivo
+ Emanuel Gonçalves, J. King, Jacques Distler, James Craig,
+ James Graham, James Justin Harrell, James M Snell, James Perrett,
Jan-Klaas Kollhof, Jason White, Jasper Bryant-Greene, Jed Hartman,
Jeff Cutsinger, Jeff Schiller, Jeff Walden, Jens Bannmann, Jens
Fendler, Jeroen van der Meer, Jim Jewett, Jim Meehan, Joe Clark,
Received on Thursday, 26 February 2009 09:19:42 UTC