Merge branch 'master' into develop
# Conflicts: # demo/index.html # dist/plyr.js
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
// ==========================================================================
|
||||
// Plyr
|
||||
// plyr.js v2.0.9
|
||||
// plyr.js v2.0.10
|
||||
// https://github.com/selz/plyr
|
||||
// License: The MIT License (MIT)
|
||||
// ==========================================================================
|
||||
@ -45,7 +45,7 @@
|
||||
displayDuration: true,
|
||||
loadSprite: true,
|
||||
iconPrefix: 'plyr',
|
||||
iconUrl: 'https://cdn.plyr.io/2.0.9/plyr.svg',
|
||||
iconUrl: 'https://cdn.plyr.io/2.0.10/plyr.svg',
|
||||
clickToPlay: true,
|
||||
hideControls: true,
|
||||
showPosterOnEnd: false,
|
||||
@ -190,7 +190,7 @@
|
||||
speed: null
|
||||
},
|
||||
// Events to watch on HTML5 media elements
|
||||
events: ['ready', 'ended', 'progress', 'stalled', 'playing', 'waiting', 'canplay', 'canplaythrough', 'loadstart', 'loadeddata', 'loadedmetadata', 'timeupdate', 'volumechange', 'play', 'pause', 'error', 'seeking', 'emptied'],
|
||||
events: ['ready', 'ended', 'progress', 'stalled', 'playing', 'waiting', 'canplay', 'canplaythrough', 'loadstart', 'loadeddata', 'loadedmetadata', 'timeupdate', 'volumechange', 'play', 'pause', 'error', 'seeking', 'seeked', 'emptied'],
|
||||
// Logging
|
||||
logPrefix: '[Plyr]'
|
||||
};
|
||||
@ -576,6 +576,18 @@
|
||||
}
|
||||
};
|
||||
|
||||
// Parse YouTube ID from url
|
||||
function _parseYouTubeId(url) {
|
||||
var regex = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
|
||||
return (url.match(regex)) ? RegExp.$2 : url;
|
||||
}
|
||||
|
||||
// Parse Vimeo ID from url
|
||||
function _parseVimeoId(url) {
|
||||
var regex = /^.*(vimeo.com\/|video\/)(\d+).*/;
|
||||
return (url.match(regex)) ? RegExp.$2 : url;
|
||||
}
|
||||
|
||||
// Fullscreen API
|
||||
var _fullscreen;
|
||||
(function() {
|
||||
@ -1688,9 +1700,23 @@
|
||||
// Setup YouTube/Vimeo
|
||||
function _setupEmbed() {
|
||||
var container = document.createElement('div'),
|
||||
mediaId = plyr.embedId,
|
||||
mediaId,
|
||||
id = plyr.type + '-' + Math.floor(Math.random() * (10000));
|
||||
|
||||
// Parse IDs from URLs if supplied
|
||||
switch (plyr.type) {
|
||||
case 'youtube':
|
||||
mediaId = _parseYouTubeId(plyr.embedId);
|
||||
break;
|
||||
|
||||
case 'vimeo':
|
||||
mediaId = _parseVimeoId(plyr.embedId);
|
||||
break;
|
||||
|
||||
default:
|
||||
mediaId = plyr.embedId;
|
||||
}
|
||||
|
||||
// Remove old containers
|
||||
var containers = _getElements('[id^="' + plyr.type + '-"]');
|
||||
for (var i = containers.length - 1; i >= 0; i--) {
|
||||
@ -1907,6 +1933,12 @@
|
||||
|
||||
case 1:
|
||||
plyr.media.paused = false;
|
||||
|
||||
// If we were seeking, fire seeked event
|
||||
if (plyr.media.seeking) {
|
||||
_triggerEvent(plyr.media, 'seeked');
|
||||
}
|
||||
|
||||
plyr.media.seeking = false;
|
||||
_triggerEvent(plyr.media, 'play');
|
||||
_triggerEvent(plyr.media, 'playing');
|
||||
@ -2031,6 +2063,12 @@
|
||||
}
|
||||
});
|
||||
|
||||
plyr.embed.on('seeked', function() {
|
||||
plyr.media.seeking = false;
|
||||
_triggerEvent(plyr.media, 'seeked');
|
||||
_triggerEvent(plyr.media, 'play');
|
||||
});
|
||||
|
||||
plyr.embed.on('ended', function() {
|
||||
plyr.media.paused = true;
|
||||
_triggerEvent(plyr.media, 'ended');
|
||||
@ -2222,7 +2260,6 @@
|
||||
|
||||
// Embeds
|
||||
if (_inArray(config.types.embed, plyr.type)) {
|
||||
// YouTube
|
||||
switch(plyr.type) {
|
||||
case 'youtube':
|
||||
plyr.embed.seekTo(targetTime);
|
||||
@ -2242,11 +2279,14 @@
|
||||
_pause();
|
||||
}
|
||||
|
||||
// Trigger timeupdate for embeds
|
||||
// Trigger timeupdate
|
||||
_triggerEvent(plyr.media, 'timeupdate');
|
||||
|
||||
// Set seeking flag
|
||||
plyr.media.seeking = true;
|
||||
|
||||
// Trigger seeking
|
||||
_triggerEvent(plyr.media, 'seeking');
|
||||
}
|
||||
|
||||
// Logging
|
||||
|
Reference in New Issue
Block a user