get current resolution method

This commit is contained in:
Kasper Moskwiak 2015-10-31 19:38:36 +01:00
parent 535264d165
commit 1cbbd10577

View file

@ -18,9 +18,14 @@
var defaults = {}, var defaults = {},
videoJsResolutionSwitcher; videoJsResolutionSwitcher,
currentResolution = {};
function setSourcesSanitized(player, sources) { function setSourcesSanitized(player, sources, label) {
currentResolution = {
label: label,
sources: sources
};
return player.src(sources.map(function(src) { return player.src(sources.map(function(src) {
return {src: src.src, type: src.type, res: src.res}; return {src: src.src, type: src.type, res: src.res};
})); }));
@ -65,7 +70,7 @@
// Change player source and wait for loadeddata event, then play video // Change player source and wait for loadeddata event, then play video
// loadedmetadata doesn't work right now for flash. // loadedmetadata doesn't work right now for flash.
// Probably because of https://github.com/videojs/video-js-swf/issues/124 // Probably because of https://github.com/videojs/video-js-swf/issues/124
setSourcesSanitized(this.player_, this.src).one('loadeddata', function() { setSourcesSanitized(this.player_, this.src, this.label).one('loadeddata', function() {
this.player_.currentTime(currentTime); this.player_.currentTime(currentTime);
this.player_.handleTechSeeked_(); this.player_.handleTechSeeked_();
if(!isPaused){ if(!isPaused){
@ -135,7 +140,7 @@
label = document.createElement('span'); label = document.createElement('span');
label.classList.add('vjs-resolution-button-label'); label.classList.add('vjs-resolution-button-label');
player.updateSrc = function(src){ player.updateSrc = function(src){
//Return current src if src is not given //Return current src if src is not given
if(!src){ return player.src(); } if(!src){ return player.src(); }
@ -148,10 +153,18 @@
src = src.sort(compareResolutions); src = src.sort(compareResolutions);
var groupedSrc = bucketSources(src); var groupedSrc = bucketSources(src);
var choosen = chooseSrc(groupedSrc, src); var choosen = chooseSrc(groupedSrc, src);
var menuButton = new ResolutionMenuButton(player, { sources: groupedSrc, initialySelectedLabel: choosen.label , initialySelectedRes: choosen.res}, settings, label); var menuButton = new ResolutionMenuButton(player, { sources: groupedSrc, initialySelectedLabel: choosen.label , initialySelectedRes: choosen.res }, settings, label);
menuButton.el().classList.add('vjs-resolution-button'); menuButton.el().classList.add('vjs-resolution-button');
player.controlBar.resolutionSwitcher = player.controlBar.addChild(menuButton); player.controlBar.resolutionSwitcher = player.controlBar.addChild(menuButton);
return setSourcesSanitized(player, choosen.sources); return setSourcesSanitized(player, choosen.sources, choosen.label);
};
/**
* Returns current resolution
* @returns {Object} current resolution object {label: '', sources: []}
*/
player.currentResolution = function(){
return currentResolution;
}; };
/** /**