Manually merged PR #1607

This commit is contained in:
Sam Potts 2020-01-14 07:25:41 +00:00
parent ff105ee203
commit 6ffaef35cf
2 changed files with 36 additions and 24 deletions

View File

@ -70,6 +70,8 @@ const defaults = {
quality: {
default: 576,
options: [4320, 2880, 2160, 1440, 1080, 720, 576, 480, 360, 240],
forced: false,
onChange: null,
},
// Set loops

View File

@ -30,6 +30,11 @@ const html5 = {
// Get quality levels
getQualityOptions() {
// Whether we're forcing all options (e.g. for streaming)
if (this.config.quality.forced) {
return this.config.quality.options;
}
// Get sizes from <source> elements
return html5.getSources
.call(this)
@ -60,6 +65,10 @@ const html5 = {
return source && Number(source.getAttribute('size'));
},
set(input) {
// If we're using an an external handler...
if (player.config.quality.forced && is.function(player.config.quality.onChange)) {
player.config.quality.onChange(input);
} else {
// Get sources
const sources = html5.getSources.call(player);
// Get first match for requested size
@ -91,6 +100,7 @@ const html5 = {
// Load new source
player.media.load();
}
}
// Trigger change event
triggerEvent.call(player, player.media, 'qualitychange', false, {