-   Fix YouTube muting after seeking with the progress slider
-   Respect preload="none" when setting quality if the media hasn't been loaded some other way
This commit is contained in:
Sam Potts
2018-06-19 16:57:32 +10:00
parent de7832eb8b
commit 47750b6aad
10 changed files with 56 additions and 51 deletions
+5
View File
@@ -1,3 +1,8 @@
# v3.3.17
- Fix YouTube muting after seeking with the progress slider
- Respect preload="none" when setting quality if the media hasn't been loaded some other way
# v3.3.16
- Fixed regression relating the play button status (fixes #1048)
+20 -20
View File
@@ -769,22 +769,17 @@ typeof navigator === "object" && (function (global, factory) {
// Quality
Object.defineProperty(player.media, 'quality', {
get: function get$$1() {
get: function get() {
// Get sources
var sources = html5.getSources.call(player);
var _sources$filter = sources.filter(function (source) {
var source = sources.find(function (source) {
return source.getAttribute('src') === player.source;
}),
_sources$filter2 = slicedToArray(_sources$filter, 1),
source = _sources$filter2[0];
});
// Return size, if match is found
return source && Number(source.getAttribute('size'));
},
set: function set$$1(input) {
set: function set(input) {
// Get sources
var sources = html5.getSources.call(player);
@@ -799,25 +794,30 @@ typeof navigator === "object" && (function (global, factory) {
}
// Get current state
var currentTime = player.currentTime,
playing = player.playing;
var _player$media = player.media,
currentTime = _player$media.currentTime,
paused = _player$media.paused,
preload = _player$media.preload,
readyState = _player$media.readyState;
// Set new source
player.media.src = source.getAttribute('src');
// Prevent loading if preload="none" and the current source isn't loaded (#1044)
if (preload !== 'none' || readyState) {
// Restore time
var onLoadedMetaData = function onLoadedMetaData() {
player.once('loadedmetadata', function () {
player.currentTime = currentTime;
};
player.once('loadedmetadata', onLoadedMetaData);
// Resume playing
if (!paused) {
player.play();
}
});
// Load new source
player.media.load();
// Resume playing
if (playing) {
player.play();
}
// Trigger change event
@@ -5822,8 +5822,8 @@ typeof navigator === "object" && (function (global, factory) {
return Number(instance.getCurrentTime());
},
set: function set(time) {
// If paused, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
if (player.paused) {
// If paused and never played, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
if (player.paused && !player.embed.hasPlayed) {
player.embed.mute();
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+18 -18
View File
@@ -6158,16 +6158,11 @@ typeof navigator === "object" && (function (global, factory) {
get: function get() {
// Get sources
var sources = html5.getSources.call(player);
var _sources$filter = sources.filter(function (source) {
var source = sources.find(function (source) {
return source.getAttribute('src') === player.source;
}),
_sources$filter2 = slicedToArray(_sources$filter, 1),
source = _sources$filter2[0];
});
// Return size, if match is found
return source && Number(source.getAttribute('size'));
},
set: function set(input) {
@@ -6185,25 +6180,30 @@ typeof navigator === "object" && (function (global, factory) {
}
// Get current state
var currentTime = player.currentTime,
playing = player.playing;
var _player$media = player.media,
currentTime = _player$media.currentTime,
paused = _player$media.paused,
preload = _player$media.preload,
readyState = _player$media.readyState;
// Set new source
player.media.src = source.getAttribute('src');
// Prevent loading if preload="none" and the current source isn't loaded (#1044)
if (preload !== 'none' || readyState) {
// Restore time
var onLoadedMetaData = function onLoadedMetaData() {
player.once('loadedmetadata', function () {
player.currentTime = currentTime;
};
player.once('loadedmetadata', onLoadedMetaData);
// Resume playing
if (!paused) {
player.play();
}
});
// Load new source
player.media.load();
// Resume playing
if (playing) {
player.play();
}
// Trigger change event
@@ -11202,8 +11202,8 @@ typeof navigator === "object" && (function (global, factory) {
return Number(instance.getCurrentTime());
},
set: function set(time) {
// If paused, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
if (player.paused) {
// If paused and never played, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
if (player.paused && !player.embed.hasPlayed) {
player.embed.mute();
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "plyr",
"version": "3.3.16",
"version": "3.3.17",
"description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player",
"homepage": "https://plyr.io",
"main": "./dist/plyr.js",