--- 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) {