Do you have an idea on how to introduce fall back support for browsers that don't even support <canvas>, how will they be expected to implement a base64 string when they skip the element's attributes?<div><br>
</div><div>Might a <img> tag work with the src="" set to the same string as the base64? Or would that contradict the point of allowing <video>, <audio>, and <canvas> the extra abilities? Because if people can just use the <img> tag which is more comfortable to them, why would they feel the urge to switch?<br>
<br><div class="gmail_quote">On Thu, Jul 2, 2009 at 8:51 PM, Charles Pritchard <span dir="ltr"><<a href="mailto:chuck@jumis.com">chuck@jumis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I'd like to see some progress on these two tags.<br>
<br>
I'd like people to consider that Vorbis can be implemented<br>
in virtual machines (Java, Flash) which support raw PCM data.<br>
Theora is no different.<br>
<br>
I'd like to see <canvas> support added to the <video> tag (it's as natural as <img>).<br>
and enable the <audio> tag to accept raw data lpcm),<br>
just as the <canvas> tag accepts raw data (bitmap).<br>
<br>
Then you can support any codec you create, as well as use system codecs.<br>
<br>
You can't make the impossible happen (no HD video on an old 300mhz machine),<br>
but you'd have the freedom to do the improbable.<br>
<br>
Add raw pcm and sound font support to <audio>,<br>
add raw pixel support to <video> (via CanvasRenderingContext2D).<br>
<br>
And add an event handler when subtitles are enabled / disabled.<br>
<br>
I have further, more specific comments, below.<br>
and at the end of the e-mail, two additions to the standard.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Ian Hickson wrote:<br>
I understand that people are disappointed that we can't require Theora support. I am disappointed in the lack of progress on this issue also.<br>
<br>
<br></div><div class="im">
On Tue, 30 Jun 2009, Dr. Markus Walther wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Having removed everything else in these sections, I figured there wasn't that much value in requiring PCM-in-Wave support. However, I will continue to work with browser vendors directly and try to get a common codec at least for audio, even if that is just PCM-in-Wave.<br>
<br>
</blockquote></blockquote></div></blockquote>
<br>
I'd think that FLAC would make more sense than PCM-in-Wave,<br>
as a PNG analog.<br>
<br>
Consider the <canvas> element. PNG implementations may be broken.<br>
Internally, <canvas> accepts a raw byte array, a 32 bit bitmap, and<br>
allows a string-based export of a compressed bitmap,<br>
as a base64 encoded 32 bit png.<br>
<br>
The <audio> element should accept a raw byte array, 32 bit per sample lpcm,<br>
and allow a similar export of base64 encoded file, perhaps using FLAC.<br>
<br>
Canvas can currently be used to render unsupported image formats (and mediate unsupported image containers),<br>
it's been proven with ActionScript that a virtual machine can also support otherwise unsupported audio codecs.<br>
<br>
I'd like to see a font analog in audio as well. Canvas supports the font attribute,<br>
audio could certainly support sound fonts. Use a generated pitch if your<br>
platform can't or doesn't store sound fonts.<div class="im"><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Please, please do so - I was shocked to read that PCM-in-Wave as the minimal 'consensus' container for audio is under threat of removal, too.<br>
<br>
</blockquote></blockquote></div>
There seems to be some confusion between codecs and containers.<br>
WAV, OGG, AVI and MKV are containers, OSC is another.<br>
<br>
Codecs are a completely separate matter.<br>
<br>
It's very clear that Apple will not distribute the Vorbis and Theora codecs<br>
with their software packages.<br>
<br>
It's likely that Apple would like to use a library they don't have to document,<br>
as required by most open source licenses, and they see no current reason to invest<br>
money into writing a new one. Apple supports many chipsets, and many content<br>
agreements, it would be costly.<br>
<br>
I see no reason why Apple could not support the OGG container.<br>
That said, I see no reason why a list of containers needs to be in the HTML 5 spec.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, 2 Jul 2009, Charles Pritchard wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Can the standard simply address video containers (OGG, MKV, AVI) ?<br>
Each container is fairly easy to implement and codecs can be identified within<br>
the container.<br>
Vendors can decide on their own what to do with that information.<br>
<br>
</blockquote>
<br>
The spec does document how to distinguish containers via MIME type. Beyond that I'm not sure what we can do.<br>
<br>
<video> does support fallback, so in practice you can just use Theora and H.264 and cover all bases.<br>
<br>
</blockquote>
<br></div>
I'd like to see this added to <audio> and <video>:<br>
<br>
"User agents should provide controls to enable the manual selection of fallback content."<br>
<br>
"User agents should provide an activation behavior, when fallback content is required, detailing why the primary content could not be used."<br>
<br>
Many non-technical users will want to know why there is a black screen (or still image), even though they can hear the audio.<br><font color="#888888">
<br>
<br>
-Charles<br>
<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>- Adam Shannon ( <a href="http://ashannon.us">http://ashannon.us</a> )<br>
</div>