mirror of
https://github.com/kmoskwiak/videojs-resolution-switcher.git
synced 2025-10-03 17:59:42 +02:00
updateSrc for HLS
This commit is contained in:
parent
f8218598f6
commit
409007d9d7
2 changed files with 12 additions and 7 deletions
|
@ -44,17 +44,18 @@
|
||||||
plugins: {
|
plugins: {
|
||||||
videoJsResolutionSwitcher: {
|
videoJsResolutionSwitcher: {
|
||||||
default: 'low', // Default resolution [{Number}, 'low', 'high'],
|
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(){
|
}, function(){
|
||||||
var player = this;
|
var player = this;
|
||||||
window.player = player
|
window.player = player
|
||||||
|
|
||||||
player.src({
|
player.updateSrc({
|
||||||
src: '//labs.tvpw.pl/video/hls/tears.m3u8',
|
src: '//labs.tvpw.pl/video/hls/tears.m3u8',
|
||||||
type: 'application/x-mpegURL'
|
type: 'application/x-mpegURL'
|
||||||
})
|
}, {hls: true})
|
||||||
|
|
||||||
player.on('resolutionchange', function(){
|
player.on('resolutionchange', function(){
|
||||||
console.info('Source changed to %s', player.src())
|
console.info('Source changed to %s', player.src())
|
||||||
|
|
|
@ -170,7 +170,7 @@
|
||||||
* @param {Array} [src] array of sources [{src: '', type: '', label: '', res: ''}]
|
* @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
|
* @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
|
//Return current src if src is not given
|
||||||
if(!src){ return player.src(); }
|
if(!src){ return player.src(); }
|
||||||
// Dispose old resolution menu button before adding new sources
|
// Dispose old resolution menu button before adding new sources
|
||||||
|
@ -179,6 +179,11 @@
|
||||||
delete player.controlBar.resolutionSwitcher;
|
delete player.controlBar.resolutionSwitcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(_options && _options.hls){
|
||||||
|
player.src(src);
|
||||||
|
return initResolutionForHLS(player);
|
||||||
|
}
|
||||||
|
|
||||||
//Sort sources
|
//Sort sources
|
||||||
src = src.sort(compareResolutions);
|
src = src.sort(compareResolutions);
|
||||||
groupedSrc = bucketSources(src);
|
groupedSrc = bucketSources(src);
|
||||||
|
@ -340,7 +345,6 @@
|
||||||
|
|
||||||
function initResolutionForHLS(player){
|
function initResolutionForHLS(player){
|
||||||
var hls = player.tech_.hls;
|
var hls = player.tech_.hls;
|
||||||
|
|
||||||
// Capture events
|
// Capture events
|
||||||
player.on('mediachange', function(){
|
player.on('mediachange', function(){
|
||||||
player.trigger('resolutionchange');
|
player.trigger('resolutionchange');
|
||||||
|
@ -411,7 +415,7 @@
|
||||||
player.updateSrc(player.options_.sources);
|
player.updateSrc(player.options_.sources);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(player.tech_.hls){
|
if(player.tech_.hls && player.options_.sources.length){
|
||||||
// HLS support
|
// HLS support
|
||||||
initResolutionForHLS(player);
|
initResolutionForHLS(player);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue