aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plugins/youtube.js
diff options
context:
space:
mode:
authorSam Potts <me@sampotts.me>2017-11-20 10:48:28 +1100
committerSam Potts <me@sampotts.me>2017-11-20 10:48:28 +1100
commitfeae00224e90c42228fb76e5b3d3075ab0532b3b (patch)
tree157763d5eebfa84e2cc89fb1cc01fde042ff940f /src/js/plugins/youtube.js
parentdc391c98c6c77479b994dbe7ee00093e1684eea4 (diff)
downloadplyr-feae00224e90c42228fb76e5b3d3075ab0532b3b.tar.lz
plyr-feae00224e90c42228fb76e5b3d3075ab0532b3b.tar.xz
plyr-feae00224e90c42228fb76e5b3d3075ab0532b3b.zip
Added ended and playing getters
Diffstat (limited to 'src/js/plugins/youtube.js')
-rw-r--r--src/js/plugins/youtube.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/js/plugins/youtube.js b/src/js/plugins/youtube.js
index a46773a0..3e8b8079 100644
--- a/src/js/plugins/youtube.js
+++ b/src/js/plugins/youtube.js
@@ -254,6 +254,13 @@ const youtube = {
},
});
+ // Ended
+ Object.defineProperty(player.media, 'ended', {
+ get() {
+ return player.currentTime === player.duration;
+ },
+ });
+
// Get available speeds
if (player.config.controls.includes('settings') && player.config.settings.includes('speed')) {
controls.setSpeedMenu.call(player, instance.getAvailablePlaybackRates());
@@ -316,6 +323,8 @@ const youtube = {
// 5 Video cued
switch (event.data) {
case 0:
+ player.media.paused = true;
+
// YouTube doesn't support loop for a single video, so mimick it.
if (player.media.loop) {
// YouTube needs a call to `stopVideo` before playing again
@@ -323,21 +332,19 @@ const youtube = {
instance.playVideo();
} else {
utils.dispatchEvent.call(player, player.media, 'ended');
- player.media.paused = true;
}
break;
case 1:
player.media.paused = false;
+ player.media.seeking = false;
// If we were seeking, fire seeked event
if (player.media.seeking) {
utils.dispatchEvent.call(player, player.media, 'seeked');
}
- player.media.seeking = false;
-
utils.dispatchEvent.call(player, player.media, 'play');
utils.dispatchEvent.call(player, player.media, 'playing');