web/lib/metadataplayer/AdaptivePlayer.js
author cavaliet
Fri, 18 Oct 2013 17:54:44 +0200
changeset 0 7f8907368bd5
permissions -rw-r--r--
first commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     1
IriSP.Widgets.AdaptivePlayer = function(player, config) {
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     2
    IriSP.Widgets.Widget.call(this, player, config);
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     3
};
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     4
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     5
IriSP.Widgets.AdaptivePlayer.prototype = new IriSP.Widgets.Widget();
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     6
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     7
IriSP.Widgets.AdaptivePlayer.prototype.defaults = {
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     8
    mime_type: "video/mp4",
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
     9
    normal_player: "HtmlPlayer",
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    10
    fallback_player: "JwpPlayer"
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    11
};
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    12
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    13
IriSP.Widgets.AdaptivePlayer.prototype.draw = function() {
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    14
    
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    15
    if (typeof this.video === "undefined") {
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    16
        this.video = this.media.video;
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    17
    }
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    18
    
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    19
    var _props = [ "autostart", "video", "height", "width", "url_transform" ],
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    20
        _opts = {},
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    21
        _canPlayType = document.createElement('video').canPlayType(this.mime_type);
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    22
    
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    23
    _opts.type = (_canPlayType == "maybe" || _canPlayType == "probably") ? this.normal_player : this.fallback_player;
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    24
    
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    25
    for (var i = 0; i < _props.length; i++) {
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    26
        if (typeof this[_props[i]] !== "undefined") {
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    27
            _opts[_props[i]] = this[_props[i]];
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    28
        }
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    29
    }
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    30
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    31
    this.insertSubwidget(this.$, _opts);
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    32
    
7f8907368bd5 first commit
cavaliet
parents:
diff changeset
    33
};