supervision 0.2.0-next.0 → 0.2.0-next.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/dist/constants/media-renderer.d.ts +3 -0
- package/dist/constants/media-renderer.d.ts.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1722 -1395
- package/dist/index.js.map +1 -1
- package/dist/mask-preparation.worker.js +109 -31
- package/dist/mask-preparation.worker.js.map +1 -1
- package/dist/media/media-frame-clock.d.ts +4 -0
- package/dist/media/media-frame-clock.d.ts.map +1 -0
- package/dist/media/media-source-state.d.ts.map +1 -1
- package/dist/media/media-source.d.ts +6 -0
- package/dist/media/media-source.d.ts.map +1 -1
- package/dist/media/video-engine-media-source.d.ts +17 -7
- package/dist/media/video-engine-media-source.d.ts.map +1 -1
- package/dist/media/video-engine-media-source.js +3 -0
- package/dist/media/video-engine-media-source.js.map +1 -0
- package/dist/playback/media-playback-controller.d.ts +7 -1
- package/dist/playback/media-playback-controller.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-artifact.d.ts +2 -0
- package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-compositor.d.ts +7 -0
- package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +1 -0
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
- package/dist/render-preparation/prepared-render-window.d.ts +21 -2
- package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
- package/dist/render-preparation/prepared-window-timeline.d.ts +1 -0
- package/dist/render-preparation/prepared-window-timeline.d.ts.map +1 -1
- package/dist/renderers/injected-pixi.d.ts +38 -0
- package/dist/renderers/injected-pixi.d.ts.map +1 -0
- package/dist/renderers/media-frame-navigation.d.ts +17 -0
- package/dist/renderers/media-frame-navigation.d.ts.map +1 -0
- package/dist/renderers/media-renderer-core.d.ts +9 -0
- package/dist/renderers/media-renderer-core.d.ts.map +1 -1
- package/dist/renderers/media-renderer-scene.d.ts +17 -5
- package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
- package/dist/renderers/media-renderer-state.d.ts +9 -0
- package/dist/renderers/media-renderer-state.d.ts.map +1 -1
- package/dist/renderers/media-renderer-transport.d.ts +19 -3
- package/dist/renderers/media-renderer-transport.d.ts.map +1 -1
- package/dist/renderers/pixi-focus-layer.d.ts +1 -0
- package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-frame-present.d.ts +1 -1
- package/dist/renderers/pixi-frame-present.d.ts.map +1 -1
- package/dist/renderers/pixi-id-mask-shader.d.ts +4 -33
- package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts +0 -1
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-halo.d.ts +4 -33
- package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-layer.d.ts +28 -29
- package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
- package/dist/renderers/pixi-polygon-layer.d.ts +2 -0
- package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-region-coverage-mask.d.ts +4 -33
- package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -1
- package/dist/renderers/pixi-region-layer.d.ts +6 -31
- package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-shader-lifecycle.d.ts +14 -0
- package/dist/renderers/pixi-shader-lifecycle.d.ts.map +1 -0
- package/dist/renderers/prepared-annotation-window.d.ts.map +1 -1
- package/dist/renderers/presented-frame-channel.d.ts +34 -1
- package/dist/renderers/presented-frame-channel.d.ts.map +1 -1
- package/dist/sessions/media-session-defaults.d.ts.map +1 -1
- package/dist/sessions/media-session-detections.d.ts.map +1 -1
- package/dist/sessions/media-session-state.d.ts.map +1 -1
- package/dist/sessions/media-session.d.ts.map +1 -1
- package/dist/tracking.worker.js +19 -5
- package/dist/tracking.worker.js.map +1 -1
- package/dist/types/media-frame-clock.d.ts +16 -0
- package/dist/types/media-frame-clock.d.ts.map +1 -0
- package/dist/types/media-frame-navigation.d.ts +28 -0
- package/dist/types/media-frame-navigation.d.ts.map +1 -0
- package/dist/types/media-renderer-display.d.ts +12 -0
- package/dist/types/media-renderer-display.d.ts.map +1 -0
- package/dist/types/media-renderer.d.ts +13 -0
- package/dist/types/media-renderer.d.ts.map +1 -1
- package/dist/types/media-session.d.ts +35 -32
- package/dist/types/media-session.d.ts.map +1 -1
- package/dist/types/render-preparation.d.ts +78 -28
- package/dist/types/render-preparation.d.ts.map +1 -1
- package/dist/video-engine-media-source-DR-x1UfK.js +483 -0
- package/dist/video-engine-media-source-DR-x1UfK.js.map +1 -0
- package/dist/web-video-engine/analysis-session.d.ts +0 -1
- package/dist/web-video-engine/analysis.d.ts +0 -1
- package/dist/web-video-engine/analysis.js +211 -23
- package/dist/web-video-engine/cache-budget.d.ts +0 -1
- package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +6 -2
- package/dist/web-video-engine/clock.d.ts +0 -1
- package/dist/web-video-engine/constants.d.ts +9 -1
- package/dist/web-video-engine/create-scrub-cursor.d.ts +6 -3
- package/dist/web-video-engine/decode-resolution.d.ts +0 -1
- package/dist/web-video-engine/decode-scheduler.d.ts +26 -5
- package/dist/web-video-engine/decode-session.d.ts +11 -1
- package/dist/web-video-engine/decode-source.d.ts +11 -1
- package/dist/web-video-engine/diagnostics-store.d.ts +0 -1
- package/dist/web-video-engine/diagnostics.d.ts +19 -19
- package/dist/web-video-engine/embedded-engine-worker.d.ts +0 -1
- package/dist/web-video-engine/engine-core.d.ts +31 -11
- package/dist/web-video-engine/engine.d.ts +3 -4
- package/dist/web-video-engine/engine.js +175 -44
- package/dist/web-video-engine/engine.worker.d.ts +0 -1
- package/dist/web-video-engine/engine.worker.js +5712 -2947
- package/dist/web-video-engine/frame-cache.d.ts +121 -12
- package/dist/web-video-engine/frame-extractor.d.ts +0 -1
- package/dist/web-video-engine/{frame-timeline-GINI8Gum.js → frame-timeline-DreEwsRY.js} +83 -27
- package/dist/web-video-engine/frame-timeline.d.ts +10 -1
- package/dist/web-video-engine/frame-walker.d.ts +0 -1
- package/dist/web-video-engine/index.d.ts +12 -2
- package/dist/web-video-engine/index.d.ts.map +1 -1
- package/dist/web-video-engine/index.js +2 -2
- package/dist/web-video-engine/key-packet.d.ts +0 -1
- package/dist/web-video-engine/keyframe-index.d.ts +0 -1
- package/dist/web-video-engine/mirror-store.d.ts +0 -1
- package/dist/web-video-engine/pausable-deadline.d.ts +11 -0
- package/dist/web-video-engine/renderer.d.ts +0 -1
- package/dist/web-video-engine/rotation.d.ts +0 -1
- package/dist/web-video-engine/scrub-controller.d.ts +8 -5
- package/dist/web-video-engine/scrub-cursor.d.ts +15 -7
- package/dist/web-video-engine/scrub-trajectory.d.ts +0 -1
- package/dist/web-video-engine/source-residency.d.ts +35 -1
- package/dist/web-video-engine/trace-recorder.d.ts +0 -1
- package/dist/web-video-engine/types.d.ts +18 -22
- package/dist/web-video-engine/video-engine.d.ts +39 -17
- package/dist/web-video-engine/webgpu-renderer.d.ts +0 -1
- package/dist/web-video-engine/worker-bridge.d.ts +0 -1
- package/dist/web-video-engine/worker-dispatch.d.ts +0 -1
- package/dist/web-video-engine/worker-protocol.d.ts +38 -15
- package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.d.ts +2 -2
- package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.js +182 -68
- package/node_modules/supervision-js-core/dist/index.js.map +1 -1
- package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +20 -3
- package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +28 -26
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +16 -0
- package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +19 -0
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/media/media-condition-probe.d.ts +0 -51
- package/dist/media/media-condition-probe.d.ts.map +0 -1
- package/dist/media/media-conditions.d.ts +0 -28
- package/dist/media/media-conditions.d.ts.map +0 -1
- package/dist/types/media-conditions.d.ts +0 -149
- package/dist/types/media-conditions.d.ts.map +0 -1
- package/dist/web-video-engine/analysis-session.d.ts.map +0 -1
- package/dist/web-video-engine/analysis.d.ts.map +0 -1
- package/dist/web-video-engine/analysis.js.map +0 -1
- package/dist/web-video-engine/cache-budget.d.ts.map +0 -1
- package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts.map +0 -1
- package/dist/web-video-engine/clock.d.ts.map +0 -1
- package/dist/web-video-engine/constants.d.ts.map +0 -1
- package/dist/web-video-engine/create-scrub-cursor.d.ts.map +0 -1
- package/dist/web-video-engine/decode-resolution.d.ts.map +0 -1
- package/dist/web-video-engine/decode-scheduler.d.ts.map +0 -1
- package/dist/web-video-engine/decode-session.d.ts.map +0 -1
- package/dist/web-video-engine/decode-source.d.ts.map +0 -1
- package/dist/web-video-engine/diagnostics-store.d.ts.map +0 -1
- package/dist/web-video-engine/diagnostics.d.ts.map +0 -1
- package/dist/web-video-engine/embedded-engine-worker.d.ts.map +0 -1
- package/dist/web-video-engine/engine-core.d.ts.map +0 -1
- package/dist/web-video-engine/engine.d.ts.map +0 -1
- package/dist/web-video-engine/engine.js.map +0 -1
- package/dist/web-video-engine/engine.worker.d.ts.map +0 -1
- package/dist/web-video-engine/engine.worker.js.map +0 -1
- package/dist/web-video-engine/frame-cache.d.ts.map +0 -1
- package/dist/web-video-engine/frame-extractor.d.ts.map +0 -1
- package/dist/web-video-engine/frame-timeline-GINI8Gum.js.map +0 -1
- package/dist/web-video-engine/frame-timeline.d.ts.map +0 -1
- package/dist/web-video-engine/frame-walker.d.ts.map +0 -1
- package/dist/web-video-engine/key-packet.d.ts.map +0 -1
- package/dist/web-video-engine/keyframe-index.d.ts.map +0 -1
- package/dist/web-video-engine/mirror-store.d.ts.map +0 -1
- package/dist/web-video-engine/renderer.d.ts.map +0 -1
- package/dist/web-video-engine/rotation.d.ts.map +0 -1
- package/dist/web-video-engine/scrub-controller.d.ts.map +0 -1
- package/dist/web-video-engine/scrub-cursor.d.ts.map +0 -1
- package/dist/web-video-engine/scrub-trajectory.d.ts.map +0 -1
- package/dist/web-video-engine/source-residency.d.ts.map +0 -1
- package/dist/web-video-engine/trace-recorder.d.ts.map +0 -1
- package/dist/web-video-engine/types.d.ts.map +0 -1
- package/dist/web-video-engine/video-engine.d.ts.map +0 -1
- package/dist/web-video-engine/webgpu-renderer.d.ts.map +0 -1
- package/dist/web-video-engine/worker-bridge.d.ts.map +0 -1
- package/dist/web-video-engine/worker-dispatch.d.ts.map +0 -1
- package/dist/web-video-engine/worker-protocol.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-frame-clock.d.ts","sourceRoot":"","sources":["../../src/media/media-frame-clock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,GACtB,eAAe,CAgCjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-source-state.d.ts","sourceRoot":"","sources":["../../src/media/media-source-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,wBAAgB,6BAA6B,IAAI,gBAAgB,
|
|
1
|
+
{"version":3,"file":"media-source-state.d.ts","sourceRoot":"","sources":["../../src/media/media-source-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,wBAAgB,6BAA6B,IAAI,gBAAgB,CAoBhE;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,0BAA0B,GACnC,gBAAgB,CAoBlB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { MediaRendererDisplay } from "#types/media-renderer-display";
|
|
1
2
|
import type { PresentedFrameChannel } from "#renderers/presented-frame-channel";
|
|
3
|
+
import type { MediaFrameClock } from "#types/media-frame-clock";
|
|
2
4
|
export interface DecodedVideoSample {
|
|
3
5
|
readonly timestamp: number;
|
|
4
6
|
readonly duration: number;
|
|
@@ -41,6 +43,8 @@ export interface DecodedMediaSourceMetadata {
|
|
|
41
43
|
readonly estimatedFrameCount?: number | null;
|
|
42
44
|
}
|
|
43
45
|
export interface DecodedMediaSource {
|
|
46
|
+
/** Reconfigure the existing presentation output; true means a replacement frame was delivered. */
|
|
47
|
+
readonly setDisplay?: (display: MediaRendererDisplay) => Promise<boolean>;
|
|
44
48
|
readonly input: DisposableMediaInput;
|
|
45
49
|
readonly metadata: DecodedMediaSourceMetadata;
|
|
46
50
|
readonly sampleSink: DecodedVideoSampleSink;
|
|
@@ -51,5 +55,7 @@ export interface DecodedMediaSource {
|
|
|
51
55
|
* serves thumbnails and one-off grabs.
|
|
52
56
|
*/
|
|
53
57
|
readonly engine?: PresentedFrameChannel;
|
|
58
|
+
/** Exact timing when the source already owns a presentation frame index. */
|
|
59
|
+
readonly frameClock?: MediaFrameClock;
|
|
54
60
|
}
|
|
55
61
|
//# sourceMappingURL=media-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-source.d.ts","sourceRoot":"","sources":["../../src/media/media-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"media-source.d.ts","sourceRoot":"","sources":["../../src/media/media-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,IAAI,CACF,OAAO,EAAE,wBAAwB,GAAG,iCAAiC,EACrE,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAAC;IACR,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACtC,OAAO,CACL,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD;;;;;OAKG;IACH,mBAAmB,CAAC,CAClB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,cAAc,CAAC,kBAAkB,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,kGAAkG;IAClG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;CACvC"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import type { DecodedMediaSource } from "#media/media-source";
|
|
2
2
|
import type { PresentedFrameChannel } from "#renderers/presented-frame-channel";
|
|
3
3
|
import type { MediaRendererSource } from "#types/media-renderer";
|
|
4
|
-
import type { DecodeResolutionStrategy, DisplayBoxResolutionOptions,
|
|
5
|
-
export interface
|
|
4
|
+
import type { BlobVideoSource, DecodeResolutionStrategy, DisplayBoxResolutionOptions, UrlVideoSource, WebVideoEngine, WebVideoEngineOptions } from "#web-video-engine";
|
|
5
|
+
export interface WebVideoEngineMediaSourceOptions extends Omit<WebVideoEngineOptions, "presentation" | "source"> {
|
|
6
|
+
/**
|
|
7
|
+
* The video to open. Two readers open it here, so it has to be one that can
|
|
8
|
+
* be opened twice: the worker-backed engine decodes playback and scrubbing,
|
|
9
|
+
* and the analysis session behind `sampleSink` decodes thumbnails and one-off
|
|
10
|
+
* grabs from scratch. A URL re-fetches and a Blob re-reads. A ReadableStream
|
|
11
|
+
* yields its bytes once, and the engine's load transfers it to the worker,
|
|
12
|
+
* which detaches it here, so the pull path would be left with nothing to
|
|
13
|
+
* read; pass one to {@link WebVideoEngine} directly instead.
|
|
14
|
+
*/
|
|
15
|
+
readonly source: UrlVideoSource | BlobVideoSource;
|
|
6
16
|
/**
|
|
7
17
|
* The box a compositor paints these frames into, in CSS pixels, with the
|
|
8
18
|
* viewer's device pixel ratio.
|
|
@@ -22,15 +32,15 @@ export interface VideoEngineMediaSourceOptions extends Omit<VideoEngineOptions,
|
|
|
22
32
|
*/
|
|
23
33
|
readonly frameDecodeStrategy?: DecodeResolutionStrategy;
|
|
24
34
|
}
|
|
25
|
-
export interface
|
|
35
|
+
export interface WebVideoEngineMediaSource extends DecodedMediaSource {
|
|
26
36
|
/**
|
|
27
37
|
* The loaded engine. Naming the renderer's channel in the type is what fails
|
|
28
38
|
* the build if the engine's transport stops answering that seam.
|
|
29
39
|
*/
|
|
30
|
-
readonly engine:
|
|
40
|
+
readonly engine: WebVideoEngine & PresentedFrameChannel;
|
|
31
41
|
}
|
|
32
42
|
/**
|
|
33
|
-
* Adapts
|
|
43
|
+
* Adapts the web video engine to the decoded-media source seam.
|
|
34
44
|
*
|
|
35
45
|
* The pull path, `sampleSink`, serves one-off reads such as thumbnails and
|
|
36
46
|
* single frame grabs, decoding each request from scratch through the engine's
|
|
@@ -39,6 +49,6 @@ export interface VideoEngineMediaSource extends DecodedMediaSource {
|
|
|
39
49
|
* earns the screen, so a compositor subscribes to `engine` and never pulls
|
|
40
50
|
* samples here.
|
|
41
51
|
*/
|
|
42
|
-
export declare function
|
|
43
|
-
export declare function
|
|
52
|
+
export declare function openWebVideoEngineMediaSource(options: WebVideoEngineMediaSourceOptions): Promise<WebVideoEngineMediaSource>;
|
|
53
|
+
export declare function createWebVideoEngineMediaRendererSource(options: WebVideoEngineMediaSourceOptions): MediaRendererSource;
|
|
44
54
|
//# sourceMappingURL=video-engine-media-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-engine-media-source.d.ts","sourceRoot":"","sources":["../../src/media/video-engine-media-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAE3B,
|
|
1
|
+
{"version":3,"file":"video-engine-media-source.d.ts","sourceRoot":"","sources":["../../src/media/video-engine-media-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAE3B,cAAc,EACd,cAAc,EACd,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAqB3B,MAAM,WAAW,gCAAiC,SAAQ,IAAI,CAC5D,qBAAqB,EACrB,cAAc,GAAG,QAAQ,CAC1B;IACC;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,CAAC;IAClD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CACzD;AAED,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,qBAAqB,CAAC;CACzD;AAED;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,yBAAyB,CAAC,CAoDpC;AAwDD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,gCAAgC,GACxC,mBAAmB,CAMrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-engine-media-source.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -14,11 +14,17 @@ export declare function createMediaPlaybackController(options: {
|
|
|
14
14
|
readonly initialMediaTime: number;
|
|
15
15
|
readonly playbackRate?: number;
|
|
16
16
|
readonly presentSample: (sample: DecodedVideoSample) => void;
|
|
17
|
-
readonly waitForSample?: (sample: DecodedVideoSample) => Promise<void>;
|
|
17
|
+
readonly waitForSample?: (sample: DecodedVideoSample, signal: AbortSignal) => Promise<void>;
|
|
18
18
|
readonly onCurrentTimeChange: (currentTime: number) => void;
|
|
19
19
|
readonly onEnded: () => void;
|
|
20
20
|
readonly onError: (error: unknown) => void;
|
|
21
21
|
readonly onWaiting?: () => void;
|
|
22
22
|
readonly onResume?: () => void;
|
|
23
|
+
/**
|
|
24
|
+
* The picture has run out of decoded samples and cannot draw the next frame
|
|
25
|
+
* until the source produces one. Prefetch running behind a moving picture
|
|
26
|
+
* does not report here.
|
|
27
|
+
*/
|
|
28
|
+
readonly onSourceWait?: (waiting: boolean) => void;
|
|
23
29
|
}): MediaPlaybackController;
|
|
24
30
|
//# sourceMappingURL=media-playback-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-playback-controller.d.ts","sourceRoot":"","sources":["../../src/playback/media-playback-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAU7B,MAAM,WAAW,uBAAuB;IACtC,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"media-playback-controller.d.ts","sourceRoot":"","sources":["../../src/playback/media-playback-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAU7B,MAAM,WAAW,uBAAuB;IACtC,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,CACvB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD,GAAG,uBAAuB,CAue1B"}
|
|
@@ -58,6 +58,8 @@ export interface PreparedIdMaskFrame {
|
|
|
58
58
|
readonly maxStrokeWidth: number;
|
|
59
59
|
readonly raster: Uint8Array<ArrayBuffer>;
|
|
60
60
|
readonly regionMaskCoverage?: PreparedRegionMaskCoverageFrame;
|
|
61
|
+
/** The frame-wide mask width every stroke on this raster is scaled against. */
|
|
62
|
+
readonly sourceWidth: number;
|
|
61
63
|
readonly strokePalette: Float32Array<ArrayBuffer>;
|
|
62
64
|
readonly strokeWidths: Float32Array<ArrayBuffer>;
|
|
63
65
|
readonly width: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-frame-artifact.d.ts","sourceRoot":"","sources":["../../src/render-preparation/mask-frame-artifact.ts"],"names":[],"mappings":"AAAA,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,oBAAY,mBAAmB;IAC7B,EAAE,YAAY;IACd,KAAK,eAAe;CACrB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,+BAA+B,EAAE,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE5E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,UAGV"}
|
|
1
|
+
{"version":3,"file":"mask-frame-artifact.d.ts","sourceRoot":"","sources":["../../src/render-preparation/mask-frame-artifact.ts"],"names":[],"mappings":"AAAA,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,oBAAY,mBAAmB;IAC7B,EAAE,YAAY;IACd,KAAK,eAAe;CACrB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,+BAA+B,EAAE,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IAC9D,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE5E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,UAGV"}
|
|
@@ -11,5 +11,12 @@ export interface CompositedMaskFrame {
|
|
|
11
11
|
export declare function createRegionMaskCoverageFrame(instructions: readonly SerializableMaskInstruction[]): PreparedRegionMaskCoverageFrame | undefined;
|
|
12
12
|
export declare function compositeMaskFrame(instructions: readonly SerializableMaskInstruction[]): CompositedMaskFrame | undefined;
|
|
13
13
|
export declare function createIdMaskRasterFrame(instructions: readonly SerializableMaskInstruction[], maxRasterWidth?: number): IdMaskFrame | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the palette has a slot for every detection this frame masks. An id
|
|
16
|
+
* names a detection by its index in the frame, so one masked detection past the
|
|
17
|
+
* last slot leaves the whole frame without an id raster however few masks it
|
|
18
|
+
* carries.
|
|
19
|
+
*/
|
|
20
|
+
export declare function canIdMaskPaletteNameFrame(instructions: readonly SerializableMaskInstruction[]): boolean;
|
|
14
21
|
export declare function createIdMaskPlane(instructions: readonly SerializableMaskInstruction[], maxRasterWidth?: number): PreparedIdMaskPlane | undefined;
|
|
15
22
|
//# sourceMappingURL=mask-frame-compositor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-frame-compositor.d.ts","sourceRoot":"","sources":["../../src/render-preparation/mask-frame-compositor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,KAAK,EACV,mBAAmB,EAEnB,+BAA+B,EAChC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"mask-frame-compositor.d.ts","sourceRoot":"","sources":["../../src/render-preparation/mask-frame-compositor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,KAAK,EACV,mBAAmB,EAEnB,+BAA+B,EAChC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAsB7B,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,+EAA+E;AAC/E,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,SAAS,2BAA2B,EAAE,GACnD,+BAA+B,GAAG,SAAS,CAmB7C;AA6CD,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,SAAS,2BAA2B,EAAE,GACnD,mBAAmB,GAAG,SAAS,CAgBjC;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,SAAS,2BAA2B,EAAE,EACpD,cAAc,CAAC,EAAE,MAAM,GACtB,WAAW,GAAG,SAAS,CAUzB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,SAAS,2BAA2B,EAAE,WAOrD;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,SAAS,2BAA2B,EAAE,EACpD,cAAc,CAAC,EAAE,MAAM,GACtB,mBAAmB,GAAG,SAAS,CAajC"}
|
|
@@ -52,6 +52,7 @@ export interface MaskPreparationWorkerCompleteMessage {
|
|
|
52
52
|
readonly raster?: Uint8Array<ArrayBuffer>;
|
|
53
53
|
readonly regionMaskCoverage?: PreparedRegionMaskCoverageFrame;
|
|
54
54
|
readonly requestId: number;
|
|
55
|
+
readonly sourceWidth?: number;
|
|
55
56
|
readonly strokePalette?: Float32Array<ArrayBuffer>;
|
|
56
57
|
readonly strokeWidths?: Float32Array<ArrayBuffer>;
|
|
57
58
|
readonly type: MaskPreparationWorkerMessageType.Complete;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-preparation-worker-protocol.d.ts","sourceRoot":"","sources":["../../src/render-preparation/mask-preparation-worker-protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mask-preparation-worker-protocol.d.ts","sourceRoot":"","sources":["../../src/render-preparation/mask-preparation-worker-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AAE/B,oBAAY,gCAAgC;IAC1C,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,UAAU,iCAAiC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,2BAA2B,GACnC,CAAC,iCAAiC,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CAC1B,CAAC,GACF,CAAC,iCAAiC,GAAG;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;QAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACH,CAAC,CAAC;AAEP,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,OAAO,CAAC;CACzD;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,QAAQ,CAAC;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,KAAK,CAAC;CACvD;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,KAAK,CAAC;CACvD;AAED,MAAM,MAAM,4BAA4B,GAAG,mCAAmC,CAAC;AAE/E,MAAM,MAAM,6BAA6B,GACrC,oCAAoC,GACpC,iCAAiC,GACjC,iCAAiC,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { type PreparedRenderTimelineContext } from "#render-preparation/prepared
|
|
|
4
4
|
import { type BufferedDetectionTimeline } from "supervision-js-core";
|
|
5
5
|
import type { DetectionFrame } from "supervision-js-core";
|
|
6
6
|
import type { MaskStyle } from "supervision-js-core";
|
|
7
|
-
import { RenderPreparationArtifactKind, type RenderPreparationOptions, type
|
|
7
|
+
import { RenderPreparationArtifactKind, type RenderPreparationOptions, type ResolvedRenderPreparationGateThresholds } from "#types/render-preparation";
|
|
8
8
|
export interface PreparedRenderFrame {
|
|
9
9
|
readonly detectionFrame: DetectionFrame;
|
|
10
10
|
readonly key: string;
|
|
@@ -24,7 +24,26 @@ export interface PreparedRenderWindow {
|
|
|
24
24
|
* nothing. True when there is nothing to cook: no style, no frame there.
|
|
25
25
|
*/
|
|
26
26
|
isArtifactPrepared(mediaTime: number): boolean;
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Frames preparation has finished, counted up across the window's life. Read
|
|
29
|
+
* twice, it separates preparation that is slow from preparation that is
|
|
30
|
+
* stuck: the count moves for a cook that lands however far behind the
|
|
31
|
+
* playhead it is, and a cook that lands and is then evicted still counts.
|
|
32
|
+
*/
|
|
33
|
+
getPreparationProgress(): number;
|
|
34
|
+
/**
|
|
35
|
+
* Whether `waitForReady` would wait, answered without scheduling anything.
|
|
36
|
+
* Asked on every playhead move of a source that has to be stopped to be
|
|
37
|
+
* held, where opening a wait that resolves immediately still costs the stop.
|
|
38
|
+
*/
|
|
39
|
+
needsPlaybackGateWait(mediaTime: number, options: ResolvedRenderPreparationGateThresholds): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Resolves once the media time may be presented. `signal` is how a caller
|
|
42
|
+
* that has moved on says so: aborting resolves the wait and drops the hold it
|
|
43
|
+
* was placing on preparation, because a caller that walked away re-checks
|
|
44
|
+
* whatever it does next anyway. Without one, an abandoned wait holds forever.
|
|
45
|
+
*/
|
|
46
|
+
waitForReady(mediaTime: number, options: ResolvedRenderPreparationGateThresholds, signal?: AbortSignal): Promise<void>;
|
|
28
47
|
/**
|
|
29
48
|
* Whether the playhead is moving. A window over a resting playhead covers a
|
|
30
49
|
* paused margin instead of the full prefetch span.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-render-window.d.ts","sourceRoot":"","sources":["../../src/render-preparation/prepared-render-window.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAGL,6BAA6B,EAI7B,KAAK,wBAAwB,EAC7B,KAAK,
|
|
1
|
+
{"version":3,"file":"prepared-render-window.d.ts","sourceRoot":"","sources":["../../src/render-preparation/prepared-render-window.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-window-timeline.d.ts","sourceRoot":"","sources":["../../src/render-preparation/prepared-window-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/D,eAAe,CACb,cAAc,EAAE,SAAS,cAAc,EAAE,EACzC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,SAAS,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAAC;CAC1D;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,
|
|
1
|
+
{"version":3,"file":"prepared-window-timeline.d.ts","sourceRoot":"","sources":["../../src/render-preparation/prepared-window-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/D,eAAe,CACb,cAAc,EAAE,SAAS,cAAc,EAAE,EACzC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,SAAS,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAAC;CAC1D;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CAkFrE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Mesh as PixiMesh, MeshGeometry as PixiMeshGeometry, Shader as PixiShader } from "pixi.js";
|
|
2
|
+
/**
|
|
3
|
+
* A shader built from the GLSL program alone draws nothing under the WebGPU
|
|
4
|
+
* renderer and raises nothing while doing it, so both programs are required of
|
|
5
|
+
* every renderer that builds one and of every renderer that hands the factory
|
|
6
|
+
* on to another.
|
|
7
|
+
*/
|
|
8
|
+
export type InjectedShaderFactory = {
|
|
9
|
+
from(options: {
|
|
10
|
+
gl: {
|
|
11
|
+
fragment: string;
|
|
12
|
+
vertex: string;
|
|
13
|
+
};
|
|
14
|
+
gpu: {
|
|
15
|
+
fragment: {
|
|
16
|
+
entryPoint: string;
|
|
17
|
+
source: string;
|
|
18
|
+
};
|
|
19
|
+
vertex: {
|
|
20
|
+
entryPoint: string;
|
|
21
|
+
source: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
resources: Record<string, unknown>;
|
|
25
|
+
}): PixiShader;
|
|
26
|
+
};
|
|
27
|
+
export type InjectedMeshGeometryConstructor = new (options: {
|
|
28
|
+
indices: Uint32Array;
|
|
29
|
+
positions: Float32Array;
|
|
30
|
+
shrinkBuffersToFit: boolean;
|
|
31
|
+
topology: "triangle-list";
|
|
32
|
+
uvs: Float32Array;
|
|
33
|
+
}) => PixiMeshGeometry;
|
|
34
|
+
export type InjectedMeshConstructor<TMesh extends PixiMesh<PixiMeshGeometry, PixiShader>> = new (options: {
|
|
35
|
+
geometry: PixiMeshGeometry;
|
|
36
|
+
shader: PixiShader;
|
|
37
|
+
}) => TMesh;
|
|
38
|
+
//# sourceMappingURL=injected-pixi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injected-pixi.d.ts","sourceRoot":"","sources":["../../src/renderers/injected-pixi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,IAAI,QAAQ,EAChB,YAAY,IAAI,gBAAgB,EAChC,MAAM,IAAI,UAAU,EACrB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,OAAO,EAAE;QACZ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,GAAG,EAAE;YACH,QAAQ,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YACjD,MAAM,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;SAChD,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,UAAU,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,KAAK,OAAO,EAAE;IAC1D,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,YAAY,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,EAAE,YAAY,CAAC;CACnB,KAAK,gBAAgB,CAAC;AAEvB,MAAM,MAAM,uBAAuB,CACjC,KAAK,SAAS,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAClD,KAAK,OAAO,EAAE;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,KAAK,KAAK,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MediaFrameClock } from "#types/media-frame-clock";
|
|
2
|
+
import type { MediaFrameNavigation } from "#types/media-frame-navigation";
|
|
3
|
+
export interface MediaFrameNavigationController {
|
|
4
|
+
readonly api: MediaFrameNavigation;
|
|
5
|
+
presented(frame: {
|
|
6
|
+
readonly index: number;
|
|
7
|
+
readonly mediaTime: number;
|
|
8
|
+
}): void;
|
|
9
|
+
cancel(): void;
|
|
10
|
+
destroy(error?: unknown): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function createMediaFrameNavigation(options: {
|
|
13
|
+
readonly clock: MediaFrameClock;
|
|
14
|
+
readonly seek: (mediaTime: number) => Promise<void>;
|
|
15
|
+
readonly scrub: (mediaTime: number) => void;
|
|
16
|
+
}): MediaFrameNavigationController;
|
|
17
|
+
//# sourceMappingURL=media-frame-navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-frame-navigation.d.ts","sourceRoot":"","sources":["../../src/renderers/media-frame-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAEV,oBAAoB,EAGrB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAkBD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,8BAA8B,CA2NjC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { DecodedMediaSource } from "#media/media-source";
|
|
2
2
|
import { type MediaRenderer, type MediaRendererOptions } from "#types/media-renderer";
|
|
3
3
|
import type { MediaRendererScene, MediaRendererSceneOptions } from "./media-renderer-scene";
|
|
4
|
+
/**
|
|
5
|
+
* Two seconds of frozen picture for masks that have not been cooked.
|
|
6
|
+
*
|
|
7
|
+
* Preparation is local work, so a lead it cannot rebuild in this long is one it
|
|
8
|
+
* is losing rather than one that is late, and every further second is spent on
|
|
9
|
+
* a picture that has stopped. The detection gate waits five times as long
|
|
10
|
+
* because what it waits on is a model somewhere else.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveRenderPreparationMaxWaitSeconds(value: number | undefined): number;
|
|
4
13
|
export interface MediaRendererCoreProviders {
|
|
5
14
|
openMediaSource(src: string | URL | Request): Promise<DecodedMediaSource>;
|
|
6
15
|
createScene(options: MediaRendererSceneOptions): Promise<MediaRendererScene>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-renderer-core.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-core.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"media-renderer-core.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-core.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAoB/B,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAIhC;;;;;;;GAOG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,CASR;AAsBD,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1E,WAAW,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC9E;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,0BAA0B,GACpC,OAAO,CAAC,aAAa,CAAC,CAowCxB"}
|
|
@@ -14,7 +14,7 @@ import type { RegionAnnotationRenderer, PolygonStyle, PolylineStyle, ShapeStyle,
|
|
|
14
14
|
import type { MediaDisplayAdjustments } from "supervision-js-core";
|
|
15
15
|
import type { Point, ViewportTransform } from "supervision-js-core";
|
|
16
16
|
import type { AnnotationEditingEngine, AnnotationOverlayStyle, PreviewOverlayData } from "supervision-js-core";
|
|
17
|
-
import type { RenderPreparationOptions,
|
|
17
|
+
import type { RenderPreparationOptions, ResolvedRenderPreparationGateThresholds } from "#types/render-preparation";
|
|
18
18
|
import type { MaskBrushPreviewOptions } from "#editing/mask-brush-editor";
|
|
19
19
|
import type { PresentedFrameSource } from "./presented-frame-channel";
|
|
20
20
|
import type { PreparedAnnotationWindowSnapshot } from "./prepared-annotation-window";
|
|
@@ -75,9 +75,8 @@ export interface PresentedMediaSample {
|
|
|
75
75
|
/** Detection frame the mask raster on screen belongs to, null when no mask is
|
|
76
76
|
* up. Apart from `activeDetectionFrameTime` it names a desync in seconds. */
|
|
77
77
|
readonly drawnMaskFrameTime: number | null;
|
|
78
|
-
/** The raster on screen and the detections over it name different frames
|
|
79
|
-
*
|
|
80
|
-
* frame whose own is still being prepared. */
|
|
78
|
+
/** The raster on screen and the detections over it name different frames.
|
|
79
|
+
* This is an invariant breach: a pending mask must leave the frame bare. */
|
|
81
80
|
readonly maskHeldStale: boolean;
|
|
82
81
|
readonly detectionBuffer: DetectionBufferState;
|
|
83
82
|
readonly renderTimings?: MediaFrameRenderTimings;
|
|
@@ -111,7 +110,19 @@ export interface MediaRendererScene {
|
|
|
111
110
|
* that sample's presentation timestamp.
|
|
112
111
|
*/
|
|
113
112
|
captureFrame?(options: MediaFrameCaptureOptions | undefined): Promise<MediaFrameCapture>;
|
|
114
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Whether `waitForRenderPreparation` would wait, scheduling nothing. A source
|
|
115
|
+
* that owns its own playhead is held by stopping it, so the renderer needs
|
|
116
|
+
* this answer before it opens a wait rather than from the wait itself.
|
|
117
|
+
*/
|
|
118
|
+
needsRenderPreparationWait?(mediaTime: number, options: ResolvedRenderPreparationGateThresholds): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Frames render preparation has finished, counted up over the scene's life.
|
|
121
|
+
* A gate that gave up reads this to tell preparation that is slow from
|
|
122
|
+
* preparation that is stuck: only the second deserves to stay given up on.
|
|
123
|
+
*/
|
|
124
|
+
getRenderPreparationProgress?(): number;
|
|
125
|
+
waitForRenderPreparation?(mediaTime: number, options: ResolvedRenderPreparationGateThresholds, signal?: AbortSignal): Promise<void>;
|
|
115
126
|
setRenderQuality(maxDevicePixelRatio: number | undefined): void;
|
|
116
127
|
setDisplayAdjustments?(adjustments: MediaDisplayAdjustments): void;
|
|
117
128
|
getViewportTransform?(): ViewportTransform;
|
|
@@ -129,6 +140,7 @@ export interface MediaRendererScene {
|
|
|
129
140
|
}
|
|
130
141
|
export interface MediaRendererSceneTimelineContext {
|
|
131
142
|
readonly duration: number | null;
|
|
143
|
+
readonly firstTimestamp: number;
|
|
132
144
|
readonly loop: boolean;
|
|
133
145
|
}
|
|
134
146
|
//# sourceMappingURL=media-renderer-scene.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-renderer-scene.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,+BAA+B,EAC/B,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"media-renderer-scene.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-scene.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,13 @@ interface MediaRendererRuntimeStateOptions {
|
|
|
14
14
|
}
|
|
15
15
|
export interface MediaRendererRuntimeState {
|
|
16
16
|
currentTime(): number;
|
|
17
|
+
presentedTime(): number | null;
|
|
17
18
|
duration(): number | null;
|
|
18
19
|
errorMessage(): string | null;
|
|
19
20
|
isDestroyed(): boolean;
|
|
20
21
|
isError(): boolean;
|
|
21
22
|
isPlaybackActive(): boolean;
|
|
23
|
+
playbackRate(): number;
|
|
22
24
|
isBuffering(): boolean;
|
|
23
25
|
isPlaying(): boolean;
|
|
24
26
|
emitSourceState(): void;
|
|
@@ -27,6 +29,13 @@ export interface MediaRendererRuntimeState {
|
|
|
27
29
|
width: number;
|
|
28
30
|
};
|
|
29
31
|
setSourceReady(metadata: DecodedMediaSourceMetadata): void;
|
|
32
|
+
/** Whether the picture is stopped on a read the source has not answered. */
|
|
33
|
+
setSourceAwaitingRead(awaitingRead: boolean): void;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the render-preparation gate has given up on artifacts it stopped
|
|
36
|
+
* playback for.
|
|
37
|
+
*/
|
|
38
|
+
setRenderPreparationGateAbandoned(abandoned: boolean): void;
|
|
30
39
|
/** A playhead that moved. Emits, so a readout follows a seek before its
|
|
31
40
|
* frame lands. */
|
|
32
41
|
recordPlayheadTime(currentTime: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-renderer-state.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK7D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAGL,KAAK,qBAAqB,EAE1B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,UAAU,gCAAgC;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,IAAI,MAAM,CAAC;IACtB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC;IACnB,gBAAgB,IAAI,OAAO,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC;IACvB,SAAS,IAAI,OAAO,CAAC;IACrB,eAAe,IAAI,IAAI,CAAC;IACxB,mBAAmB,CAAC,QAAQ,EAAE,0BAA0B,GAAG;QACzD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC3D;uBACmB;IACnB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACzD,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1D;;mEAE+D;IAC/D,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7D,QAAQ,IAAI,IAAI,CAAC;IACjB,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,IAAI,CAAC;IACrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,SAAS,IAAI,IAAI,CAAC;IAClB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,aAAa,IAAI,IAAI,CAAC;IACtB,kBAAkB,IAAI,IAAI,CAAC;IAC3B,QAAQ,IAAI,kBAAkB,CAAC;CAChC;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"media-renderer-state.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { MediaRendererPlaybackState } from "#types/media-renderer";
|
|
2
|
-
import type { PresentedFrameChannel } from "./presented-frame-channel";
|
|
2
|
+
import type { PresentedFrameChannel, PresentedFrameNavigation } from "./presented-frame-channel";
|
|
3
3
|
export interface MediaRendererTransport {
|
|
4
4
|
play(): Promise<void>;
|
|
5
5
|
pause(): void;
|
|
6
6
|
togglePlayback(): Promise<void>;
|
|
7
7
|
scrub(mediaTime: number): void;
|
|
8
8
|
commit(mediaTime: number): Promise<void>;
|
|
9
|
+
resizeOutput(resize: () => Promise<boolean>): Promise<void>;
|
|
9
10
|
step(direction: 1 | -1): Promise<void>;
|
|
10
11
|
setPlaybackRate(rate: number): void;
|
|
12
|
+
/** Holds a producer frame before the scene can display it. */
|
|
13
|
+
protectPresentation(mediaTime: number, signal: AbortSignal): Promise<void> | null;
|
|
14
|
+
/** Releases a ready presentation hold after the scene acknowledges its frame. */
|
|
15
|
+
didPresentFrame(): Promise<void> | void;
|
|
11
16
|
destroy(): void;
|
|
12
17
|
}
|
|
13
18
|
export interface MediaRendererTransportOptions {
|
|
@@ -33,7 +38,7 @@ export interface MediaRendererTransportOptions {
|
|
|
33
38
|
*/
|
|
34
39
|
readonly onScrubbing: (scrubbing: boolean) => void;
|
|
35
40
|
/** Buffered playback. Awaited before the producer is asked to run. */
|
|
36
|
-
readonly waitForReadiness?: (mediaTime: number) => Promise<void>;
|
|
41
|
+
readonly waitForReadiness?: (mediaTime: number, signal: AbortSignal) => Promise<void>;
|
|
37
42
|
/**
|
|
38
43
|
* A bounded wait for whatever annotates `mediaTime`, or null when nothing is
|
|
39
44
|
* missing. Asked on every playhead move, so answering null has to be cheap.
|
|
@@ -42,8 +47,19 @@ export interface MediaRendererTransportOptions {
|
|
|
42
47
|
* be something that gives up on its own. Left out, playback is held once and
|
|
43
48
|
* never again, and a producer outrunning whatever feeds it runs on past
|
|
44
49
|
* frames that have nothing to draw.
|
|
50
|
+
*
|
|
51
|
+
* `signal` aborts once anything else settles playback, so a hold the viewer
|
|
52
|
+
* has already paused or seeked past is not still holding a play nobody asked
|
|
53
|
+
* for.
|
|
45
54
|
*/
|
|
46
|
-
readonly holdForReadiness?: (mediaTime: number) => Promise<void> | null;
|
|
55
|
+
readonly holdForReadiness?: (mediaTime: number, signal: AbortSignal) => Promise<void> | null;
|
|
56
|
+
/** Readiness required before a producer frame may enter the scene. */
|
|
57
|
+
readonly waitForPresentationReadiness?: (mediaTime: number, signal: AbortSignal) => Promise<void> | null;
|
|
58
|
+
/** Drops a guarded frame synchronously when navigation supersedes it. */
|
|
59
|
+
readonly invalidatePresentedFrame?: () => void;
|
|
60
|
+
/** Opens an acknowledgment that settles after the scene accepts the frame
|
|
61
|
+
* where the producer's navigation landed. */
|
|
62
|
+
readonly beginPresentedFrameNavigation?: (preserveCurrent?: boolean) => PresentedFrameNavigation;
|
|
47
63
|
}
|
|
48
64
|
/**
|
|
49
65
|
* The renderer's playback surface over a producer that owns the playhead.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-renderer-transport.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EACV,qBAAqB,
|
|
1
|
+
{"version":3,"file":"media-renderer-transport.d.ts","sourceRoot":"","sources":["../../src/renderers/media-renderer-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EACV,qBAAqB,EAErB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,sBAAsB;IACrC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,8DAA8D;IAC9D,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxB,iFAAiF;IACjF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACtE,QAAQ,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,sEAAsE;IACtE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/C;kDAC8C;IAC9C,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CACvC,eAAe,CAAC,EAAE,OAAO,KACtB,wBAAwB,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CA8cxB"}
|
|
@@ -79,6 +79,7 @@ export interface PixiFocusLayerFrameContext {
|
|
|
79
79
|
readonly heldMaskFrameTime?: number | null;
|
|
80
80
|
readonly hoveredPick: DetectionPickResult | null;
|
|
81
81
|
readonly idMaskArtifact?: PixiFocusMaskArtifact | null;
|
|
82
|
+
readonly isMaskArtifactOwed?: boolean;
|
|
82
83
|
readonly mediaTime: number;
|
|
83
84
|
readonly selectedPick: DetectionPickResult | null;
|
|
84
85
|
readonly viewportScale?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixi-focus-layer.d.ts","sourceRoot":"","sources":["../../src/renderers/pixi-focus-layer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pixi-focus-layer.d.ts","sourceRoot":"","sources":["../../src/renderers/pixi-focus-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ export interface FramePresentTargets {
|
|
|
41
41
|
readonly completePresentation: (mediaTime: number, boxState: PixiBoxLayerState, regionState: PixiRegionLayerState) => void;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* The atomic present: one frame
|
|
44
|
+
* The atomic present: one frame handed to the host becomes one composited screen.
|
|
45
45
|
*
|
|
46
46
|
* The media time is the one the producer published for the frame these pixels
|
|
47
47
|
* are, and it is the only time any step below sees. Nothing here awaits, so no
|