Merge pull request #1051 from friday/quality-2
Respect preload="none" when setting quality if the media hasn't been loaded some other way
This commit is contained in:
commit
22cdec9d38
@ -39,7 +39,7 @@ const html5 = {
|
|||||||
get() {
|
get() {
|
||||||
// Get sources
|
// Get sources
|
||||||
const sources = html5.getSources.call(player);
|
const sources = html5.getSources.call(player);
|
||||||
const [source] = sources.filter(source => source.getAttribute('src') === player.source);
|
const source = sources.find(source => source.getAttribute('src') === player.source);
|
||||||
|
|
||||||
// Return size, if match is found
|
// Return size, if match is found
|
||||||
return source && Number(source.getAttribute('size'));
|
return source && Number(source.getAttribute('size'));
|
||||||
@ -57,23 +57,25 @@ const html5 = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get current state
|
// Get current state
|
||||||
const { currentTime, playing } = player;
|
const { currentTime, paused, preload, readyState } = player.media;
|
||||||
|
|
||||||
// Set new source
|
// Set new source
|
||||||
player.media.src = source.getAttribute('src');
|
player.media.src = source.getAttribute('src');
|
||||||
|
|
||||||
// Restore time
|
// Prevent loading if preload="none" and the current source isn't loaded (#1044)
|
||||||
const onLoadedMetaData = () => {
|
if (preload !== 'none' || readyState) {
|
||||||
player.currentTime = currentTime;
|
// Restore time
|
||||||
};
|
player.once('loadedmetadata', () => {
|
||||||
player.once('loadedmetadata', onLoadedMetaData);
|
player.currentTime = currentTime;
|
||||||
|
|
||||||
// Load new source
|
// Resume playing
|
||||||
player.media.load();
|
if (!paused) {
|
||||||
|
player.play();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Resume playing
|
// Load new source
|
||||||
if (playing) {
|
player.media.load();
|
||||||
player.play();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trigger change event
|
// Trigger change event
|
||||||
|
Loading…
x
Reference in New Issue
Block a user