On Sun, Jul 12, 2009 at 3:44 AM, Philip Jägenstedt <span dir="ltr"><<a href="mailto:philipj@opera.com">philipj@opera.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Sat, 11 Jul 2009 14:38:02 +0200, Robert O'Callahan <<a href="mailto:robert@ocallahan.org" target="_blank">robert@ocallahan.org</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
On Sat, Jul 11, 2009 at 11:51 PM, Philip Jägenstedt <<a href="mailto:philipj@opera.com" target="_blank">philipj@opera.com</a>>wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Yes, I'm saying that when codecs are provided true means "probably" and<br>
otherwise it means "maybe", because the distinction is pointless.<br>
<br>
</blockquote>
<br>
IIRC some browsers using system media frameworks don't know what codecs they<br>
support, so they still need to be able to answer "maybe" when codecs are<br>
provided; you still need a three-valued result.<br>
</blockquote>
<br></div>
Opera is one such browser (when using GStreamer), but even if we return "maybe" for "video/ogg; codecs=uncertain-codec", what could be done with the information?</blockquote><div><br>Reject that type in favour of a type for which canPlayType returns "probably", or reject that type in favour of plugin-based fallback.<br>
<br>System media frameworks need to start exposing which codecs they support, if they don't already. In the meantime, you can probably identify a minimal set of codecs that the framework definitely supports.<br><br></div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><br><div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

I still think it would confuse authors if you return true for canPlayType(T)<br>
and false for canPlayType(U) where U is a subset of T.<br>
</blockquote>
<br></div><br>

"video/ogg; codecs=vorbis" (U) is not a subset of "video/ogg" (T) as the codecs in T is the empty set, not the set of all codecs.<div><div></div></div></blockquote><div> </div></div>No, "video/ogg" means the codecs are unspecified, not that no codecs are used. As soon as you add a "codecs" parameter, you are promising that those are all the codecs needed by the file. So every file that's "video/ogg; codecs=vorbis" is also "video/ogg".<br clear="all">
<br>Rob<br>-- <br>"He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all." [Isaiah 53:5-6]<br>