diff -r 930e6ee2dca1 -r d0d3a9369f84 web/res/metadataplayer/AutoPlayer.js --- a/web/res/metadataplayer/AutoPlayer.js Thu Nov 15 13:12:29 2012 +0100 +++ b/web/res/metadataplayer/AutoPlayer.js Wed Nov 28 13:19:48 2012 +0100 @@ -18,6 +18,14 @@ _opts = {}, _types = [ { + regexp: /^rtmp:\/\//, + type: "JwpPlayer" + }, + { + regexp: /\.(mp4|m4v)$/, + type: "AdaptivePlayer" + }, + { regexp: /\.(ogg|ogv|webm)$/, type: "PopcornPlayer" }, @@ -33,11 +41,13 @@ regexp: /^(https?:\/\/)?(www\.)?dailymotion\.com/, type: "DailymotionPlayer" } - ]; + ], + _rtmprgx = /^rtmp:\/\//; for (var i = 0; i < _types.length; i++) { if (_types[i].regexp.test(this.video)) { - _opts.type = _types[i].type + _opts.type = _types[i].type; + break; } } @@ -45,12 +55,21 @@ _opts.type = this.default_type } + if (_opts.type === "AdaptivePlayer") { + var _canPlayType = document.createElement('video').canPlayType("video/mp4"); + _opts.type = (_canPlayType == "maybe" || _canPlayType == "probably") ? "PopcornPlayer" : "JwpPlayer"; + } + + if (_rtmprgx.test(this.video)) { + _opts.provider = "rtmp"; + _opts.live = true; + } + for (var i = 0; i < _props.length; i++) { if (typeof this[_props[i]] !== "undefined") { _opts[_props[i]] = this[_props[i]]; } } - this.insertSubwidget(this.$, _opts);