Last modified: 2011-11-21 09:22:58 UTC
Safari without any components like XiphQt/WebMComponents/Perian installed only supports Cortado(Java). This is not detected properly right now. Loading a video in Safari it tries to embed it as <video> document.createElement('video').canPlayType('video/ogg') properly returns ''
this is caused by MwEmbedModules/EmbedPlayer/resources/mw.EmbedTypes.js: // older versions of safari do not support canPlayType, // but xiph qt registers mimetype via quicktime plugin } else if ( this.supportedMimeType( 'video/ogg' ) ) { the computer still reports video/ogg support in the QuickTime plugin but does not play it back. Might be better to not trust QuickTime and only check if canPlayType works.
j^ - are you indicating that it's showing a *false positive* claiming to support video/ogg when it in fact does not? On my MacBook Pro (OS X 10.7.2), without XiphQT, if I duplicate that supportedMimeType function I get a 'false' for 'video/ogg' and a 'true' for 'video/mp4' -- which is what I expect, but apparently not what you get... Bug 20258 covers what sounds like a similar issue under OggHandler... but sounds kinda backwards -- that's where we *have* XiphQT installed but don't identify it. Perhaps you had them installed in the past, and the entries are still in QuickTime's MIME registrations?
Testing on 10.6.8 with Safari 5.1.1: With XiphQt/WebMComponent/Perian installed in Safari: document.createElement('video') .canPlayType('video/ogg codec="theora,vorbis"') properly returns 'maybe' removing components from /Library/Components, /Library/QuickTime and restarting Safari document.createElement('video') .canPlayType('video/ogg codec="theora,vorbis"') properly returns '' So this works as expected. supportedMimeType('video/ogg') on the other hand keeps reporting true (after XiphQt was installed once?). I can see no way to reset this. So unless there was a know reason to do this supportedMimeType fallback check, I would remove it.
I think we can remove the mime check fallback. It was for an old version of safari and old version of the component. Other parts of the code base are dependent on modern html5 implementations.