diff --git a/examples/hls.html b/examples/hls.html index d287a48..7cbd02f 100644 --- a/examples/hls.html +++ b/examples/hls.html @@ -44,17 +44,18 @@ plugins: { videoJsResolutionSwitcher: { default: 'low', // Default resolution [{Number}, 'low', 'high'], - dynamicLabel: true // Display dynamic labels or gear symbol + dynamicLabel: true, // Display dynamic labels or gear symbol + hls: true } } }, function(){ var player = this; window.player = player - player.src({ + player.updateSrc({ src: '//labs.tvpw.pl/video/hls/tears.m3u8', type: 'application/x-mpegURL' - }) + }, {hls: true}) player.on('resolutionchange', function(){ console.info('Source changed to %s', player.src()) diff --git a/lib/videojs-resolution-switcher.js b/lib/videojs-resolution-switcher.js index acace38..b7dc282 100644 --- a/lib/videojs-resolution-switcher.js +++ b/lib/videojs-resolution-switcher.js @@ -170,7 +170,7 @@ * @param {Array} [src] array of sources [{src: '', type: '', label: '', res: ''}] * @returns {Object|String|Array} videojs player object if used as setter or current source URL, object, or array of sources */ - player.updateSrc = function(src){ + player.updateSrc = function(src, _options){ //Return current src if src is not given if(!src){ return player.src(); } // Dispose old resolution menu button before adding new sources @@ -179,6 +179,11 @@ delete player.controlBar.resolutionSwitcher; } + if(_options && _options.hls){ + player.src(src); + return initResolutionForHLS(player); + } + //Sort sources src = src.sort(compareResolutions); groupedSrc = bucketSources(src); @@ -340,7 +345,6 @@ function initResolutionForHLS(player){ var hls = player.tech_.hls; - // Capture events player.on('mediachange', function(){ player.trigger('resolutionchange'); @@ -410,8 +414,8 @@ // Create resolution switcher for videos form tag inside