diff --git a/css/player-base.js b/css/player-base.js index ad62f2ce..b5dc68db 100644 --- a/css/player-base.js +++ b/css/player-base.js @@ -2,429 +2,686 @@ var _yt_player = videojs; var versionclient = "youtube.player.web_20250917_22_RC00" - // video.js 8 init - source can be seen in https://poketube.fun/static/vjs.min.js or the vjs.min.js file + + + + + document.addEventListener("DOMContentLoaded", () => { - const player = videojs("video", { - controls: true, - autoplay: false, - preload: "auto", - errorDisplay: false, - }); + // video.js 8 init - source can be seen in https://poketube.fun/static/vjs.min.js or the vjs.min.js file + const video = videojs('video', { + controls: true, + autoplay: false, + preload: 'auto', + errorDisplay: false, + }); - const qs = new URLSearchParams(window.location.search); - const qua = qs.get("quality") || ""; - const vidKey = qs.get("v"); - try { if (vidKey) localStorage.setItem(`progress-${vidKey}`, 0); } catch {} + // todo : remove this code lol + const qs = new URLSearchParams(window.location.search); + const qua = qs.get("quality") || ""; + const vidKey = qs.get('v'); + try { localStorage.setItem(`progress-${vidKey}`, 0); } catch {} - const videoEl = document.getElementById("video"); - const audioEl = document.getElementById("aud"); + // raw media elements + const videoEl = document.getElementById('video'); + const audio = document.getElementById('aud'); - // keep the hidden audio out of the way - try { - audioEl.controls = false; - audioEl.setAttribute("aria-hidden", "true"); - audioEl.setAttribute("tabindex", "-1"); - audioEl.setAttribute("controlslist", "noplaybackrate nodownload noremoteplayback"); - audioEl.disableRemotePlayback = true; - videoEl.setAttribute("playsinline", ""); - audioEl.setAttribute("playsinline", ""); - audioEl.preload = "auto"; - } catch {} + // resolve initial sources robustly (works whether