web/res/metadataplayer/PopcornPlayer.js
changeset 1304 10974bff4dae
parent 955 5171f8825985
--- a/web/res/metadataplayer/PopcornPlayer.js	Fri Dec 11 18:11:13 2015 +0100
+++ b/web/res/metadataplayer/PopcornPlayer.js	Tue Dec 29 13:25:14 2015 +0100
@@ -10,26 +10,18 @@
 };
 
 IriSP.Widgets.PopcornPlayer.prototype.draw = function() {
-
-    
     if (typeof this.video === "undefined") {
         this.video = this.media.video;
     }
-    
+
     if (this.url_transform) {
         this.video = this.url_transform(this.video);
     }
-    
-    if (/^(https?:\/\/)?(www\.)?vimeo\.com/.test(this.video)) {
-        
-        /* VIMEO */
-        
-        var _popcorn = Popcorn.vimeo(this.container, this.video);
-        
-    } else if (/^(https?:\/\/)?(www\.)?youtube\.com/.test(this.video)) {
-        
+
+    var _url = this.video;
+
+    if (/^(https?:\/\/)?(www\.)?youtube\.com/.test(this.video)) {
         /* YOUTUBE */
-       
         var _urlparts = this.video.split(/[?&]/),
             _params = {};
         for (var i = 1; i < _urlparts.length; i++) {
@@ -42,97 +34,106 @@
             _params.autoplay = 1;
         }
         _url = _urlparts[0] + '?' + IriSP.jQuery.param(_params);
-        
-        var _popcorn = Popcorn.youtube(this.container, _url);
-        
-    } else {
-        
-        /* DEFAULT HTML5 */
-        
-        var _tmpId = IriSP._.uniqueId("popcorn"),
-            _videoEl = IriSP.jQuery('<video>');
-        _videoEl.attr({
-            id : _tmpId,
-            width : this.width,
-            height : this.height || undefined
-        });
-        if(typeof this.video === "string"){
-            _videoEl.attr("src",this.video);
-        } else {
-            for (var i = 0; i < this.video.length; i++) {
-                var _srcNode = IriSP.jQuery('<source>');
-                _srcNode.attr({
-                    src: this.video[i].src,
-                    type: this.video[i].type
-                });
-                _videoEl.append(_srcNode);
-            }
-        }
-        this.$.html(_videoEl);
-        var _popcorn = Popcorn("#" + _tmpId);
-        if (this.autostart || this.autoplay) {
-            _popcorn.autoplay(true);
-        }
+
+    }// else {
+    //     /* DEFAULT HTML5 */
+    //     var _tmpId = IriSP._.uniqueId("popcorn"),
+    //         _videoEl = IriSP.jQuery('<video>');
+    //     _videoEl.attr({
+    //         id : _tmpId,
+    //         width : this.width,
+    //         height : this.height || undefined
+    //     });
+    //     if(typeof this.video === "string"){
+    //         _videoEl.attr("src",this.video);
+    //     } else {
+    //         for (var i = 0; i < this.video.length; i++) {
+    //             var _srcNode = IriSP.jQuery('<source>');
+    //             _srcNode.attr({
+    //                 src: this.video[i].src,
+    //                 type: this.video[i].type
+    //             });
+    //             _videoEl.append(_srcNode);
+    //         }
+    //     }
+    //     this.$.html(_videoEl);
+    // }
+
+    var _popcorn = Popcorn.smart("#"+this.container, _url);
+
+    if (this.autostart || this.autoplay) {
+        _popcorn.autoplay(true);
     }
-    
+
     var _media = this.media;
-    
+
     // Binding functions to Popcorn
-    
+
     _media.on("setcurrenttime", function(_milliseconds) {
         _popcorn.currentTime(_milliseconds / 1000);
     });
-    
+
     _media.on("setvolume", function(_vol) {
         _popcorn.volume(_vol);
         _media.volume = _vol;
     });
-    
+
     _media.on("setmuted", function(_muted) {
         _popcorn.muted(_muted);
         _media.muted = _muted;
     });
-    
+
     _media.on("setplay", function() {
         _popcorn.play();
     });
-    
+
     _media.on("setpause", function() {
         _popcorn.pause();
     });
-    
+    _media.on("settimerange", function(_timeRange){
+        _media.timeRange = _timeRange;
+        try {
+            if (_media.getCurrentTime() > _timeRange[0] || _media.getCurrentTime() < _timeRange){
+                _popcorn.currentTime(_timeRange[0] / 1000);
+            }
+        } catch (err) {
+        }
+    })
+    _media.on("resettimerange", function(){
+        _media.timeRange = false;
+    })
     // Binding Popcorn events to media
-    
+
     function getVolume() {
         _media.muted = _popcorn.muted();
         _media.volume = _popcorn.volume();
     }
-    
+
     _popcorn.on("loadedmetadata", function() {
         getVolume();
         _media.trigger("loadedmetadata");
         _media.trigger("volumechange");
     });
-    
+
     _popcorn.on("timeupdate", function() {
         _media.trigger("timeupdate", new IriSP.Model.Time(1000*_popcorn.currentTime()));
     });
-    
+
     _popcorn.on("volumechange", function() {
         getVolume();
         _media.trigger("volumechange");
     });
-    
-    _popcorn.on("play", function() {
+
+    _popcorn.on("play", function(e) {
         _media.trigger("play");
     });
-    
+
     _popcorn.on("pause", function() {
         _media.trigger("pause");
     });
-    
+
     _popcorn.on("seeked", function() {
         _media.trigger("seeked");
     });
-    
-};
\ No newline at end of file
+
+};