fix videosupport

This commit is contained in:
j 2011-04-23 21:33:01 +02:00
commit 3b7b1deb32
2 changed files with 14 additions and 5 deletions

View file

@ -1,19 +1,29 @@
// vim: et:ts=4:sw=4:sts=4:ft=js
jQuery.support.video = function() {
jQuery.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
var video = {};
var v = document.createElement('video');
if (v) {
video.support = true;
//get supported types
video.webm = !!(v.canPlayType && v.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/, ''));
video.h264 = !!(v.canPlayType && v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/, ''));
video.ogg = !!(v.canPlayType && v.canPlayType('video/ogg; codecs="theora, vorbis"').replace(/no/, ''));
//Disable WebM on Safari/Perian, seeking does not work
if(video.webm && /safari/.test(navigator.userAgent.toLowerCase()) && ! /linux/.test(navigator.userAgent.toLowerCase())) {
if(!jQuery.browser.chrome &&
video.webm &&
/safari/.test(navigator.userAgent.toLowerCase()) &&
!/linux/.test(navigator.userAgent.toLowerCase())) {
video.webm = false;
}
video.h264 = !!(v.canPlayType && v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/, ''));
if(jQuery.browser.chrome && video.webm)
//use webm if possible
if(jQuery.browser.chrome && video.webm) {
video.h264 = false;
}
//aliases
video.mp4 = video.h264;
video.ogg = !!(v.canPlayType && v.canPlayType('video/ogg; codecs="theora, vorbis"').replace(/no/, ''));
video.ogv = video.ogg;
} else {
video.support = false;