Can someone explain to me how this works, given Aryeh's response above? Surely if the iPhone can determine its capacity to be able to play a video file, other UAs could do likewise and fall back on the content accordingly as UAs with zero <video> support do?

I know nothing about the iPhone, but any UA can know if it can play a resource or not simply by trying and adjusting the UI as appropriate. One *could* use the same hooks to display fallback content in those cases, but it is a very bad idea. Apart from the things Aryeh mention, because of how the resource selection algorithm works, you can never know if there will be a playable resource later, so there's no point where it's appropriate to show the fallback content. The only remaining option is flip-flopping between replaced content (video) and fallback content, which don't want (especially considering that the fallback content is likely to contain <object> for Flash or some other legacy fallback).

How about making end of selection algorithm explicit?

Something like video.imDoneWithSourcesEitherPlayOrShowFallback() method, which upon failure permanently locks <video> in fallback state (to avoid flip-flopping).

or a special source that, if selected, triggers fallback:

<video>
        <source src=file>
        <source fallback> (or <source src="#fallback">?)
</video>

--
regards, Kornel

Reply via email to