player: support HLS vod for vidme (fixes #703)

- Upgrade videojs-contrib-hls to latest version
  - Update VideoJSPlayer to support "auto" quality tag to delegate to
    the HLS plugin for automatic quality selection
  - mediaquery change:
    9f5122e031
This commit is contained in:
Calvin Montgomery 2017-09-04 09:44:30 -07:00
parent 45d0e0b4c3
commit 97231e515c
4 changed files with 28 additions and 16 deletions

View File

@ -2,7 +2,7 @@
"author": "Calvin Montgomery",
"name": "CyTube",
"description": "Online media synchronizer and chat",
"version": "3.47.2",
"version": "3.47.3",
"repository": {
"url": "http://github.com/calzoneman/sync"
},

View File

@ -12,6 +12,7 @@ sortSources = (sources) ->
idx = 5 # 480p
qualityOrder = qualities.slice(idx).concat(qualities.slice(0, idx).reverse())
qualityOrder.unshift('auto')
sourceOrder = []
flvOrder = []
for quality in qualityOrder
@ -34,6 +35,12 @@ sortSources = (sources) ->
quality: source.quality
)
getSourceLabel = (source) ->
if source.quality is 'auto'
return 'auto'
else
return "#{source.quality}p #{source.type.split('/')[1]}"
waitUntilDefined(window, 'videojs', =>
videojs.options.flash.swf = '/video-js.swf'
)
@ -72,7 +79,7 @@ window.VideoJSPlayer = class VideoJSPlayer extends Player
src: source.src
type: source.type
res: source.quality
label: "#{source.quality}p #{source.type.split('/')[1]}"
label: getSourceLabel(source)
).appendTo(video)
)

View File

@ -1,5 +1,5 @@
(function() {
var CUSTOM_EMBED_WARNING, CustomEmbedPlayer, DEFAULT_ERROR, DailymotionPlayer, EmbedPlayer, FilePlayer, GoogleDrivePlayer, GoogleDriveYouTubePlayer, HLSPlayer, ImgurPlayer, LivestreamPlayer, Player, RTMPPlayer, SmashcastPlayer, SoundCloudPlayer, TYPE_MAP, TwitchPlayer, UstreamPlayer, VideoJSPlayer, VimeoPlayer, YouTubePlayer, codecToMimeType, genParam, sortSources,
var CUSTOM_EMBED_WARNING, CustomEmbedPlayer, DEFAULT_ERROR, DailymotionPlayer, EmbedPlayer, FilePlayer, GoogleDrivePlayer, GoogleDriveYouTubePlayer, HLSPlayer, ImgurPlayer, LivestreamPlayer, Player, RTMPPlayer, SmashcastPlayer, SoundCloudPlayer, TYPE_MAP, TwitchPlayer, UstreamPlayer, VideoJSPlayer, VimeoPlayer, YouTubePlayer, codecToMimeType, genParam, getSourceLabel, sortSources,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
@ -462,6 +462,7 @@
idx = 5;
}
qualityOrder = qualities.slice(idx).concat(qualities.slice(0, idx).reverse());
qualityOrder.unshift('auto');
sourceOrder = [];
flvOrder = [];
for (j = 0, len = qualityOrder.length; j < len; j++) {
@ -490,6 +491,14 @@
});
};
getSourceLabel = function(source) {
if (source.quality === 'auto') {
return 'auto';
} else {
return source.quality + "p " + (source.type.split('/')[1]);
}
};
waitUntilDefined(window, 'videojs', (function(_this) {
return function() {
return videojs.options.flash.swf = '/video-js.swf';
@ -531,7 +540,7 @@
src: source.src,
type: source.type,
res: source.quality,
label: source.quality + "p " + (source.type.split('/')[1])
label: getSourceLabel(source)
}).appendTo(video);
});
if (data.meta.gdrive_subtitles) {

File diff suppressed because one or more lines are too long