cursedbelt 5.102.0 → 5.103.1
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/dist/react/engagement/index.d.ts +1 -0
- package/dist/react/engagement/index.d.ts.map +1 -1
- package/dist/react/engagement/index.js +3 -1
- package/dist/react/engagement/index.js.map +1 -1
- package/dist/react/engagement/playbackBeacon.d.ts +3 -0
- package/dist/react/engagement/playbackBeacon.d.ts.map +1 -0
- package/dist/react/engagement/playbackBeacon.js +27 -0
- package/dist/react/engagement/playbackBeacon.js.map +1 -0
- package/dist/react/media/MediaLightbox.js +1 -1
- package/dist/react/media/MediaLightbox.js.map +1 -1
- package/dist/react/media/VideoPlayer.d.ts +3 -1
- package/dist/react/media/VideoPlayer.d.ts.map +1 -1
- package/dist/react/media/VideoPlayer.js +62 -14
- package/dist/react/media/VideoPlayer.js.map +1 -1
- package/dist/react/media/VideoSlideContent.d.ts +12 -7
- package/dist/react/media/VideoSlideContent.d.ts.map +1 -1
- package/dist/react/media/VideoSlideContent.js +19 -9
- package/dist/react/media/VideoSlideContent.js.map +1 -1
- package/dist/react/media/mediaPhoto.d.ts +3 -0
- package/dist/react/media/mediaPhoto.d.ts.map +1 -1
- package/dist/react/media/mediaPhoto.js.map +1 -1
- package/dist/react/media/playbackWatch.d.ts +83 -0
- package/dist/react/media/playbackWatch.d.ts.map +1 -0
- package/dist/react/media/playbackWatch.js +167 -0
- package/dist/react/media/playbackWatch.js.map +1 -0
- package/dist/react/media/playerSource.d.ts +24 -0
- package/dist/react/media/playerSource.d.ts.map +1 -0
- package/dist/react/media/playerSource.js +22 -0
- package/dist/react/media/playerSource.js.map +1 -0
- package/dist/react/media/sourceFault.d.ts +5 -59
- package/dist/react/media/sourceFault.d.ts.map +1 -1
- package/dist/react/media/sourceFault.js +69 -2
- package/dist/react/media/sourceFault.js.map +1 -1
- package/dist/react/media/usePlaybackWatch.d.ts +14 -0
- package/dist/react/media/usePlaybackWatch.d.ts.map +1 -0
- package/dist/react/media/usePlaybackWatch.js +32 -0
- package/dist/react/media/usePlaybackWatch.js.map +1 -0
- package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
- package/dist/react/media-gallery/MediaGallery.js +21 -5
- package/dist/react/media-gallery/MediaGallery.js.map +1 -1
- package/dist/scripts/guardrailsEnforce.d.ts.map +1 -1
- package/package.json +2 -2
- package/scripts/guardrailsEnforce.spec.ts +37 -5
- package/scripts/guardrailsEnforce.ts +47 -7
- package/src/react/engagement/index.ts +3 -1
- package/src/react/engagement/playbackBeacon.ts +27 -0
- package/src/react/media/MediaLightbox.tsx +2 -2
- package/src/react/media/VideoPlayer.spec.tsx +24 -0
- package/src/react/media/VideoPlayer.tsx +72 -12
- package/src/react/media/VideoSlideContent.spec.tsx +28 -0
- package/src/react/media/VideoSlideContent.tsx +49 -32
- package/src/react/media/mediaPhoto.ts +3 -0
- package/src/react/media/playbackWatch.spec.ts +196 -0
- package/src/react/media/playbackWatch.ts +218 -0
- package/src/react/media/playerSource.ts +30 -0
- package/src/react/media/sourceFault.spec.tsx +12 -0
- package/src/react/media/sourceFault.tsx +25 -1
- package/src/react/media/usePlaybackWatch.tsx +34 -0
- package/src/react/media-gallery/MediaGallery.tsx +32 -13
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { ENGAGEMENT_BASE_PATH, flushEngagementActions, type ReportActionOptions, type ReportPlaceOptions, reportAction, reportPlace, resetEngagementBeacon, SESSION_PATH, type StopBeacon, startLocationBeacon, currentLocationPlace, } from './beaconClient.js';
|
|
2
|
+
export { startPlaybackBeacon } from './playbackBeacon.js';
|
|
2
3
|
export { EngagementBeacon, useEngagementAction, useEngagementBeacon, useLocationBeacon } from './beacon.js';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/engagement/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/engagement/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,KAAK,UAAU,EACf,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// `cursedbelt/react/engagement-beacon` — the engagement beacon: `reportPlace`, `reportAction` and
|
|
2
|
-
// `startLocationBeacon` (plain JS, no React) and the React hooks over them
|
|
2
|
+
// `startLocationBeacon` (plain JS, no React) and the React hooks over them,
|
|
3
|
+
// and `startPlaybackBeacon`, which turns on the player's load-time reports.
|
|
3
4
|
export { ENGAGEMENT_BASE_PATH, flushEngagementActions, reportAction, reportPlace, resetEngagementBeacon, SESSION_PATH, startLocationBeacon, currentLocationPlace, } from './beaconClient.js';
|
|
5
|
+
export { startPlaybackBeacon } from './playbackBeacon.js';
|
|
4
6
|
export { EngagementBeacon, useEngagementAction, useEngagementBeacon, useLocationBeacon } from './beacon.js';
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/engagement/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,4EAA4E;AAC5E,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EAGtB,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,YAAY,EAEZ,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/engagement/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,4EAA4E;AAC5E,4EAA4E;AAC5E,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EAGtB,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,YAAY,EAEZ,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbackBeacon.d.ts","sourceRoot":"","sources":["../../../src/react/engagement/playbackBeacon.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,MAAgC,GAAG,MAAM,IAAI,CActF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `startPlaybackBeacon` — send what `media/playbackWatch.ts` measures to the app's own API.
|
|
3
|
+
*
|
|
4
|
+
* A POST while the page is alive, and `sendBeacon` when it may not be: a report that a person gave
|
|
5
|
+
* up on a spinner is written as they leave, and a plain `fetch` there is canceled with the page.
|
|
6
|
+
* Same-origin, so the session cookie says whose it is and the body never has to. Failure is silence
|
|
7
|
+
* (`beaconClient.ts`): telemetry never becomes the viewer's problem.
|
|
8
|
+
*/
|
|
9
|
+
import { setPlaybackReporter } from '../media/playbackWatch.js';
|
|
10
|
+
export const PLAYBACK_TELEMETRY_PATH = '/api/playback-telemetry';
|
|
11
|
+
export function startPlaybackBeacon(path = PLAYBACK_TELEMETRY_PATH) {
|
|
12
|
+
const report = (playback, leaving) => {
|
|
13
|
+
const body = JSON.stringify(playback);
|
|
14
|
+
if (leaving && navigator.sendBeacon?.(path, new Blob([body], { type: 'application/json' })))
|
|
15
|
+
return;
|
|
16
|
+
void fetch(path, {
|
|
17
|
+
method: 'POST',
|
|
18
|
+
credentials: 'same-origin',
|
|
19
|
+
keepalive: true,
|
|
20
|
+
headers: { 'content-type': 'application/json' },
|
|
21
|
+
body,
|
|
22
|
+
}).catch(() => undefined);
|
|
23
|
+
};
|
|
24
|
+
setPlaybackReporter(report);
|
|
25
|
+
return () => setPlaybackReporter(null);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=playbackBeacon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbackBeacon.js","sourceRoot":"","sources":["../../../src/react/engagement/playbackBeacon.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAA8C,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE5G,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE,MAAM,UAAU,mBAAmB,CAAC,OAAe,uBAAuB;IACxE,MAAM,MAAM,GAAqB,CAAC,QAAwB,EAAE,OAAO,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAAE,OAAO;QACpG,KAAK,KAAK,CAAC,IAAI,EAAE;YACf,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI;SACL,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -18,7 +18,7 @@ import { VideoSlideContent } from './VideoSlideContent.js';
|
|
|
18
18
|
*/
|
|
19
19
|
export function MediaLightbox({ open, index, slides, close, onView, ...rest }) {
|
|
20
20
|
return (_jsx(Lightbox, { ...rest, open: open, index: index, close: close, slides: slides, plugins: [Thumbnails, Zoom, Captions, Counter], carousel: { finite: true }, thumbnails: { position: 'bottom', showToggle: true }, on: { view: ({ index: i }) => onView?.(i) }, render: {
|
|
21
|
-
slide: ({ slide }) => slide.type === 'video' ? _jsx(VideoSlideContent, { slide: slide }) : undefined,
|
|
21
|
+
slide: ({ slide, offset }) => slide.type === 'video' ? _jsx(VideoSlideContent, { active: offset === 0, slide: slide }) : undefined,
|
|
22
22
|
} }));
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=MediaLightbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLightbox.js","sourceRoot":"","sources":["../../../src/react/media/MediaLightbox.tsx"],"names":[],"mappings":";AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,iDAAiD,CAAC;AACzD,OAAO,gDAAgD,CAAC;AACxD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,QAAQ,EAAE,EAAc,MAAM,4BAA4B,CAAC;AAClE,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AACnE,OAAO,OAAO,MAAM,4CAA4C,CAAC;AACjE,OAAO,UAAU,MAAM,+CAA+C,CAAC;AACvE,OAAO,IAAI,MAAM,yCAAyC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAW3D;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAsB;IAC/F,OAAO,CACL,KAAC,QAAQ,OACH,IAAI,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC9C,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAC1B,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,EACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAC3C,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"MediaLightbox.js","sourceRoot":"","sources":["../../../src/react/media/MediaLightbox.tsx"],"names":[],"mappings":";AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,iDAAiD,CAAC;AACzD,OAAO,gDAAgD,CAAC;AACxD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,QAAQ,EAAE,EAAc,MAAM,4BAA4B,CAAC;AAClE,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AACnE,OAAO,OAAO,MAAM,4CAA4C,CAAC;AACjE,OAAO,UAAU,MAAM,+CAA+C,CAAC;AACvE,OAAO,IAAI,MAAM,yCAAyC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAW3D;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAsB;IAC/F,OAAO,CACL,KAAC,QAAQ,OACH,IAAI,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC9C,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAC1B,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,EACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAC3C,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC3B,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,SAAS;SACjG,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -55,6 +55,8 @@ export interface VideoPlayerProps {
|
|
|
55
55
|
* two optional fields, so every existing source still satisfies this unchanged.
|
|
56
56
|
*/
|
|
57
57
|
video: PlayerVideo;
|
|
58
|
+
/** Where this player is, in the load-time reports (`playbackWatch.ts`). */
|
|
59
|
+
surface?: string;
|
|
58
60
|
/**
|
|
59
61
|
* Start playing on mount. **Defaults to `true`** — see {@link usePrefersReducedMotion} and
|
|
60
62
|
* the block on {@link AUTOPLAY_DEFAULT}.
|
|
@@ -400,7 +402,7 @@ export declare function useLiveScrub(hostRef: RefObject<HTMLElement | null>, pla
|
|
|
400
402
|
*/
|
|
401
403
|
export declare function preferBundledHls(provider: MediaProviderAdapter | null): void;
|
|
402
404
|
export declare function usePrefersReducedMotion(): boolean;
|
|
403
|
-
export declare function VideoPlayer({ video, autoPlay, muted, volumeKey, className, aspectRatio, onEnded, loop, liveScrub, smallLayoutWhen, onStep, canStep, fullscreenOnDoubleClick, fillWindow, onFillWindowChange, ...rest }: VideoPlayerProps): import("react").JSX.Element;
|
|
405
|
+
export declare function VideoPlayer({ video, autoPlay, muted, volumeKey, className, aspectRatio, onEnded, loop, liveScrub, smallLayoutWhen, onStep, canStep, fullscreenOnDoubleClick, fillWindow, onFillWindowChange, surface, ...rest }: VideoPlayerProps): import("react").JSX.Element;
|
|
404
406
|
/**
|
|
405
407
|
* The transport state for a video surface: a thin progress bar pinned across the bottom edge
|
|
406
408
|
* while derivatives build (indeterminate shimmer until real progress arrives), plus whatever
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../src/react/media/VideoPlayer.tsx"],"names":[],"mappings":"AAAA,OAAO,iDAAiD,CAAC;AACzD,OAAO,yDAAyD,CAAC;AACjE,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EAI1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../src/react/media/VideoPlayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@ import { Gesture, isHLSProvider, MediaPlayer, MediaProvider, Poster, Track, useM
|
|
|
6
6
|
import { DefaultVideoLayout, defaultLayoutIcons, } from '@vidstack/react/player/layouts/default';
|
|
7
7
|
import { useEffect, useMemo, useRef, useState, } from 'react';
|
|
8
8
|
import { PLAYER_VOLUME_KEY, readSessionVolume, writeSessionVolume, } from '../media-gallery/playbackPreferences.js';
|
|
9
|
-
import { hlsErrorIsAnswer, probeSourceFault, SourceFaultOverlay, } from './sourceFault.js';
|
|
9
|
+
import { hlsErrorIsAnswer, probeSourceFault, SourceFaultOverlay, hlsErrorName, } from './sourceFault.js';
|
|
10
10
|
import { BarButton, mergeSlots, sectionSlots } from './controlBar.js';
|
|
11
|
+
import { playerSource } from './playerSource.js';
|
|
12
|
+
import { usePlaybackWatch } from './usePlaybackWatch.js';
|
|
11
13
|
import { takePlayhead } from './playheadHandoff.js';
|
|
12
14
|
import { isSurfaceControl } from './surfaceGesture.js';
|
|
13
15
|
import { chapterSpans } from './videoChapters.js';
|
|
@@ -362,7 +364,7 @@ export function usePrefersReducedMotion() {
|
|
|
362
364
|
});
|
|
363
365
|
return reduced;
|
|
364
366
|
}
|
|
365
|
-
export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_KEY, className, aspectRatio = DEFAULT_VIDEO_ASPECT_RATIO, onEnded, loop, liveScrub = true, smallLayoutWhen = isSmallVideoLayout, onStep, canStep = true, fullscreenOnDoubleClick = true, fillWindow = false, onFillWindowChange, ...rest }) {
|
|
367
|
+
export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_KEY, className, aspectRatio = DEFAULT_VIDEO_ASPECT_RATIO, onEnded, loop, liveScrub = true, smallLayoutWhen = isSmallVideoLayout, onStep, canStep = true, fullscreenOnDoubleClick = true, fillWindow = false, onFillWindowChange, surface = 'player', ...rest }) {
|
|
366
368
|
/*
|
|
367
369
|
* 🔴 What the SOURCES have answered, and why a player needs to hold that at all.
|
|
368
370
|
*
|
|
@@ -382,10 +384,38 @@ export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_
|
|
|
382
384
|
*/
|
|
383
385
|
const [ladderAnswered, setLadderAnswered] = useState(false);
|
|
384
386
|
const [fault, setFault] = useState(null);
|
|
385
|
-
|
|
386
|
-
const
|
|
387
|
-
|
|
388
|
-
|
|
387
|
+
/** Bumped by the fault's Try again: a fresh element, and the ladder gets its turn back. */
|
|
388
|
+
const [attempt, setAttempt] = useState(0);
|
|
389
|
+
// Memoized: a new object is a new source to Vidstack, and that restarts a load on every render.
|
|
390
|
+
const { hlsUrl, streamUrl } = video;
|
|
391
|
+
const { src, onLadder, progressive } = useMemo(() => playerSource({ hlsUrl, streamUrl }, ladderAnswered), [hlsUrl, streamUrl, ladderAnswered]);
|
|
392
|
+
const watch = usePlaybackWatch(video.id, surface);
|
|
393
|
+
useEffect(() => {
|
|
394
|
+
watch.current?.source(onLadder ? 'ladder' : progressive ? 'progressive' : 'none');
|
|
395
|
+
}, [watch, onLadder, progressive]);
|
|
396
|
+
/*
|
|
397
|
+
* 🔴 A typed source is a `<source>` child, and when one fails the `error` fires on the `<source>`,
|
|
398
|
+
* never on the `<video>`. Vidstack listens on the `<video>`, so a 404 there was silence and a
|
|
399
|
+
* spinner for ever (forge task 4062, reproduced in `e2e/playbackSources.browser.test.ts`). `error`
|
|
400
|
+
* does not bubble but it does capture, so the host hears it.
|
|
401
|
+
*/
|
|
402
|
+
useEffect(() => {
|
|
403
|
+
const host = hostRef.current;
|
|
404
|
+
if (!host)
|
|
405
|
+
return;
|
|
406
|
+
const onSourceError = (event) => {
|
|
407
|
+
if (event.target instanceof HTMLSourceElement)
|
|
408
|
+
sourceFailed.current();
|
|
409
|
+
};
|
|
410
|
+
host.addEventListener('error', onSourceError, true);
|
|
411
|
+
return () => host.removeEventListener('error', onSourceError, true);
|
|
412
|
+
}, []);
|
|
413
|
+
const giveUp = (url) => {
|
|
414
|
+
void probeSourceFault(url).then((found) => {
|
|
415
|
+
setFault(found);
|
|
416
|
+
watch.current?.failed(`${found.kind}${found.status ? `:${found.status}` : ''}`);
|
|
417
|
+
});
|
|
418
|
+
};
|
|
389
419
|
// See AUTOPLAY_DEFAULT. `muted` follows `autoPlay` because an unmuted autoplay is refused
|
|
390
420
|
// by every browser and the refusal LOOKS like the spinner this batch removed — unless he
|
|
391
421
|
// has already set a level on this surface this session, which is what `session` carries.
|
|
@@ -411,6 +441,11 @@ export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_
|
|
|
411
441
|
const applied = useRef({ volume: startVolume, muted: shouldMute });
|
|
412
442
|
/** A mute the BROWSER forced on us — see `onAutoPlayFail` below. Never his choice, so never stored. */
|
|
413
443
|
const forcedMute = useRef(false);
|
|
444
|
+
const sourceFailed = useRef(() => { });
|
|
445
|
+
sourceFailed.current = () => {
|
|
446
|
+
watch.current?.note('media:source');
|
|
447
|
+
giveUp(progressive);
|
|
448
|
+
};
|
|
414
449
|
const status = video.processingStatus;
|
|
415
450
|
// 🔴 `playbackDegraded` is its own reason to draw, not a processing state — a video that
|
|
416
451
|
// optimized perfectly can still be served off the progressive copy because the ladder probe
|
|
@@ -425,19 +460,26 @@ export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_
|
|
|
425
460
|
? {
|
|
426
461
|
onDoubleClick: (event) => toggleFullscreenOnSurfaceDoubleClick(playerRef.current, event.target),
|
|
427
462
|
}
|
|
428
|
-
: {}), children: [_jsxs(MediaPlayer, { ref: playerRef, src:
|
|
463
|
+
: {}), children: [_jsxs(MediaPlayer, { ref: playerRef, ...(src ? { src } : {}),
|
|
429
464
|
// 🔴 The hls.js engine is served from this origin, not from jsdelivr. See
|
|
430
465
|
// `preferBundledHls` — without it an adaptive ladder depends on a third-party CDN
|
|
431
466
|
// and fails as a permanent spinner when that CDN is unreachable.
|
|
432
467
|
onProviderChange: (provider) => {
|
|
433
468
|
preferBundledHls(provider);
|
|
434
|
-
bindVidstackQuality(provider, qualityStore,
|
|
469
|
+
bindVidstackQuality(provider, qualityStore, onLadder);
|
|
435
470
|
},
|
|
436
471
|
/* See {@link hlsErrorIsAnswer}. Typed `unknown` on purpose: `hls.js` is an OPTIONAL
|
|
437
472
|
peer, so its `ErrorData` must not become a static type dependency of this file. */
|
|
438
473
|
onHlsError: (detail) => {
|
|
439
|
-
|
|
474
|
+
const error = hlsErrorName(detail);
|
|
475
|
+
if (error)
|
|
476
|
+
watch.current?.note(error);
|
|
477
|
+
if (!hlsErrorIsAnswer(detail))
|
|
478
|
+
return;
|
|
479
|
+
if (progressive)
|
|
440
480
|
setLadderAnswered(true);
|
|
481
|
+
else
|
|
482
|
+
giveUp(video.hlsUrl);
|
|
441
483
|
},
|
|
442
484
|
/* The element itself gave up, and what that means depends on what was playing.
|
|
443
485
|
With a LADDER in play it is the case Vidstack has no answer for at all — a browser
|
|
@@ -448,12 +490,13 @@ export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_
|
|
|
448
490
|
same call `hlsSource.ts` makes when its recovery budget is spent, and a playing film
|
|
449
491
|
beats a dead one. On the progressive copy there is no turn left, so the URL is
|
|
450
492
|
probed for what it actually said and the picture says it. */
|
|
451
|
-
onError: () => {
|
|
452
|
-
|
|
493
|
+
onError: (detail) => {
|
|
494
|
+
watch.current?.note(`media:${detail?.code ?? 'unknown'}`);
|
|
495
|
+
if (onLadder && progressive) {
|
|
453
496
|
setLadderAnswered(true);
|
|
454
497
|
return;
|
|
455
498
|
}
|
|
456
|
-
|
|
499
|
+
giveUp(progressive ?? video.hlsUrl);
|
|
457
500
|
}, title: video.name, poster: video.posterUrl, crossOrigin: true, playsInline: true, autoPlay: shouldAutoPlay, muted: shouldMute,
|
|
458
501
|
// 🔴 The level he set this session, restored on the element — see `resolveAutoplay`
|
|
459
502
|
// and `SessionVolume`. Both values are constant for the life of this mount, so
|
|
@@ -493,12 +536,13 @@ export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_
|
|
|
493
536
|
// Load eagerly rather than on-visible: the watch surface can size to a
|
|
494
537
|
// zero-height box during iOS Safari's container-query resolution, so a
|
|
495
538
|
// `visible` gate never fired and the player sat on a perpetual spinner.
|
|
496
|
-
load: 'eager', viewType: 'video', aspectRatio: aspectRatio, className: className, style: { width: '100%', height: '100%', maxHeight: '100%' }, loop: loop, onEnded: onEnded,
|
|
539
|
+
load: 'eager', viewType: 'video', aspectRatio: aspectRatio, className: className, style: { width: '100%', height: '100%', maxHeight: '100%' }, loop: loop, onEnded: onEnded, onWaiting: () => watch.current?.stalled(), onPlaying: () => watch.current?.resumed(),
|
|
497
540
|
/* 🔴 Where a surface that just CLOSED left this video — the focus viewer's ‹ Back, for
|
|
498
541
|
one. See `playheadHandoff.ts`. On `can-play`, because a seek before the element can
|
|
499
542
|
play is dropped, and taking it consumes it: a later load of the same element (the
|
|
500
543
|
ladder handing over to the progressive copy) must not jump back there again. */
|
|
501
544
|
onCanPlay: () => {
|
|
545
|
+
watch.current?.ready();
|
|
502
546
|
const at = takePlayhead(video.id);
|
|
503
547
|
const player = playerRef.current;
|
|
504
548
|
if (at !== null && player)
|
|
@@ -512,7 +556,11 @@ export function VideoPlayer({ video, autoPlay, muted, volumeKey = PLAYER_VOLUME_
|
|
|
512
556
|
// "many options from very slow to very fast": 0.1 is frame-crawling, which is the
|
|
513
557
|
// speed you actually want for studying a moment, and 4 is for skimming a long
|
|
514
558
|
// clip. The default five steps cover neither end.
|
|
515
|
-
playbackRates: PLAYBACK_RATES, ...(slots ? { slots } : {}) })] }), showProcessing ? (_jsx(ProcessingIndicator, { status: status, progress: video.processingProgress, playbackDegraded: video.playbackDegraded })) : null, fault ? _jsx(SourceFaultOverlay, { fault: fault, name: video.name
|
|
559
|
+
playbackRates: PLAYBACK_RATES, ...(slots ? { slots } : {}) })] }, attempt), showProcessing ? (_jsx(ProcessingIndicator, { status: status, progress: video.processingProgress, playbackDegraded: video.playbackDegraded })) : null, fault ? (_jsx(SourceFaultOverlay, { fault: fault, name: video.name, onRetry: () => {
|
|
560
|
+
setFault(null);
|
|
561
|
+
setLadderAnswered(false);
|
|
562
|
+
setAttempt((n) => n + 1);
|
|
563
|
+
} })) : null] }));
|
|
516
564
|
}
|
|
517
565
|
/**
|
|
518
566
|
* The named sections, as the `kind='chapters'` text track Vidstack's default layout is already
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../src/react/media/VideoPlayer.tsx"],"names":[],"mappings":";AAAA,OAAO,iDAAiD,CAAC;AACzD,OAAO,yDAAyD,CAAC;AACjE,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EAEX,aAAa,EAEb,MAAM,EACN,KAAK,EACL,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAElB,kBAAkB,GACnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAGL,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAEjB,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEhB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAA0C,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAyI5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oCAAoC,CAClD,MAAwF,EACxF,MAA0B;IAE1B,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO;IAChD,2FAA2F;IAC3F,yFAAyF;IACzF,4EAA4E;IAC5E,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU;QAAE,KAAK,MAAM,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;;QACrE,KAAK,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,SAAS,CAAC,EAAE,KAAK,EAAqB;IAC7C,OAAO,CACL,cACE,SAAS,EAAC,UAAU,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,iBACP,MAAM,EAClB,SAAS,EAAC,OAAO,YAEhB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACX,8BACE,eAAM,CAAC,EAAC,gBAAgB,GAAG,EAC3B,eAAM,CAAC,EAAC,yFAAyF,GAAG,IACnG,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,eAAM,CAAC,EAAC,qBAAqB,GAAG,EAChC,eAAM,CAAC,EAAC,qFAAqF,GAAG,IAC/F,CACJ,GACG,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,SAAS,CACvB,MAA6C,EAC7C,OAAgB;IAEhB,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAChC,KAAC,SAAS,IACR,SAAS,EAAC,WAAW,EACrB,QAAQ,EAAE,CAAC,OAAO,gBACN,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EACrD,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,EAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAE5B,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,GAAI,GACjB,CACb,CAAC;IACF,MAAM,IAAI,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,EAAE,MAAM,EAAuB;IACtD,OAAO,CACL,cACE,SAAS,EAAC,UAAU,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,iBACL,MAAM,EAClB,SAAS,EAAC,OAAO,YAEhB,MAAM,CAAC,CAAC,CAAC,CACR,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,GAAG,CACtD,CAAC,CAAC,CAAC,CACF,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,CACnD,GACG,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CACtB,MAAe,EACf,QAA+C;IAE/C,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,IAAI,GAAG;QACX,sBAAsB,EAAE,CACtB,KAAC,SAAS,IACR,SAAS,EAAC,kBAAkB,gBACjB,aAAa,kBACV,MAAM,EACpB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,EAC7D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAEhC,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,GACzB,CACb;KACF,CAAC;IACF,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAuC;IACxE,OAAO,IAAI,CAAC,KAAK,GAAG,sBAAsB,IAAI,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC;AACtF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElF,gGAAgG;AAChG,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,eAAe,CAAC,IAM/B;IACC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACrC,OAAO;QACL,QAAQ;QACR,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,IAAI,QAAQ;QAC/C,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAsC,EACtC,SAAgD,EAChD,OAAO,GAAG,IAAI;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;YAAE,OAAO;QAC9B,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;YACjC,MAAM,IAAI,GAAI,KAA6B,CAAC,MAAM,CAAC;YACnD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC9C,mFAAmF;YACnF,qFAAqF;YACrF,kDAAkD;YAClD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAqC;IACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO;IACrC,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC9B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAC3F,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,GAAG,iBAAiB,EAC7B,SAAS,EACT,WAAW,GAAG,0BAA0B,EACxC,OAAO,EACP,IAAI,EACJ,SAAS,GAAG,IAAI,EAChB,eAAe,GAAG,kBAAkB,EACpC,MAAM,EACN,OAAO,GAAG,IAAI,EACd,uBAAuB,GAAG,IAAI,EAC9B,UAAU,GAAG,KAAK,EAClB,kBAAkB,EAClB,GAAG,IAAI,EACU;IACjB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC7D,6EAA6E;IAC7E,MAAM,GAAG,GACP,KAAK,CAAC,MAAM,IAAI,CAAC,cAAc;QAC7B,CAAC,CAAE,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAY;QACjE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IAEtB,0FAA0F;IAC1F,yFAAyF;IACzF,yFAAyF;IACzF,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAChD,4FAA4F;IAC5F,0FAA0F;IAC1F,2FAA2F;IAC3F,wEAAwE;IACxE,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAuB,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IACrF,MAAM,EACJ,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,GACpB,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IACpD,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE5C;;;;;;;;OAQG;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IACnE,uGAAuG;IACvG,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACtC,yFAAyF;IACzF,4FAA4F;IAC5F,kEAAkE;IAClE,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;IAEjG,sFAAsF;IACtF,kFAAkF;IAClF,2FAA2F;IAC3F,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CACH,UAAU,CACR,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC5B,YAAY,CAAC,YAAY,CAAC,EAC1B,eAAe,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAChD,EACH,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAChF,CAAC;IAEF,OAAO,CAGL,kBACM,IAAI,EACR,GAAG,EAAE,OAAO,iBACA,cAAc,EAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAM1E,CAAC,uBAAuB;YAC1B,CAAC,CAAC;gBACE,aAAa,EAAE,CAAC,KAAsC,EAAE,EAAE,CACxD,oCAAoC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;aACxE;YACH,CAAC,CAAC,EAAE,CAAC,aAEP,MAAC,WAAW,IACV,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,GAAG;gBACR,0EAA0E;gBAC1E,kFAAkF;gBAClF,iEAAiE;gBACjE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAC7B,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAC3B,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;gBACvE,CAAC;gBACD;qGACqF;gBACrF,UAAU,EAAE,CAAC,MAAe,EAAE,EAAE;oBAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC;wBAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxD,CAAC;gBACD;;;;;;;;+EAQ+D;gBAC/D,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpC,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBACxB,OAAO;oBACT,CAAC;oBACD,KAAK,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxD,CAAC,EACD,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,WAAW,QACX,WAAW,QACX,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,UAAU;gBACjB,oFAAoF;gBACpF,+EAA+E;gBAC/E,sFAAsF;gBACtF,gFAAgF;gBAChF,MAAM,EAAE,WAAW;gBACnB;;wFAEwE;gBACxE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;oBACzB,sEAAsE;oBACtE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK;wBACpF,OAAO;oBACT,OAAO,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACvB,8EAA8E;wBAC9E,gCAAgC;wBAChC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;wBAC3B,OAAO;oBACT,CAAC;oBACD,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjD,CAAC;gBACD;;;;;uGAKuF;gBACvF,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;oBACzB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;oBACjC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK;wBAAE,OAAO;oBACpC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;oBACpB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,uEAAuE;gBACvE,uEAAuE;gBACvE,wEAAwE;gBACxE,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAC,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAC3D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO;gBAChB;;;kGAGkF;gBAClF,SAAS,EAAE,GAAG,EAAE;oBACd,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;oBACjC,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM;wBAAE,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;gBACrD,CAAC,aAED,MAAC,aAAa,eACX,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,KAAC,MAAM,IAAC,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,GAAI,CACzE,CAAC,CAAC,CAAC,IAAI,EAUR,KAAC,OAAO,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAC,WAAW,EAAC,MAAM,EAAC,eAAe,GAAG,EAC5E,KAAC,aAAa,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,IAC7B,EAChB,KAAC,kBAAkB,IACjB,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,KAAK,CAAC,MAAM;wBACxB,kFAAkF;wBAClF,mFAAmF;wBACnF,wBAAwB;wBACxB,eAAe,EAAE,eAAe;wBAChC,8EAA8E;wBAC9E,kFAAkF;wBAClF,8EAA8E;wBAC9E,kDAAkD;wBAClD,aAAa,EAAE,cAAc,KAGzB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC5B,IACU,EAEb,cAAc,CAAC,CAAC,CAAC,CAChB,KAAC,mBAAmB,IAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GACxC,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,KAAK,CAAC,CAAC,CAAC,KAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,IAClE,CACP,CAAC;AACJ,CAAC;AAGD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,aAAa,CAAC,EAAE,QAAQ,EAA0C;IACzE,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzB,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,IAAI,EAAE,IAAI,CAAC,KAAK;aACjB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,KAAC,KAAK,IAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,EAAC,OAAO,SAAG,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,wCAAwC,CAAC;AAC3E,MAAM,uBAAuB,GAAG,mDAAmD,CAAC;AAEpF;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB,CAAC,EACzB,gBAAgB,EAChB,gBAAgB,GAIjB;IACC,MAAM,KAAK,GAAG;QACZ,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI;QACnD,yFAAyF;QACzF,wFAAwF;QACxF,2DAA2D;QAC3D,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI;KAClD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,CACL,cACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,UAAU;YACtB,GAAG,EAAE,CAAC;YACN,aAAa,EAAE,MAAM;SACtB,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,cAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,GAAG;gBACjB,iFAAiF;gBACjF,oEAAoE;gBACpE,4DAA4D;gBAC5D,UAAU,EAAE,qBAAqB;gBACjC,KAAK,EAAE,0BAA0B;gBACjC,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG;aAChB,YAEA,IAAI,IAfA,IAAI,CAgBL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,GAAG,IAAI,EAKR;IACC,uFAAuF;IACvF,MAAM,MAAM,GAAG,CACb,KAAC,iBAAiB,IAAC,gBAAgB,EAAE,MAAM,KAAK,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,GAAI,CACjG,CAAC;IACF,2FAA2F;IAC3F,wDAAwD;IACxD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC;IAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,CAAC;IAEpC,OAAO,CACL,8BAGG,MAAM,EACP,kBACM,IAAI,EACR,IAAI,EAAC,aAAa,gBACP,kBAAkB,mBACd,CAAC,mBACD,GAAG,mBACH,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAC9D,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,kFAAkF;oBAClF,qFAAqF;oBACrF,iEAAiE;oBACjE,4DAA4D;oBAC5D,UAAU,EAAE,2BAA2B;oBACvC,QAAQ,EAAE,QAAQ;oBAClB,aAAa,EAAE,MAAM;iBACtB,aAED,0BAEI,+GAA+G,GAE3G,EACR,cACE,KAAK,EAAE;4BACL,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG;4BAC5C,MAAM,EAAE,MAAM;4BACd,UAAU,EAAE,kCAAkC;4BAC9C,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;4BACrD,SAAS,EAAE,aAAa;gCACtB,CAAC,CAAC,6DAA6D;gCAC/D,CAAC,CAAC,SAAS;yBACd,GACD,IACE,IACL,CACJ,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../src/react/media/VideoPlayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import '@vidstack/react/player/styles/default/theme.css';
|
|
2
|
-
import '@vidstack/react/player/styles/default/layouts/video.css';
|
|
3
1
|
import type { MediaVideoSlide } from './mediaPhoto.js';
|
|
4
2
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
3
|
+
* A video or audio slide inside YARL.
|
|
4
|
+
*
|
|
5
|
+
* 🔴 A video is the shared {@link VideoPlayer}, never a second Vidstack of its own. This was a bare
|
|
6
|
+
* `MediaPlayer` handed one string: no ladder, no bundled hls.js, no error handling and no way to
|
|
7
|
+
* say anything had gone wrong, so a source it could not load left its spinner up for ever (forge
|
|
8
|
+
* task 4062). Everything a player has to know about failing lives in one place.
|
|
9
|
+
*
|
|
10
|
+
* Only the slide on screen gets a player. YARL renders its neighbors too, and each would load its
|
|
11
|
+
* media and start a clock on a video nobody opened.
|
|
9
12
|
*/
|
|
10
|
-
export declare function VideoSlideContent({ slide, ...rest }: {
|
|
13
|
+
export declare function VideoSlideContent({ slide, active, ...rest }: {
|
|
11
14
|
slide: MediaVideoSlide;
|
|
15
|
+
/** Is this the slide on screen? */
|
|
16
|
+
active?: boolean;
|
|
12
17
|
}): import("react").JSX.Element;
|
|
13
18
|
//# sourceMappingURL=VideoSlideContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoSlideContent.d.ts","sourceRoot":"","sources":["../../../src/react/media/VideoSlideContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VideoSlideContent.d.ts","sourceRoot":"","sources":["../../../src/react/media/VideoSlideContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAa,EACb,GAAG,IAAI,EACR,EAAE;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,+BA6CA"}
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import '@vidstack/react/player/styles/default/theme.css';
|
|
3
|
-
import '@vidstack/react/player/styles/default/layouts/video.css';
|
|
4
2
|
import { MediaPlayer, MediaProvider, Poster } from '@vidstack/react';
|
|
5
|
-
import { DefaultAudioLayout,
|
|
3
|
+
import { DefaultAudioLayout, defaultLayoutIcons } from '@vidstack/react/player/layouts/default';
|
|
4
|
+
import { VideoPlayer } from './VideoPlayer.js';
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* A video or audio slide inside YARL.
|
|
7
|
+
*
|
|
8
|
+
* 🔴 A video is the shared {@link VideoPlayer}, never a second Vidstack of its own. This was a bare
|
|
9
|
+
* `MediaPlayer` handed one string: no ladder, no bundled hls.js, no error handling and no way to
|
|
10
|
+
* say anything had gone wrong, so a source it could not load left its spinner up for ever (forge
|
|
11
|
+
* task 4062). Everything a player has to know about failing lives in one place.
|
|
12
|
+
*
|
|
13
|
+
* Only the slide on screen gets a player. YARL renders its neighbors too, and each would load its
|
|
14
|
+
* media and start a clock on a video nobody opened.
|
|
11
15
|
*/
|
|
12
|
-
export function VideoSlideContent({ slide, ...rest }) {
|
|
16
|
+
export function VideoSlideContent({ slide, active = true, ...rest }) {
|
|
13
17
|
const isAudio = slide.item.type === 'audio';
|
|
14
18
|
return (_jsx("div", { ...rest, className: 'yarl__media-player', style: {
|
|
15
19
|
width: 'min(92vw, 1280px)',
|
|
16
20
|
maxHeight: '85vh',
|
|
17
21
|
display: 'flex',
|
|
18
22
|
alignItems: 'center',
|
|
19
|
-
}, children: _jsxs(MediaPlayer, { src: slide.src, title: slide.title, poster: slide.poster, crossOrigin: true, playsInline: true, load: 'visible', viewType:
|
|
23
|
+
}, children: isAudio ? (_jsxs(MediaPlayer, { src: slide.src, title: slide.title, poster: slide.poster, crossOrigin: true, playsInline: true, load: 'visible', viewType: 'audio', style: { width: '100%' }, children: [_jsx(MediaProvider, { children: slide.poster ? _jsx(Poster, { className: 'vds-poster', src: slide.poster, alt: slide.title ?? '' }) : null }), _jsx(DefaultAudioLayout, { icons: defaultLayoutIcons })] })) : active ? (_jsx(VideoPlayer, { surface: 'lightbox', video: {
|
|
24
|
+
id: slide.item.id,
|
|
25
|
+
name: slide.title ?? slide.item.name,
|
|
26
|
+
streamUrl: slide.src,
|
|
27
|
+
...(slide.hlsSrc ? { hlsUrl: slide.hlsSrc } : {}),
|
|
28
|
+
...(slide.poster ? { posterUrl: slide.poster } : {}),
|
|
29
|
+
} })) : slide.poster ? (_jsx("img", { alt: '', className: 'yarl__slide_image', src: slide.poster })) : null }));
|
|
20
30
|
}
|
|
21
31
|
//# sourceMappingURL=VideoSlideContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoSlideContent.js","sourceRoot":"","sources":["../../../src/react/media/VideoSlideContent.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"VideoSlideContent.js","sourceRoot":"","sources":["../../../src/react/media/VideoSlideContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,GAAG,IAAI,EACb,GAAG,IAAI,EAKR;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;IAC5C,OAAO,CACL,iBACM,IAAI,EACR,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE;YACL,KAAK,EAAE,mBAAmB;YAC1B,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;SACrB,YAEA,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,WAAW,IACV,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,QACX,WAAW,QACX,IAAI,EAAC,SAAS,EACd,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAExB,KAAC,aAAa,cACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,GACrF,EAChB,KAAC,kBAAkB,IAAC,KAAK,EAAE,kBAAkB,GAAI,IACrC,CACf,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACX,KAAC,WAAW,IACV,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;gBACjB,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI;gBACpC,SAAS,EAAE,KAAK,CAAC,GAAG;gBACpB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD,GACD,CACH,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACjB,cAAK,GAAG,EAAC,EAAE,EAAC,SAAS,EAAC,mBAAmB,EAAC,GAAG,EAAE,KAAK,CAAC,MAAM,GAAI,CAChE,CAAC,CAAC,CAAC,IAAI,GACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -8,7 +8,10 @@ export interface MediaPhoto extends Photo {
|
|
|
8
8
|
/** YARL video slide (also used for audio) rendered by Vidstack via `render.slide`. */
|
|
9
9
|
export interface MediaVideoSlide {
|
|
10
10
|
type: 'video';
|
|
11
|
+
/** The progressive copy. Empty for a video that exists only as its ladder. */
|
|
11
12
|
src: string;
|
|
13
|
+
/** The adaptive ladder's master playlist. Preferred over `src` when present. */
|
|
14
|
+
hlsSrc?: string;
|
|
12
15
|
poster?: string;
|
|
13
16
|
title?: string;
|
|
14
17
|
description?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaPhoto.d.ts","sourceRoot":"","sources":["../../../src/react/media/mediaPhoto.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,uBAAuB,CAAC;AAE5E,yFAAyF;AACzF,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;CACjB;AAID,OAAO,QAAQ,4BAA4B,CAAC;IAC1C,UAAU,UAAU;QAClB,KAAK,EAAE,eAAe,CAAC;KACxB;CACF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAW5D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,EAAE,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAmBvD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,KAAK,EAAE,CAEvE"}
|
|
1
|
+
{"version":3,"file":"mediaPhoto.d.ts","sourceRoot":"","sources":["../../../src/react/media/mediaPhoto.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,uBAAuB,CAAC;AAE5E,yFAAyF;AACzF,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;CACjB;AAID,OAAO,QAAQ,4BAA4B,CAAC;IAC1C,UAAU,UAAU;QAClB,KAAK,EAAE,eAAe,CAAC;KACxB;CACF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAW5D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,UAAU,EAAE,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAmBvD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,KAAK,EAAE,CAEvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaPhoto.js","sourceRoot":"","sources":["../../../src/react/media/mediaPhoto.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qFAAqF;AACrF,sFAAsF;AACtF,0CAA0C;AAI1C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"mediaPhoto.js","sourceRoot":"","sources":["../../../src/react/media/mediaPhoto.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qFAAqF;AACrF,sFAAsF;AACtF,0CAA0C;AAI1C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA4B5E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAe;IAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,EAAE;QACZ,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG;QAClC,KAAK;QACL,MAAM;QACN,GAAG,EAAE,IAAI,CAAC,IAAI;QACd,KAAK,EAAE,IAAI,CAAC,IAAI;QAChB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA2B;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAe;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG;YAChC,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;SAC9B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,YAAY;QACzB,KAAK,EAAE,IAAI,CAAC,IAAI;QAChB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA2B;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How long a video took to start, and what went wrong if it did not — measured in the browser,
|
|
3
|
+
* because nothing else can see it.
|
|
4
|
+
*
|
|
5
|
+
* The owner, 2026-10-30: *"since a bug can make it load forever it has to proactively send metrics
|
|
6
|
+
* when the delay is taking longer than expected for a video."* A report sent when loading FINISHES
|
|
7
|
+
* can never describe the worst case, so the clock is the point: from the moment a video is asked
|
|
8
|
+
* for, {@link SLOW_CHECKPOINTS_MS} report it as still `waiting`, however the wait ends. Closing the
|
|
9
|
+
* page or the player mid-wait reports `abandoned` — a person giving up on a spinner, which is the
|
|
10
|
+
* signature of the bug nobody tells you about.
|
|
11
|
+
*
|
|
12
|
+
* One open is one {@link PlaybackReport#id}, so a sink can keep one row per open and let each report
|
|
13
|
+
* replace the last. A fast load costs exactly one report.
|
|
14
|
+
*
|
|
15
|
+
* Nothing runs until an app installs a reporter ({@link setPlaybackReporter}). The seam is the
|
|
16
|
+
* player itself, so every surface and every app gets it from one line at boot rather than a prop
|
|
17
|
+
* threaded through each gallery. Failure is silence, as in `engagement/beaconClient.ts`.
|
|
18
|
+
*
|
|
19
|
+
* Pure of the DOM on purpose: the clock and the timers are injected, so a spec can state a stuck
|
|
20
|
+
* load and read the reports without waiting for one.
|
|
21
|
+
*/
|
|
22
|
+
export type PlaybackState = 'waiting' | 'ready' | 'stalled' | 'failed' | 'abandoned';
|
|
23
|
+
/** What the player was trying to play. `none`: no source yet, so the wait is the app's, not the media's. */
|
|
24
|
+
export type PlaybackSource = 'none' | 'ladder' | 'progressive';
|
|
25
|
+
export interface PlaybackReport {
|
|
26
|
+
/** One open of one video. */
|
|
27
|
+
id: string;
|
|
28
|
+
itemId: string;
|
|
29
|
+
/** Where it was opened: `stage`, `lightbox`, or an app's own word. */
|
|
30
|
+
surface: string;
|
|
31
|
+
source: PlaybackSource;
|
|
32
|
+
state: PlaybackState;
|
|
33
|
+
/** Asked for until ready, or until now while it has not been. */
|
|
34
|
+
waitedMs: number;
|
|
35
|
+
/** Asked for until the element could play. Absent until it could. */
|
|
36
|
+
readyMs?: number;
|
|
37
|
+
/** Times playback ran out of data after it started, and how long those lasted. */
|
|
38
|
+
stalls: number;
|
|
39
|
+
stallMs: number;
|
|
40
|
+
/** The last thing that went wrong, as `hls:<details>:<status>`, `media:<code>` or a fault kind. */
|
|
41
|
+
error?: string;
|
|
42
|
+
/** The tab was in the background, so a long wait may be the browser's choice and not a bug. */
|
|
43
|
+
hidden: boolean;
|
|
44
|
+
}
|
|
45
|
+
/** `leaving`: the page may be going away, so the sink must use a transport that survives that. */
|
|
46
|
+
export type PlaybackReporter = (report: PlaybackReport, leaving: boolean) => void;
|
|
47
|
+
/**
|
|
48
|
+
* When a wait stops being normal. The first is what "longer than expected" means: a warm start
|
|
49
|
+
* takes well under a second and a cold ladder segment about two (`cwip/edge-warm`'s measurements).
|
|
50
|
+
* The list ends so that a tab left on a spinner overnight does not report all night.
|
|
51
|
+
*/
|
|
52
|
+
export declare const SLOW_CHECKPOINTS_MS: readonly [5000, 15000, 30000, 60000, 120000, 300000, 600000];
|
|
53
|
+
/** A stall this long is reported as it happens rather than when the player closes. */
|
|
54
|
+
export declare const SLOW_STALL_MS = 5000;
|
|
55
|
+
export interface PlaybackWatch {
|
|
56
|
+
readonly itemId: string;
|
|
57
|
+
start(): void;
|
|
58
|
+
source(source: PlaybackSource): void;
|
|
59
|
+
ready(): void;
|
|
60
|
+
stalled(): void;
|
|
61
|
+
resumed(): void;
|
|
62
|
+
/** Something went wrong, and the player is still trying. */
|
|
63
|
+
note(error: string): void;
|
|
64
|
+
/** Nothing is left to try. */
|
|
65
|
+
failed(error: string): void;
|
|
66
|
+
/** The wait was not a load at all (a video still converting), so it is not reported. */
|
|
67
|
+
cancel(): void;
|
|
68
|
+
close(): void;
|
|
69
|
+
}
|
|
70
|
+
export interface PlaybackWatchDeps {
|
|
71
|
+
now?: () => number;
|
|
72
|
+
setTimer?: (run: () => void, ms: number) => unknown;
|
|
73
|
+
clearTimer?: (timer: unknown) => void;
|
|
74
|
+
isHidden?: () => boolean;
|
|
75
|
+
newId?: () => string;
|
|
76
|
+
}
|
|
77
|
+
/** Install the sink — once, at boot. Null removes it. */
|
|
78
|
+
export declare function setPlaybackReporter(next: PlaybackReporter | null): void;
|
|
79
|
+
export declare function createPlaybackWatch(input: {
|
|
80
|
+
itemId: string;
|
|
81
|
+
surface: string;
|
|
82
|
+
}, deps?: PlaybackWatchDeps): PlaybackWatch;
|
|
83
|
+
//# sourceMappingURL=playbackWatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbackWatch.d.ts","sourceRoot":"","sources":["../../../src/react/media/playbackWatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErF,4GAA4G;AAC5G,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,kGAAkG;AAClG,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAElF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,8DAAsE,CAAC;AAEvG,sFAAsF;AACtF,eAAO,MAAM,aAAa,OAAQ,CAAC;AAKnC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8BAA8B;IAC9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wFAAwF;IACxF,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAID,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAEvE;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC1C,IAAI,GAAE,iBAAsB,GAC3B,aAAa,CAuHf"}
|