movi-player 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -0
- package/README.md +2 -0
- package/dist/decode/VideoDecoder.d.ts.map +1 -1
- package/dist/decode/VideoDecoder.js +6 -2
- package/dist/decode/VideoDecoder.js.map +1 -1
- package/dist/demuxer.cjs +1 -1
- package/dist/demuxer.js +73 -73
- package/dist/element.cjs +38 -37
- package/dist/element.js +38 -37
- package/dist/index.cjs +38 -37
- package/dist/index.js +38 -37
- package/dist/player.cjs +1 -1
- package/dist/player.js +1 -1
- package/dist/render/MoviElement.d.ts +1 -0
- package/dist/render/MoviElement.d.ts.map +1 -1
- package/dist/render/MoviElement.js +68 -34
- package/dist/render/MoviElement.js.map +1 -1
- package/package.json +10 -2
package/dist/index.js
CHANGED
|
@@ -49965,7 +49965,7 @@ class MoviVideoDecoder {
|
|
|
49965
49965
|
}
|
|
49966
49966
|
async configure(A2, t2, n2 = 0) {
|
|
49967
49967
|
if (this.currentTrack = A2, this.targetFps = n2, this.currentProfile = A2.profile, this.useSoftware = false, this.requiresSoftware = false, this.isAnnexBSource = false, this.openGopErrorCount = 0, this.hardwareRetryCount = 0, this.lastHardwareRetryTime = 0, this.swDecoder && (this.swDecoder.close(), this.swDecoder = null), this.forceSoftware) return v.info(K, "Force software decoding enabled, using WASM decoder"), this.useSoftware = true, this.initSoftwareDecoder();
|
|
49968
|
-
if (!("VideoDecoder" in window)) return v.
|
|
49968
|
+
if (!("VideoDecoder" in window)) return v.warn(K, "WebCodecs VideoDecoder not supported — falling back to software decoder"), this.useSoftware = true, this.initSoftwareDecoder();
|
|
49969
49969
|
let b2 = CodecParser.getCodecString(A2.codec, A2.extradata);
|
|
49970
49970
|
if (b2 || (v.debug(K, "CodecParser returned null, falling back to manual mapping"), b2 = this.mapCodecToWebCodecs(A2.codec, A2.width, A2.height, A2.profile, A2.level)), !b2) return v.error(K, `Unsupported codec: ${A2.codec}`), false;
|
|
49971
49971
|
const j2 = { codec: b2, codedWidth: A2.width, codedHeight: A2.height, hardwareAcceleration: "prefer-hardware" };
|
|
@@ -108990,6 +108990,7 @@ class MoviElement extends HTMLElement {
|
|
|
108990
108990
|
isOverControls = false;
|
|
108991
108991
|
isSeeking = false;
|
|
108992
108992
|
pendingSeekTarget = null;
|
|
108993
|
+
_pendingSeek = null;
|
|
108993
108994
|
isDragging = false;
|
|
108994
108995
|
isTouchDragging = false;
|
|
108995
108996
|
touchStartX = 0;
|
|
@@ -109115,7 +109116,7 @@ class MoviElement extends HTMLElement {
|
|
|
109115
109116
|
return ["src", "autoplay", "controls", "loop", "muted", "playsinline", "preload", "poster", "width", "height", "crossorigin", "volume", "playbackrate", "subtitledelay", "subtitlesize", "subtitlecolor", "subtitlebg", "subtitleedge", "ambientmode", "ambientwrapper", "renderer", "objectfit", "thumb", "hdr", "theme", "sw", "fps", "gesturefs", "nohotkeys", "startat", "fastseek", "doubletap", "themecolor", "buffersize", "title", "showtitle", "resume", "stablevolume", "encrypted", "tokenurl", "videourl", "videoid", "drm", "licenseurl", "licenseheaders", "headers", "audioonly", "lcevc", "lcevcurl", "postertime"];
|
|
109116
109117
|
}
|
|
109117
109118
|
constructor() {
|
|
109118
|
-
super(),
|
|
109119
|
+
super(), v.setLevel(A.DEBUG);
|
|
109119
109120
|
const t2 = this.attachShadow({ mode: "open" });
|
|
109120
109121
|
this.canvas = document.createElement("canvas"), this.canvas.style.width = "100%", this.canvas.style.height = "100%", this.canvas.style.display = "block", this.canvas.oncontextmenu = (A2) => (A2.preventDefault(), A2.stopPropagation(), false), t2.appendChild(this.canvas), this.video = document.createElement("video"), this.video.style.width = "100%", this.video.style.height = "100%", this.video.style.display = "none", this.video.style.objectFit = "contain", this.video.oncontextmenu = (A2) => (A2.preventDefault(), A2.stopPropagation(), false), t2.appendChild(this.video), this.posterElement = document.createElement("img"), this.posterElement.className = "movi-poster-overlay", this.posterElement.crossOrigin = "anonymous", this.posterElement.referrerPolicy = "no-referrer", this.posterElement.decoding = "async", this.posterElement.addEventListener("error", () => {
|
|
109121
109122
|
const A2 = this.posterElement.src.match(/\/vi\/([\w-]+)\/maxresdefault\.jpg/);
|
|
@@ -110982,6 +110983,7 @@ class MoviElement extends HTMLElement {
|
|
|
110982
110983
|
const A3 = this.player?.getState();
|
|
110983
110984
|
"playing" !== A3 && "buffering" !== A3 && v2.classList.add("movi-center-visible");
|
|
110984
110985
|
}
|
|
110986
|
+
this._hasEverPlayed ? this.classList.add("movi-bar-visible") : this.classList.remove("movi-bar-visible");
|
|
110985
110987
|
const j2 = this.shadowRoot?.querySelector(".movi-controls-bar"), s2 = j2?.offsetHeight ?? 80, f2 = this.shadowRoot?.querySelector(".movi-timeline-panel");
|
|
110986
110988
|
let l2 = s2 + 20;
|
|
110987
110989
|
if (f2 && "none" !== f2.style.display ? (f2.style.bottom = `${s2 + 20}px`, requestAnimationFrame(() => {
|
|
@@ -111071,7 +111073,7 @@ class MoviElement extends HTMLElement {
|
|
|
111071
111073
|
v3 && (v3.style.cursor = "none");
|
|
111072
111074
|
}
|
|
111073
111075
|
const t2 = this.shadowRoot?.querySelector(".movi-center-play-pause"), v2 = this.player?.getState();
|
|
111074
|
-
t2 && "playing" === v2 && t2.classList.remove("movi-center-visible");
|
|
111076
|
+
t2 && "playing" === v2 && t2.classList.remove("movi-center-visible"), this.classList.remove("movi-bar-visible");
|
|
111075
111077
|
const n2 = this.shadowRoot?.querySelector(".movi-timeline-panel");
|
|
111076
111078
|
if (n2 && (n2.style.bottom = "12px"), this.player && (n2 && "none" !== n2.style.display ? requestAnimationFrame(() => {
|
|
111077
111079
|
const A3 = n2.offsetHeight || 0;
|
|
@@ -111253,6 +111255,14 @@ class MoviElement extends HTMLElement {
|
|
|
111253
111255
|
-moz-osx-font-smoothing: grayscale;
|
|
111254
111256
|
}
|
|
111255
111257
|
|
|
111258
|
+
/* The :host{display:block} above is an author rule, so it beats the
|
|
111259
|
+
UA stylesheet's [hidden]{display:none}. Without this, the standard
|
|
111260
|
+
hidden attribute does nothing and the player stays visible. Honour
|
|
111261
|
+
it explicitly. !important so source-order/specificity can't regress it. */
|
|
111262
|
+
:host([hidden]) {
|
|
111263
|
+
display: none !important;
|
|
111264
|
+
}
|
|
111265
|
+
|
|
111256
111266
|
/* Light Theme Override */
|
|
111257
111267
|
:host([theme="light"]) {
|
|
111258
111268
|
--movi-primary: #7c3aed; /* Vibrancy boost for light theme */
|
|
@@ -113841,12 +113851,13 @@ class MoviElement extends HTMLElement {
|
|
|
113841
113851
|
height: 64px !important;
|
|
113842
113852
|
}
|
|
113843
113853
|
|
|
113844
|
-
/*
|
|
113854
|
+
/* Keyframe animations off on small/compact layouts for perf, but keep
|
|
113855
|
+
CSS transitions so the controls + centre button still move smoothly
|
|
113856
|
+
here too (the PiP / mini player is a small container). */
|
|
113845
113857
|
.movi-controls-overlay,
|
|
113846
113858
|
.movi-center-play-pause,
|
|
113847
113859
|
.movi-btn,
|
|
113848
113860
|
.movi-progress-handle {
|
|
113849
|
-
transition: none !important;
|
|
113850
113861
|
animation: none !important;
|
|
113851
113862
|
transform: none !important;
|
|
113852
113863
|
}
|
|
@@ -114338,7 +114349,7 @@ class MoviElement extends HTMLElement {
|
|
|
114338
114349
|
button's bar-hidden and both-bars-visible rules exactly. */
|
|
114339
114350
|
.movi-loading-indicator {
|
|
114340
114351
|
position: absolute;
|
|
114341
|
-
top:
|
|
114352
|
+
top: 50%;
|
|
114342
114353
|
left: 50%;
|
|
114343
114354
|
transform: translate(-50%, -50%);
|
|
114344
114355
|
display: flex;
|
|
@@ -114347,15 +114358,7 @@ class MoviElement extends HTMLElement {
|
|
|
114347
114358
|
z-index: 1000;
|
|
114348
114359
|
pointer-events: none;
|
|
114349
114360
|
background: transparent;
|
|
114350
|
-
|
|
114351
|
-
|
|
114352
|
-
:host:has(.movi-controls-container.movi-controls-hidden) .movi-loading-indicator,
|
|
114353
|
-
:host(:not([controls])) .movi-loading-indicator {
|
|
114354
|
-
top: 50%;
|
|
114355
|
-
}
|
|
114356
|
-
|
|
114357
|
-
:host:has(.movi-controls-container.movi-controls-visible):has(.movi-title-bar.movi-title-visible) .movi-loading-indicator {
|
|
114358
|
-
top: calc(50% - (var(--movi-controls-height) - 52px) / 2);
|
|
114361
|
+
transition: top var(--movi-transition-normal);
|
|
114359
114362
|
}
|
|
114360
114363
|
|
|
114361
114364
|
.movi-loader-container {
|
|
@@ -114397,7 +114400,7 @@ class MoviElement extends HTMLElement {
|
|
|
114397
114400
|
down adjust this for the other two layout states. */
|
|
114398
114401
|
.movi-center-play-pause {
|
|
114399
114402
|
position: absolute;
|
|
114400
|
-
top:
|
|
114403
|
+
top: 50%;
|
|
114401
114404
|
left: 50%;
|
|
114402
114405
|
transform: translate(-50%, -50%) scale(0.8);
|
|
114403
114406
|
z-index: 5;
|
|
@@ -114426,23 +114429,15 @@ class MoviElement extends HTMLElement {
|
|
|
114426
114429
|
transition-delay: 0s;
|
|
114427
114430
|
}
|
|
114428
114431
|
|
|
114429
|
-
/*
|
|
114430
|
-
|
|
114431
|
-
|
|
114432
|
-
|
|
114433
|
-
|
|
114434
|
-
|
|
114435
|
-
|
|
114436
|
-
|
|
114437
|
-
|
|
114438
|
-
top), not the full player. The 44% default biases too far up
|
|
114439
|
-
when there's also a title bar to balance the controls; here
|
|
114440
|
-
the offset is just half the *difference* between the two
|
|
114441
|
-
chrome heights (title ≈ 52px, controls 72px → ~10px above
|
|
114442
|
-
centre on desktop). calc() keeps it right on mobile where
|
|
114443
|
-
--movi-controls-height drops to 64px too. */
|
|
114444
|
-
:host:has(.movi-controls-container.movi-controls-visible):has(.movi-title-bar.movi-title-visible) .movi-center-play-pause {
|
|
114445
|
-
top: calc(50% - (var(--movi-controls-height) - 52px) / 2);
|
|
114432
|
+
/* Default (the base rule) is the true geometric centre. When the controls
|
|
114433
|
+
bar is visible, lift the centre button AND the loading spinner a little
|
|
114434
|
+
so they read as centred in the band above the bar. Keyed off a host
|
|
114435
|
+
class toggled in show/hideControls, because :host:has() checks against
|
|
114436
|
+
the shadow tree don't apply in every engine (notably Electron). The
|
|
114437
|
+
transition on top (in each base rule) animates the move. */
|
|
114438
|
+
:host(.movi-bar-visible) .movi-center-play-pause,
|
|
114439
|
+
:host(.movi-bar-visible) .movi-loading-indicator {
|
|
114440
|
+
top: calc(50% - var(--movi-controls-height) / 4);
|
|
114446
114441
|
}
|
|
114447
114442
|
|
|
114448
114443
|
.movi-center-play-pause:hover {
|
|
@@ -116041,6 +116036,7 @@ class MoviElement extends HTMLElement {
|
|
|
116041
116036
|
});
|
|
116042
116037
|
};
|
|
116043
116038
|
connectedCallback() {
|
|
116039
|
+
this.hasAttribute("tabindex") || (this.tabIndex = 0);
|
|
116044
116040
|
const A2 = this.getAttribute("src");
|
|
116045
116041
|
this._src = A2 || null, this._autoplay = this.hasAttribute("autoplay"), this._controls = this.hasAttribute("controls"), this._loop = this.hasAttribute("loop"), this._muted = this.hasAttribute("muted"), this._playsinline = this.hasAttribute("playsinline"), this._preload = this.getAttribute("preload") || "auto", this._poster = this.getAttribute("poster") || "";
|
|
116046
116042
|
const t2 = this.getAttribute("volume");
|
|
@@ -116487,7 +116483,11 @@ class MoviElement extends HTMLElement {
|
|
|
116487
116483
|
};
|
|
116488
116484
|
this.player.trackManager.on("tracksChange", n2), this.eventHandlers.set("tracksChange", () => this.player?.trackManager.off("tracksChange", n2));
|
|
116489
116485
|
const b2 = (A3) => {
|
|
116490
|
-
if (v.info(jj, `stateChange: ${A3}`),
|
|
116486
|
+
if (v.info(jj, `stateChange: ${A3}`), null !== this._pendingSeek && ("ready" === A3 || "paused" === A3 || "playing" === A3)) {
|
|
116487
|
+
const A4 = this._pendingSeek;
|
|
116488
|
+
this._pendingSeek = null, this.currentTime = A4;
|
|
116489
|
+
}
|
|
116490
|
+
if ("playing" === A3 && this.posterElement && (this._qualitySwitchInProgress && (this._hideSnapshotPoster(), this._qualitySwitchInProgress = false, this._switchResumeTime = 0, this._switchResumeDuration = 0), this.posterElement.style.display = "none"), this.dispatchEvent(new CustomEvent("statechange", { detail: A3 })), this.updateLoadingIndicator(A3), this.updateControlsState(), this.updatePlayPauseIcon(), !this._autoplayStarting || "paused" !== A3 && "ended" !== A3 && "error" !== A3 || (this._autoplayStarting = false, this.updatePlayPauseIcon()), "playing" === A3) {
|
|
116491
116491
|
const A4 = this._autoplayStarting;
|
|
116492
116492
|
if (this._autoplayStarting = false, this._resumeDialogPending && !this._hasEverPlayed && (this._resumeDialogPending = false, this.maybeShowResumeDialog()), this._hasEverPlayed = true, this._loopRestartInFlight = false, this.dispatchEvent(new Event("play")), A4) return this.hideControls(), this.updatePlayPauseIcon(), this._ambientMode && (this._ambientSampleInterval = 200), void ("mediaSession" in navigator && this._title && (navigator.mediaSession.metadata = new MediaMetadata({ title: this._title })));
|
|
116493
116493
|
window.setTimeout(() => {
|
|
@@ -117265,10 +117265,11 @@ class MoviElement extends HTMLElement {
|
|
|
117265
117265
|
return this.player?.getCurrentTime() || 0;
|
|
117266
117266
|
}
|
|
117267
117267
|
set currentTime(A2) {
|
|
117268
|
-
if (!this.player) return;
|
|
117268
|
+
if (!this.player) return void (this._pendingSeek = A2);
|
|
117269
117269
|
A2 = this.clampToBufferedWindow(A2);
|
|
117270
117270
|
const t2 = this.player.getState();
|
|
117271
|
-
v.info(jj, `currentTime setter: value=${A2.toFixed(2)}, state=${t2}, isSeeking=${this.isSeeking}`), "ready"
|
|
117271
|
+
if (v.info(jj, `currentTime setter: value=${A2.toFixed(2)}, state=${t2}, isSeeking=${this.isSeeking}`), "ready" !== t2 && "playing" !== t2 && "paused" !== t2 && "ended" !== t2 && "seeking" !== t2 && "buffering" !== t2) return v.info(jj, `Seek held until ready — state=${t2}`), void (this._pendingSeek = A2);
|
|
117272
|
+
this._pendingSeek = null, this.isSeeking ? this.pendingSeekTarget = A2 : (this.isSeeking = true, this.player.seek(A2).then(() => {
|
|
117272
117273
|
v.info(jj, `Seek resolved: value=${A2.toFixed(2)}, newState=${this.player?.getState()}`);
|
|
117273
117274
|
}).catch((t3) => {
|
|
117274
117275
|
v.error(jj, `Seek error: value=${A2.toFixed(2)}`, t3);
|
|
@@ -117277,7 +117278,7 @@ class MoviElement extends HTMLElement {
|
|
|
117277
117278
|
const A3 = this.pendingSeekTarget;
|
|
117278
117279
|
this.pendingSeekTarget = null, this.currentTime = A3;
|
|
117279
117280
|
}
|
|
117280
|
-
}))
|
|
117281
|
+
}));
|
|
117281
117282
|
}
|
|
117282
117283
|
get renderer() {
|
|
117283
117284
|
return this._renderer;
|
package/dist/player.cjs
CHANGED
|
@@ -49649,7 +49649,7 @@ class MoviVideoDecoder {
|
|
|
49649
49649
|
}
|
|
49650
49650
|
async configure(A, v, b = 0) {
|
|
49651
49651
|
if (this.currentTrack = A, this.targetFps = b, this.currentProfile = A.profile, this.useSoftware = false, this.requiresSoftware = false, this.isAnnexBSource = false, this.openGopErrorCount = 0, this.hardwareRetryCount = 0, this.lastHardwareRetryTime = 0, this.swDecoder && (this.swDecoder.close(), this.swDecoder = null), this.forceSoftware) return Logger$1.info(TAG$h, "Force software decoding enabled, using WASM decoder"), this.useSoftware = true, this.initSoftwareDecoder();
|
|
49652
|
-
if (!("VideoDecoder" in window)) return Logger$1.
|
|
49652
|
+
if (!("VideoDecoder" in window)) return Logger$1.warn(TAG$h, "WebCodecs VideoDecoder not supported — falling back to software decoder"), this.useSoftware = true, this.initSoftwareDecoder();
|
|
49653
49653
|
let j = CodecParser.getCodecString(A.codec, A.extradata);
|
|
49654
49654
|
if (j || (Logger$1.debug(TAG$h, "CodecParser returned null, falling back to manual mapping"), j = this.mapCodecToWebCodecs(A.codec, A.width, A.height, A.profile, A.level)), !j) return Logger$1.error(TAG$h, `Unsupported codec: ${A.codec}`), false;
|
|
49655
49655
|
const s2 = { codec: j, codedWidth: A.width, codedHeight: A.height, hardwareAcceleration: "prefer-hardware" };
|
package/dist/player.js
CHANGED
|
@@ -49664,7 +49664,7 @@ class MoviVideoDecoder {
|
|
|
49664
49664
|
}
|
|
49665
49665
|
async configure(A2, t2, n2 = 0) {
|
|
49666
49666
|
if (this.currentTrack = A2, this.targetFps = n2, this.currentProfile = A2.profile, this.useSoftware = false, this.requiresSoftware = false, this.isAnnexBSource = false, this.openGopErrorCount = 0, this.hardwareRetryCount = 0, this.lastHardwareRetryTime = 0, this.swDecoder && (this.swDecoder.close(), this.swDecoder = null), this.forceSoftware) return v.info(M, "Force software decoding enabled, using WASM decoder"), this.useSoftware = true, this.initSoftwareDecoder();
|
|
49667
|
-
if (!("VideoDecoder" in window)) return v.
|
|
49667
|
+
if (!("VideoDecoder" in window)) return v.warn(M, "WebCodecs VideoDecoder not supported — falling back to software decoder"), this.useSoftware = true, this.initSoftwareDecoder();
|
|
49668
49668
|
let b2 = CodecParser.getCodecString(A2.codec, A2.extradata);
|
|
49669
49669
|
if (b2 || (v.debug(M, "CodecParser returned null, falling back to manual mapping"), b2 = this.mapCodecToWebCodecs(A2.codec, A2.width, A2.height, A2.profile, A2.level)), !b2) return v.error(M, `Unsupported codec: ${A2.codec}`), false;
|
|
49670
49670
|
const j2 = { codec: b2, codedWidth: A2.width, codedHeight: A2.height, hardwareAcceleration: "prefer-hardware" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoviElement.d.ts","sourceRoot":"","sources":["../../src/render/MoviElement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MoviElement.d.ts","sourceRoot":"","sources":["../../src/render/MoviElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,7 @@ export class MoviElement extends HTMLElement {
|
|
|
72
72
|
isOverControls = false;
|
|
73
73
|
isSeeking = false;
|
|
74
74
|
pendingSeekTarget = null; // Coalesces rapid currentTime sets while a seek is in flight
|
|
75
|
+
_pendingSeek = null; // Seek requested before the player was ready; applied on the next seekable state
|
|
75
76
|
isDragging = false;
|
|
76
77
|
isTouchDragging = false;
|
|
77
78
|
// Gesture tracking
|
|
@@ -371,8 +372,11 @@ export class MoviElement extends HTMLElement {
|
|
|
371
372
|
}
|
|
372
373
|
constructor() {
|
|
373
374
|
super();
|
|
374
|
-
//
|
|
375
|
-
this.tabIndex
|
|
375
|
+
// NOTE: do NOT set attributes (or anything that reflects to one, e.g.
|
|
376
|
+
// `this.tabIndex`) here. The Custom Elements spec forbids a constructor
|
|
377
|
+
// from gaining attributes, so `document.createElement("movi-player")`
|
|
378
|
+
// throws `NotSupportedError: The result must not have attributes`.
|
|
379
|
+
// Keyboard focus is enabled in connectedCallback instead. (issue #9)
|
|
376
380
|
// Set log level to INFO by default (change to DEBUG for troubleshooting)
|
|
377
381
|
Logger.setLevel(LogLevel.DEBUG);
|
|
378
382
|
// Create shadow DOM for encapsulation
|
|
@@ -6070,6 +6074,16 @@ export class MoviElement extends HTMLElement {
|
|
|
6070
6074
|
centerPlayPause.classList.add("movi-center-visible");
|
|
6071
6075
|
}
|
|
6072
6076
|
}
|
|
6077
|
+
// Bar visible → lift the centre button + loading spinner slightly to
|
|
6078
|
+
// balance against it (host class the CSS keys off; see hideControls).
|
|
6079
|
+
// But only once playback has started — on the initial load / autoplay-off
|
|
6080
|
+
// screen the big play button and the spinner belong at the true centre.
|
|
6081
|
+
if (this._hasEverPlayed) {
|
|
6082
|
+
this.classList.add("movi-bar-visible");
|
|
6083
|
+
}
|
|
6084
|
+
else {
|
|
6085
|
+
this.classList.remove("movi-bar-visible");
|
|
6086
|
+
}
|
|
6073
6087
|
// Shift timeline panel up above controls
|
|
6074
6088
|
const bar = this.shadowRoot?.querySelector(".movi-controls-bar");
|
|
6075
6089
|
const barHeight = bar?.offsetHeight ?? 80;
|
|
@@ -6427,6 +6441,11 @@ export class MoviElement extends HTMLElement {
|
|
|
6427
6441
|
if (centerPlayPause && state === "playing") {
|
|
6428
6442
|
centerPlayPause.classList.remove("movi-center-visible");
|
|
6429
6443
|
}
|
|
6444
|
+
// Bar hidden → centre button + loading spinner sit at the true centre.
|
|
6445
|
+
// (The :host:has(.movi-controls-hidden) CSS rule meant to do this doesn't
|
|
6446
|
+
// apply against the shadow tree in some engines, e.g. Electron's Chromium,
|
|
6447
|
+
// so the CSS keys off this host class we toggle instead.)
|
|
6448
|
+
this.classList.remove("movi-bar-visible");
|
|
6430
6449
|
// Shift timeline panel down when controls hide
|
|
6431
6450
|
const timelinePanel = this.shadowRoot?.querySelector(".movi-timeline-panel");
|
|
6432
6451
|
if (timelinePanel) {
|
|
@@ -6669,6 +6688,14 @@ export class MoviElement extends HTMLElement {
|
|
|
6669
6688
|
-moz-osx-font-smoothing: grayscale;
|
|
6670
6689
|
}
|
|
6671
6690
|
|
|
6691
|
+
/* The :host{display:block} above is an author rule, so it beats the
|
|
6692
|
+
UA stylesheet's [hidden]{display:none}. Without this, the standard
|
|
6693
|
+
hidden attribute does nothing and the player stays visible. Honour
|
|
6694
|
+
it explicitly. !important so source-order/specificity can't regress it. */
|
|
6695
|
+
:host([hidden]) {
|
|
6696
|
+
display: none !important;
|
|
6697
|
+
}
|
|
6698
|
+
|
|
6672
6699
|
/* Light Theme Override */
|
|
6673
6700
|
:host([theme="light"]) {
|
|
6674
6701
|
--movi-primary: #7c3aed; /* Vibrancy boost for light theme */
|
|
@@ -9257,12 +9284,13 @@ export class MoviElement extends HTMLElement {
|
|
|
9257
9284
|
height: 64px !important;
|
|
9258
9285
|
}
|
|
9259
9286
|
|
|
9260
|
-
/*
|
|
9287
|
+
/* Keyframe animations off on small/compact layouts for perf, but keep
|
|
9288
|
+
CSS transitions so the controls + centre button still move smoothly
|
|
9289
|
+
here too (the PiP / mini player is a small container). */
|
|
9261
9290
|
.movi-controls-overlay,
|
|
9262
9291
|
.movi-center-play-pause,
|
|
9263
9292
|
.movi-btn,
|
|
9264
9293
|
.movi-progress-handle {
|
|
9265
|
-
transition: none !important;
|
|
9266
9294
|
animation: none !important;
|
|
9267
9295
|
transform: none !important;
|
|
9268
9296
|
}
|
|
@@ -9754,7 +9782,7 @@ export class MoviElement extends HTMLElement {
|
|
|
9754
9782
|
button's bar-hidden and both-bars-visible rules exactly. */
|
|
9755
9783
|
.movi-loading-indicator {
|
|
9756
9784
|
position: absolute;
|
|
9757
|
-
top:
|
|
9785
|
+
top: 50%;
|
|
9758
9786
|
left: 50%;
|
|
9759
9787
|
transform: translate(-50%, -50%);
|
|
9760
9788
|
display: flex;
|
|
@@ -9763,15 +9791,7 @@ export class MoviElement extends HTMLElement {
|
|
|
9763
9791
|
z-index: 1000;
|
|
9764
9792
|
pointer-events: none;
|
|
9765
9793
|
background: transparent;
|
|
9766
|
-
|
|
9767
|
-
|
|
9768
|
-
:host:has(.movi-controls-container.movi-controls-hidden) .movi-loading-indicator,
|
|
9769
|
-
:host(:not([controls])) .movi-loading-indicator {
|
|
9770
|
-
top: 50%;
|
|
9771
|
-
}
|
|
9772
|
-
|
|
9773
|
-
:host:has(.movi-controls-container.movi-controls-visible):has(.movi-title-bar.movi-title-visible) .movi-loading-indicator {
|
|
9774
|
-
top: calc(50% - (var(--movi-controls-height) - 52px) / 2);
|
|
9794
|
+
transition: top var(--movi-transition-normal);
|
|
9775
9795
|
}
|
|
9776
9796
|
|
|
9777
9797
|
.movi-loader-container {
|
|
@@ -9813,7 +9833,7 @@ export class MoviElement extends HTMLElement {
|
|
|
9813
9833
|
down adjust this for the other two layout states. */
|
|
9814
9834
|
.movi-center-play-pause {
|
|
9815
9835
|
position: absolute;
|
|
9816
|
-
top:
|
|
9836
|
+
top: 50%;
|
|
9817
9837
|
left: 50%;
|
|
9818
9838
|
transform: translate(-50%, -50%) scale(0.8);
|
|
9819
9839
|
z-index: 5;
|
|
@@ -9842,23 +9862,15 @@ export class MoviElement extends HTMLElement {
|
|
|
9842
9862
|
transition-delay: 0s;
|
|
9843
9863
|
}
|
|
9844
9864
|
|
|
9845
|
-
/*
|
|
9846
|
-
|
|
9847
|
-
|
|
9848
|
-
|
|
9849
|
-
|
|
9850
|
-
|
|
9851
|
-
|
|
9852
|
-
|
|
9853
|
-
|
|
9854
|
-
top), not the full player. The 44% default biases too far up
|
|
9855
|
-
when there's also a title bar to balance the controls; here
|
|
9856
|
-
the offset is just half the *difference* between the two
|
|
9857
|
-
chrome heights (title ≈ 52px, controls 72px → ~10px above
|
|
9858
|
-
centre on desktop). calc() keeps it right on mobile where
|
|
9859
|
-
--movi-controls-height drops to 64px too. */
|
|
9860
|
-
:host:has(.movi-controls-container.movi-controls-visible):has(.movi-title-bar.movi-title-visible) .movi-center-play-pause {
|
|
9861
|
-
top: calc(50% - (var(--movi-controls-height) - 52px) / 2);
|
|
9865
|
+
/* Default (the base rule) is the true geometric centre. When the controls
|
|
9866
|
+
bar is visible, lift the centre button AND the loading spinner a little
|
|
9867
|
+
so they read as centred in the band above the bar. Keyed off a host
|
|
9868
|
+
class toggled in show/hideControls, because :host:has() checks against
|
|
9869
|
+
the shadow tree don't apply in every engine (notably Electron). The
|
|
9870
|
+
transition on top (in each base rule) animates the move. */
|
|
9871
|
+
:host(.movi-bar-visible) .movi-center-play-pause,
|
|
9872
|
+
:host(.movi-bar-visible) .movi-loading-indicator {
|
|
9873
|
+
top: calc(50% - var(--movi-controls-height) / 4);
|
|
9862
9874
|
}
|
|
9863
9875
|
|
|
9864
9876
|
.movi-center-play-pause:hover {
|
|
@@ -11499,6 +11511,11 @@ export class MoviElement extends HTMLElement {
|
|
|
11499
11511
|
});
|
|
11500
11512
|
};
|
|
11501
11513
|
connectedCallback() {
|
|
11514
|
+
// Enable keyboard focus. Set here (not in the constructor) because
|
|
11515
|
+
// assigning tabIndex reflects to a `tabindex` attribute, which a custom
|
|
11516
|
+
// element constructor is not allowed to do. (issue #9)
|
|
11517
|
+
if (!this.hasAttribute("tabindex"))
|
|
11518
|
+
this.tabIndex = 0;
|
|
11502
11519
|
// Read initial attributes
|
|
11503
11520
|
const srcAttr = this.getAttribute("src");
|
|
11504
11521
|
this._src = srcAttr || null;
|
|
@@ -13130,6 +13147,15 @@ export class MoviElement extends HTMLElement {
|
|
|
13130
13147
|
// Forward player events to element
|
|
13131
13148
|
const stateChangeHandler = (state) => {
|
|
13132
13149
|
Logger.info(TAG, `stateChange: ${state}`);
|
|
13150
|
+
// A seek requested before the player was ready was held — apply it now
|
|
13151
|
+
// that we've reached a seekable state (fixes e.g. a PiP/handoff seek that
|
|
13152
|
+
// arrives while the source is still loading).
|
|
13153
|
+
if (this._pendingSeek !== null &&
|
|
13154
|
+
(state === "ready" || state === "paused" || state === "playing")) {
|
|
13155
|
+
const target = this._pendingSeek;
|
|
13156
|
+
this._pendingSeek = null;
|
|
13157
|
+
this.currentTime = target;
|
|
13158
|
+
}
|
|
13133
13159
|
// Hide poster on state change to playing
|
|
13134
13160
|
if (state === "playing" && this.posterElement) {
|
|
13135
13161
|
// Drop the frozen-frame snapshot overlay used during quality switch
|
|
@@ -15888,8 +15914,11 @@ export class MoviElement extends HTMLElement {
|
|
|
15888
15914
|
return this.player?.getCurrentTime() || 0;
|
|
15889
15915
|
}
|
|
15890
15916
|
set currentTime(value) {
|
|
15891
|
-
|
|
15917
|
+
// Player not built yet — hold the seek and apply it once it's ready.
|
|
15918
|
+
if (!this.player) {
|
|
15919
|
+
this._pendingSeek = value;
|
|
15892
15920
|
return;
|
|
15921
|
+
}
|
|
15893
15922
|
// Linear (non-seekable source) playback — only the bytes in the RAM window
|
|
15894
15923
|
// are reachable, so clamp the target to the buffered range instead of
|
|
15895
15924
|
// jumping somewhere that was discarded / not yet downloaded.
|
|
@@ -15902,9 +15931,14 @@ export class MoviElement extends HTMLElement {
|
|
|
15902
15931
|
state !== "ended" &&
|
|
15903
15932
|
state !== "seeking" &&
|
|
15904
15933
|
state !== "buffering") {
|
|
15905
|
-
|
|
15934
|
+
// Not seekable yet (still loading/initialising). Hold the seek; the
|
|
15935
|
+
// stateChange handler applies it the moment the player becomes ready.
|
|
15936
|
+
Logger.info(TAG, `Seek held until ready — state=${state}`);
|
|
15937
|
+
this._pendingSeek = value;
|
|
15906
15938
|
return;
|
|
15907
15939
|
}
|
|
15940
|
+
// We're committed to seeking now, so any earlier held seek is superseded.
|
|
15941
|
+
this._pendingSeek = null;
|
|
15908
15942
|
// Coalesce: a previous seek is still running. Stash the latest target and
|
|
15909
15943
|
// bail. The in-flight seek's finally() will pick up the latest target,
|
|
15910
15944
|
// collapsing any number of intermediate sets into one tail seek.
|