diff --git a/html/poketube.ejs b/html/poketube.ejs
index 313f0fde..58303db7 100644
--- a/html/poketube.ejs
+++ b/html/poketube.ejs
@@ -741,6 +741,7 @@ background-color: #0000;
document.getElementById("buffer-failed-warning").style.display = "block";
}
let canPlayPause = true;
+ let didFirstTimePlay = false;
document.addEventListener("DOMContentLoaded", () => {
//FIXME: saved playback intentionally overwritten
localStorage.setItem(`progress-${new URLSearchParams(window.location.search).get('v')}`, 0);
@@ -749,7 +750,7 @@ background-color: #0000;
let setTime = false
const seekbar = document.getElementById("duration-slider")
const video = document.getElementById("video");
- video.addEventListener("timeupdate", (event) => {
+ video.addEventListener("timeupdate", (event) => {
seekbar.value = event.target.currentTime;
const timestamps = document.getElementById("timestamps");
timestamps.innerText = `${csts(video.currentTime)}/${csts(video.duration)}`;
@@ -804,6 +805,24 @@ background-color: #0000;
video.currentTime > aud.currentTime ? aud.currentTime = video.currentTime : video.currentTime = aud.currentTime;
playPauseButton.innerHTML = pauseSVG;
});
+ setTimeout(()=>{
+ if(!didFirstTimePlay) {
+ video.addEventListener("seeked", (event) => {
+ setTimeout(()=>{
+ canPlayPause = true;
+ if(video.currentTime==0||aud.currentTime==0) return;
+ video.pause(); aud.pause(); playPauseButton.innerHTML = playSVG;
+ },1)
+ });
+ aud.addEventListener("seeked", (event) => {
+ setTimeout(()=>{
+ if(video.currentTime==0||aud.currentTime==0) return;
+ video.pause(); aud.pause(); playPauseButton.innerHTML = playSVG;
+ },1)
+ });
+ didFirstTimePlay = true;
+ }
+ },100)
document.addEventListener("fullscreenchange", function() {
if(document.fullscreen) {
video.controlsList = "noplaybackrate nodownload"
@@ -840,21 +859,14 @@ background-color: #0000;
seekbar.max = video.duration
const timestamps = document.getElementById("timestamps");
timestamps.innerText = `${csts(video.currentTime)}/${csts(video.duration)}`;
- video.addEventListener("seeked", (event) => {
- setTimeout(()=>{
- canPlayPause = true;
- video.pause(); aud.pause(); playPauseButton.innerHTML = playSVG;
- },1)
- });
- aud.addEventListener("seeked", (event) => {
- setTimeout(()=>{
- video.pause(); aud.pause(); playPauseButton.innerHTML = playSVG;
- },1)
- });
+
// Show controls
try {
+ playPauseButton.innerHTML = pauseSVG;
vid.play();
aud.play();
+ didFirstTimePlay = true;
+
}
catch {}