26 "url_transform", |
26 "url_transform", |
27 ], |
27 ], |
28 _opts = {}, |
28 _opts = {}, |
29 _types = [ |
29 _types = [ |
30 { |
30 { |
31 regexp: /^rtmp:\/\//, |
|
32 type: "JwpPlayer", |
|
33 }, |
|
34 { |
|
35 regexp: /\.(mp4|m4v|mp3)$/, |
31 regexp: /\.(mp4|m4v|mp3)$/, |
36 type: "AdaptivePlayer", |
32 type: "AdaptivePlayer", |
37 }, |
33 }, |
38 { |
34 { |
39 regexp: /\.(ogg|ogv|webm)$/, |
35 regexp: /\.(ogg|ogv|webm)$/, |
40 type: "HtmlPlayer", |
36 type: "HtmlPlayer", |
41 }, |
37 }, |
42 { |
38 { |
43 regexp: /^(https?:\/\/)?(www\.)?youtube\.com/, |
39 regexp: /^(https?:\/\/)?(www\.)?youtube\.com/, |
44 type: "PopcornPlayer", |
40 type: "VideojsPlayer", |
45 }, |
41 }, |
46 { |
42 { |
47 regexp: /^(https?:\/\/)?(www\.)?vimeo\.com/, |
43 regexp: /^(https?:\/\/)?(www\.)?vimeo\.com/, |
48 type: "PopcornPlayer", |
44 type: "VideojsPlayer", |
49 }, |
45 }, |
50 { |
46 { |
51 regexp: /^(https?:\/\/)?(www\.)?dailymotion\.com/, |
47 regexp: /^(https?:\/\/)?(www\.)?dailymotion\.com/, |
52 type: "DailymotionPlayer", |
48 type: "DailymotionPlayer", |
53 }, |
49 }, |
54 ], |
50 ] |
55 _rtmprgx = /^rtmp:\/\//; |
|
56 |
51 |
57 for (var i = 0; i < _types.length; i++) { |
52 if(this.video) { |
58 if (this.video && _types[i].regexp.test(this.video.toLowerCase())) { |
53 for (var i = 0; i < _types.length; i++) { |
59 _opts.type = _types[i].type; |
54 if (_types[i].regexp.test(this.video.toLowerCase())) { |
60 break; |
55 _opts.type = _types[i].type; |
|
56 break; |
|
57 } |
61 } |
58 } |
62 } |
59 } |
63 |
60 |
64 if (typeof _opts.type === "undefined") { |
61 if (typeof _opts.type === "undefined") { |
65 _opts.type = this.default_type; |
62 _opts.type = this.default_type; |
70 .createElement("video") |
67 .createElement("video") |
71 .canPlayType('video/mp4; codecs="avc1.42E01E"'); |
68 .canPlayType('video/mp4; codecs="avc1.42E01E"'); |
72 _opts.type = _canPlayType !== "no" ? "HtmlPlayer" : "JwpPlayer"; |
69 _opts.type = _canPlayType !== "no" ? "HtmlPlayer" : "JwpPlayer"; |
73 } |
70 } |
74 |
71 |
75 if (_rtmprgx.test(this.video)) { |
|
76 _opts.provider = "rtmp"; |
|
77 _opts.live = true; |
|
78 } |
|
79 |
|
80 for (var i = 0; i < _props.length; i++) { |
72 for (var i = 0; i < _props.length; i++) { |
81 if (typeof this[_props[i]] !== "undefined") { |
73 if (typeof this[_props[i]] !== "undefined") { |
82 _opts[_props[i]] = this[_props[i]]; |
74 _opts[_props[i]] = this[_props[i]]; |
83 } |
75 } |
84 } |
76 } |