Increase speed limits
This commit is contained in:
@ -25,6 +25,7 @@ import { createElement, hasClass, removeElement, replaceElement, toggleClass, wr
|
||||
import { off, on, once, triggerEvent, unbindListeners } from './utils/events';
|
||||
import is from './utils/is';
|
||||
import loadSprite from './utils/loadSprite';
|
||||
import { clamp } from './utils/numbers';
|
||||
import { cloneDeep, extend } from './utils/objects';
|
||||
import { getAspectRatio, reduceAspectRatio, setAspectRatio, validateRatio } from './utils/style';
|
||||
import { parseUrl } from './utils/urls';
|
||||
@ -661,18 +662,9 @@ class Plyr {
|
||||
speed = this.config.speed.selected;
|
||||
}
|
||||
|
||||
// Set min/max
|
||||
if (speed < 0.1) {
|
||||
speed = 0.1;
|
||||
}
|
||||
if (speed > 2.0) {
|
||||
speed = 2.0;
|
||||
}
|
||||
|
||||
if (!this.config.speed.options.includes(speed)) {
|
||||
this.debug.warn(`Unsupported speed (${speed})`);
|
||||
return;
|
||||
}
|
||||
// Clamp to min/max
|
||||
const { minimumSpeed: min, maximumSpeed: max } = this;
|
||||
speed = clamp(speed, min, max);
|
||||
|
||||
// Update config
|
||||
this.config.speed.selected = speed;
|
||||
@ -690,6 +682,42 @@ class Plyr {
|
||||
return Number(this.media.playbackRate);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the minimum allowed speed
|
||||
*/
|
||||
get minimumSpeed() {
|
||||
if (this.isYouTube) {
|
||||
// https://developers.google.com/youtube/iframe_api_reference#setPlaybackRate
|
||||
return Math.min(...this.options.speed);
|
||||
}
|
||||
|
||||
if (this.isVimeo) {
|
||||
// https://github.com/vimeo/player.js/#setplaybackrateplaybackrate-number-promisenumber-rangeerrorerror
|
||||
return 0.5;
|
||||
}
|
||||
|
||||
// https://stackoverflow.com/a/32320020/1191319
|
||||
return 0.0625;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the maximum allowed speed
|
||||
*/
|
||||
get maximumSpeed() {
|
||||
if (this.isYouTube) {
|
||||
// https://developers.google.com/youtube/iframe_api_reference#setPlaybackRate
|
||||
return Math.max(...this.options.speed);
|
||||
}
|
||||
|
||||
if (this.isVimeo) {
|
||||
// https://github.com/vimeo/player.js/#setplaybackrateplaybackrate-number-promisenumber-rangeerrorerror
|
||||
return 2;
|
||||
}
|
||||
|
||||
// https://stackoverflow.com/a/32320020/1191319
|
||||
return 16;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set playback quality
|
||||
* Currently HTML5 & YouTube only
|
||||
|
Reference in New Issue
Block a user