web/res/metadataplayer/AutoPlayer.js
changeset 719 d0d3a9369f84
parent 694 e9400c80e1e4
child 765 8cde4d15a173
--- 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);