Updated AutoPlayer
authorveltr
Mon, 05 Nov 2012 19:15:12 +0100
changeset 891 c45987bbfb4e
parent 890 c15f3985e242
child 892 4dcd83e962ac
child 894 c430d169ecc3
Updated AutoPlayer
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html
src/ldt/ldt/static/ldt/metadataplayer/AutoPlayer.js
src/ldt/ldt/static/ldt/metadataplayer/LdtPlayer-core.js
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html	Mon Nov 05 18:48:47 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html	Mon Nov 05 19:15:12 2012 +0100
@@ -34,11 +34,10 @@
     },
     widgets: [
         {
+            type: "AutoPlayer",
     {% if external_url %}
-            type: "AutoPlayer",
             video: "{{ external_url }}",
     {% else %}
-            type: "JwpPlayer",
             streamer: function(_url) {
                 var _matches = _url.match(/^[^\/]+\/\/[^\/]+\/[^\/]+\//);
                 if (_matches) {
@@ -47,8 +46,6 @@
                     return _url;
                 }
             },
-            live: true,
-            provider: "rtmp",
     {% endif %}
             height: 300,
             autostart: true
--- a/src/ldt/ldt/static/ldt/metadataplayer/AutoPlayer.js	Mon Nov 05 18:48:47 2012 +0100
+++ b/src/ldt/ldt/static/ldt/metadataplayer/AutoPlayer.js	Mon Nov 05 19:15:12 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,16 @@
         _opts.type = this.default_type
     }
     
+    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);
     
--- a/src/ldt/ldt/static/ldt/metadataplayer/LdtPlayer-core.js	Mon Nov 05 18:48:47 2012 +0100
+++ b/src/ldt/ldt/static/ldt/metadataplayer/LdtPlayer-core.js	Mon Nov 05 19:15:12 2012 +0100
@@ -590,7 +590,7 @@
     var _hms = this.getHMS(),
         _res = '';
     if (_hms.hours) {
-        _res += pad(_hms.hours) + ':'
+        _res += _hms.hours + ':'
     }
     _res += pad(_hms.minutes) + ':' + pad(_hms.seconds);
     return _res;
@@ -853,11 +853,17 @@
 Model.Annotation.prototype = new Model.Element();
 
 Model.Annotation.prototype.setBegin = function(_beginMs) {
-    this.begin.setMilliseconds(_beginMs);
+    this.begin.setMilliseconds(Math.max(0,_beginMs));
+    this.trigger("change-begin");
 }
 
-Model.Annotation.prototype.setEnd = function(_beginMs) {
-    this.end.setMilliseconds(_beginMs);
+Model.Annotation.prototype.setEnd = function(_endMs) {
+    this.end.setMilliseconds(Math.min(_endMs));
+    this.trigger("change-end");
+}
+
+Model.Annotation.prototype.setDuration = function(_durMs) {
+    this.setEnd(_durMs + this.begin.milliseconds);
 }
 
 Model.Annotation.prototype.setMedia = function(_idRef) {