7 IriSP.Widgets.AutoPlayer.prototype.defaults = { |
7 IriSP.Widgets.AutoPlayer.prototype.defaults = { |
8 default_type: "JwpPlayer" |
8 default_type: "JwpPlayer" |
9 }; |
9 }; |
10 |
10 |
11 IriSP.Widgets.AutoPlayer.prototype.draw = function() { |
11 IriSP.Widgets.AutoPlayer.prototype.draw = function() { |
12 |
12 |
13 if (typeof this.video === "undefined") { |
13 if (typeof this.video === "undefined") { |
14 this.video = this.media.video; |
14 this.video = this.media.video; |
15 } |
15 } |
16 |
16 |
17 var _props = [ "live", "provider", "autostart", "streamer", "video", "height", "width", "url_transform" ], |
17 var _props = [ "live", "provider", "autostart", "streamer", "video", "height", "width", "url_transform" ], |
18 _opts = {}, |
18 _opts = {}, |
19 _types = [ |
19 _types = [ |
20 { |
20 { |
21 regexp: /^rtmp:\/\//, |
21 regexp: /^rtmp:\/\//, |
22 type: "JwpPlayer" |
22 type: "JwpPlayer" |
23 }, |
23 }, |
24 { |
24 { |
25 regexp: /\.(mp4|m4v)$/, |
25 regexp: /\.(mp4|m4v|mp3)$/, |
26 type: "AdaptivePlayer" |
26 type: "AdaptivePlayer" |
27 }, |
27 }, |
28 { |
28 { |
29 regexp: /\.(ogg|ogv|webm)$/, |
29 regexp: /\.(ogg|ogv|webm)$/, |
30 type: "HtmlPlayer" |
30 type: "HtmlPlayer" |
41 regexp: /^(https?:\/\/)?(www\.)?dailymotion\.com/, |
41 regexp: /^(https?:\/\/)?(www\.)?dailymotion\.com/, |
42 type: "DailymotionPlayer" |
42 type: "DailymotionPlayer" |
43 } |
43 } |
44 ], |
44 ], |
45 _rtmprgx = /^rtmp:\/\//; |
45 _rtmprgx = /^rtmp:\/\//; |
46 |
46 |
47 for (var i = 0; i < _types.length; i++) { |
47 for (var i = 0; i < _types.length; i++) { |
48 if (_types[i].regexp.test(this.video)) { |
48 if (this.video && _types[i].regexp.test(this.video.toLowerCase())) { |
49 _opts.type = _types[i].type; |
49 _opts.type = _types[i].type; |
50 break; |
50 break; |
51 } |
51 } |
52 } |
52 } |
53 |
53 |
54 if (typeof _opts.type === "undefined") { |
54 if (typeof _opts.type === "undefined") { |
55 _opts.type = this.default_type; |
55 _opts.type = this.default_type; |
56 } |
56 } |
57 |
57 |
58 if (_opts.type === "AdaptivePlayer") { |
58 if (_opts.type === "AdaptivePlayer") { |
59 var _canPlayType = document.createElement('video').canPlayType('video/mp4; codecs="avc1.42E01E"'); |
59 var _canPlayType = document.createElement('video').canPlayType('video/mp4; codecs="avc1.42E01E"'); |
60 _opts.type = (_canPlayType !== "no") ? "HtmlPlayer" : "JwpPlayer"; |
60 _opts.type = (_canPlayType !== "no") ? "HtmlPlayer" : "JwpPlayer"; |
61 } |
61 } |
62 |
62 |
63 if (_rtmprgx.test(this.video)) { |
63 if (_rtmprgx.test(this.video)) { |
64 _opts.provider = "rtmp"; |
64 _opts.provider = "rtmp"; |
65 _opts.live = true; |
65 _opts.live = true; |
66 } |
66 } |
67 |
67 |
68 for (var i = 0; i < _props.length; i++) { |
68 for (var i = 0; i < _props.length; i++) { |
69 if (typeof this[_props[i]] !== "undefined") { |
69 if (typeof this[_props[i]] !== "undefined") { |
70 _opts[_props[i]] = this[_props[i]]; |
70 _opts[_props[i]] = this[_props[i]]; |
71 } |
71 } |
72 } |
72 } |
73 |
73 |
74 this.insertSubwidget(this.$, _opts); |
74 this.insertSubwidget(this.$, _opts); |
75 |
75 |
76 }; |
76 }; |