supervision 0.1.7 → 0.2.0-next.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/constants/media-renderer.d.ts +3 -0
- package/dist/constants/media-renderer.d.ts.map +1 -1
- package/dist/detections/chunked-detection-frame-source.d.ts.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9281 -5038
- package/dist/index.js.map +1 -1
- package/dist/mask-preparation.worker.js +409 -185
- package/dist/mask-preparation.worker.js.map +1 -1
- package/dist/media/display-pixel-ratio.d.ts +15 -0
- package/dist/media/display-pixel-ratio.d.ts.map +1 -0
- package/dist/media/engine-import-failure.d.ts +16 -0
- package/dist/media/engine-import-failure.d.ts.map +1 -0
- package/dist/media/media-errors.d.ts +6 -0
- package/dist/media/media-errors.d.ts.map +1 -1
- package/dist/media/media-normalization.d.ts.map +1 -1
- package/dist/media/media-probe.d.ts.map +1 -1
- package/dist/media/media-source-state.d.ts.map +1 -1
- package/dist/media/media-source.d.ts +17 -0
- package/dist/media/media-source.d.ts.map +1 -1
- package/dist/media/mediabunny-media-source.d.ts.map +1 -1
- package/dist/media/video-engine-media-source.d.ts +54 -0
- package/dist/media/video-engine-media-source.d.ts.map +1 -0
- 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 +48 -12
- package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-compositor.d.ts +12 -5
- package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-preparer.d.ts.map +1 -1
- package/dist/render-preparation/mask-preparation-worker-count.d.ts +4 -4
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +13 -3
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
- package/dist/render-preparation/prepared-render-window.d.ts +44 -2
- package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
- package/dist/render-preparation/prepared-window-timeline.d.ts +2 -6
- 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/mask-palette.d.ts +14 -0
- package/dist/renderers/mask-palette.d.ts.map +1 -0
- package/dist/renderers/mask-vertex.d.ts +14 -0
- package/dist/renderers/mask-vertex.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 +50 -2
- package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
- package/dist/renderers/media-renderer-state.d.ts +20 -1
- package/dist/renderers/media-renderer-state.d.ts.map +1 -1
- package/dist/renderers/media-renderer-transport.d.ts +72 -0
- package/dist/renderers/media-renderer-transport.d.ts.map +1 -0
- package/dist/renderers/pixi-box-layer.d.ts +5 -0
- package/dist/renderers/pixi-box-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-focus-layer.d.ts +19 -2
- package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-frame-present.d.ts +77 -0
- package/dist/renderers/pixi-frame-present.d.ts.map +1 -0
- package/dist/renderers/pixi-id-mask-shader.d.ts +6 -25
- package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts +12 -2
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-halo.d.ts +18 -23
- package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-layer.d.ts +94 -32
- package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-media-scene.d.ts +67 -0
- package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
- package/dist/renderers/pixi-polygon-layer.d.ts +9 -2
- package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-region-coverage-mask.d.ts +62 -0
- package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -0
- package/dist/renderers/pixi-region-effect.d.ts +42 -0
- package/dist/renderers/pixi-region-effect.d.ts.map +1 -0
- package/dist/renderers/pixi-region-layer.d.ts +43 -2
- 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/pixi-vector-layer.d.ts.map +1 -1
- package/dist/renderers/prepared-annotation-window.d.ts +47 -0
- package/dist/renderers/prepared-annotation-window.d.ts.map +1 -0
- package/dist/renderers/presented-frame-channel.d.ts +138 -0
- package/dist/renderers/presented-frame-channel.d.ts.map +1 -0
- package/dist/renderers/scene-render-scheduler.d.ts +20 -0
- package/dist/renderers/scene-render-scheduler.d.ts.map +1 -0
- package/dist/sessions/media-session-defaults.d.ts +10 -6
- package/dist/sessions/media-session-defaults.d.ts.map +1 -1
- package/dist/sessions/media-session-media.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 +73 -4
- package/dist/tracking.worker.js.map +1 -1
- package/dist/types/media-normalization.d.ts +34 -0
- package/dist/types/media-normalization.d.ts.map +1 -1
- package/dist/types/media-renderer.d.ts +31 -1
- package/dist/types/media-renderer.d.ts.map +1 -1
- package/dist/types/media-session.d.ts +89 -15
- package/dist/types/media-session.d.ts.map +1 -1
- package/dist/types/render-preparation.d.ts +149 -5
- package/dist/types/render-preparation.d.ts.map +1 -1
- package/dist/video-engine-media-source-CUXnOJOV.js +450 -0
- package/dist/video-engine-media-source-CUXnOJOV.js.map +1 -0
- package/dist/web-video-engine/analysis-session.d.ts +75 -0
- package/dist/web-video-engine/analysis.d.ts +6 -0
- package/dist/web-video-engine/analysis.js +1850 -0
- package/dist/web-video-engine/cache-budget.d.ts +18 -0
- package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +89 -0
- package/dist/web-video-engine/clock.d.ts +82 -0
- package/dist/web-video-engine/constants.d.ts +261 -0
- package/dist/web-video-engine/create-scrub-cursor.d.ts +65 -0
- package/dist/web-video-engine/decode-resolution.d.ts +114 -0
- package/dist/web-video-engine/decode-scheduler.d.ts +371 -0
- package/dist/web-video-engine/decode-session.d.ts +283 -0
- package/dist/web-video-engine/decode-source.d.ts +258 -0
- package/dist/web-video-engine/diagnostics-store.d.ts +17 -0
- package/dist/web-video-engine/diagnostics.d.ts +316 -0
- package/dist/web-video-engine/embedded-engine-worker.d.ts +1 -0
- package/dist/web-video-engine/engine-core.d.ts +269 -0
- package/dist/web-video-engine/engine.d.ts +25 -0
- package/dist/web-video-engine/engine.js +912 -0
- package/dist/web-video-engine/engine.worker.d.ts +1 -0
- package/dist/web-video-engine/engine.worker.js +33624 -0
- package/dist/web-video-engine/frame-cache.d.ts +236 -0
- package/dist/web-video-engine/frame-extractor.d.ts +27 -0
- package/dist/web-video-engine/frame-timeline-DreEwsRY.js +616 -0
- package/dist/web-video-engine/frame-timeline.d.ts +80 -0
- package/dist/web-video-engine/frame-walker.d.ts +73 -0
- package/dist/web-video-engine/index.d.ts +13 -0
- package/dist/web-video-engine/index.d.ts.map +1 -0
- package/dist/web-video-engine/index.js +3 -0
- package/dist/web-video-engine/index.js.map +1 -0
- package/dist/web-video-engine/key-packet.d.ts +64 -0
- package/dist/web-video-engine/keyframe-index.d.ts +90 -0
- package/dist/web-video-engine/mirror-store.d.ts +55 -0
- package/dist/web-video-engine/renderer.d.ts +93 -0
- package/dist/web-video-engine/rotation.d.ts +34 -0
- package/dist/web-video-engine/scrub-controller.d.ts +375 -0
- package/dist/web-video-engine/scrub-cursor.d.ts +347 -0
- package/dist/web-video-engine/scrub-trajectory.d.ts +29 -0
- package/dist/web-video-engine/source-residency.d.ts +91 -0
- package/dist/web-video-engine/trace-recorder.d.ts +163 -0
- package/dist/web-video-engine/types.d.ts +200 -0
- package/dist/web-video-engine/video-engine.d.ts +437 -0
- package/dist/web-video-engine/webgpu-renderer.d.ts +61 -0
- package/dist/web-video-engine/worker-bridge.d.ts +11 -0
- package/dist/web-video-engine/worker-dispatch.d.ts +16 -0
- package/dist/web-video-engine/worker-protocol.d.ts +282 -0
- package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/detections/composite-detection-frame-source.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.d.ts +5 -4
- package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.js +1167 -280
- package/node_modules/supervision-js-core/dist/index.js.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts +4 -36
- package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts +5 -0
- package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +92 -7
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +191 -17
- 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 +83 -5
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts +2 -0
- package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +32 -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-conversions.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts +5 -0
- package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts +9 -0
- package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts +18 -0
- package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +34 -2
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts +7 -0
- package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts.map +1 -0
- package/package.json +24 -3
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { MediaRendererSource } from "#types/media-renderer";
|
|
2
|
+
/**
|
|
3
|
+
* The rate {@link normalizeMedia} writes when the caller states none. It lands
|
|
4
|
+
* a variable-rate input on a constant grid that detection frame indices can
|
|
5
|
+
* address, and it is the reason a conversion's output is a different frame
|
|
6
|
+
* sequence from its input unless the input already runs at exactly this rate.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_NORMALIZATION_FRAME_RATE = 30;
|
|
2
9
|
export declare enum MediaNormalizationContainer {
|
|
3
10
|
WebM = "webm",
|
|
4
11
|
Mp4 = "mp4"
|
|
@@ -29,21 +36,47 @@ export declare enum MediaProbeIssueCode {
|
|
|
29
36
|
TargetVideoCannotEncode = "targetVideoCannotEncode"
|
|
30
37
|
}
|
|
31
38
|
export interface MediaNormalizationVideoOptions {
|
|
39
|
+
/**
|
|
40
|
+
* Output frame rate in hertz. Defaults to 30, which lands a variable-rate
|
|
41
|
+
* input on a constant grid that detection frame indices can address.
|
|
42
|
+
*/
|
|
32
43
|
readonly frameRate?: number;
|
|
44
|
+
/** Output width in pixels. Unset keeps the source's display width. */
|
|
33
45
|
readonly width?: number;
|
|
46
|
+
/** Output height in pixels. Unset keeps the source's display height. */
|
|
34
47
|
readonly height?: number;
|
|
48
|
+
/** How the frame is fitted when both `width` and `height` are set. */
|
|
35
49
|
readonly fit?: MediaNormalizationFit;
|
|
50
|
+
/**
|
|
51
|
+
* Output video codec. Defaults to AVC for `Mp4` and VP9 for `WebM`.
|
|
52
|
+
*/
|
|
36
53
|
readonly codec?: MediaNormalizationVideoCodec;
|
|
54
|
+
/** Output bitrate in bits per second. Unset lets the encoder choose. */
|
|
37
55
|
readonly bitrate?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Seconds between key frames. Defaults to 1, which costs bytes and buys the
|
|
58
|
+
* short seeks scrubbing and frame stepping depend on.
|
|
59
|
+
*/
|
|
38
60
|
readonly keyFrameInterval?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Always re-encode. Defaults to true, so the output profile is the requested
|
|
63
|
+
* one whatever the input already was; false copies a compatible video stream
|
|
64
|
+
* through untouched.
|
|
65
|
+
*/
|
|
39
66
|
readonly forceTranscode?: boolean;
|
|
40
67
|
}
|
|
41
68
|
export interface MediaNormalizationAudioOptions {
|
|
69
|
+
/** Drop every audio track. Defaults to true. */
|
|
42
70
|
readonly discard?: boolean;
|
|
71
|
+
/** Output audio codec. Unset keeps the container's own default. */
|
|
43
72
|
readonly codec?: MediaNormalizationAudioCodec;
|
|
73
|
+
/** Output bitrate in bits per second. Unset lets the encoder choose. */
|
|
44
74
|
readonly bitrate?: number;
|
|
75
|
+
/** Output sample rate in hertz. Unset keeps the source's. */
|
|
45
76
|
readonly sampleRate?: number;
|
|
77
|
+
/** Output channel count. Unset keeps the source's. */
|
|
46
78
|
readonly numberOfChannels?: number;
|
|
79
|
+
/** Always re-encode audio. Unset leaves that choice to the encoder. */
|
|
47
80
|
readonly forceTranscode?: boolean;
|
|
48
81
|
}
|
|
49
82
|
export interface MediaNormalizationProgress {
|
|
@@ -51,6 +84,7 @@ export interface MediaNormalizationProgress {
|
|
|
51
84
|
readonly processedTime: number;
|
|
52
85
|
}
|
|
53
86
|
export interface MediaNormalizationOptions {
|
|
87
|
+
/** Output container. Defaults to `WebM`. */
|
|
54
88
|
readonly container?: MediaNormalizationContainer;
|
|
55
89
|
readonly video?: MediaNormalizationVideoOptions;
|
|
56
90
|
readonly audio?: MediaNormalizationAudioOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-normalization.d.ts","sourceRoot":"","sources":["../../src/types/media-normalization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media-normalization.d.ts","sourceRoot":"","sources":["../../src/types/media-normalization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DetectionBufferOptions, DetectionFrameSource, MediaFrameDiagnostics, MediaRendererDiagnosticsOptions, MediaRendererFit, MediaRendererPresentation, MediaRendererState, MediaRendererStateController, MediaSourceState } from "supervision-js-core";
|
|
2
|
+
import type { PreparedAnnotationWindowSnapshot } from "#renderers/prepared-annotation-window";
|
|
2
3
|
import type { DetectionFrame } from "supervision-js-core";
|
|
3
4
|
import type { DetectionPickResult, DetectionSelectionOptions, MediaInteractionOptions } from "supervision-js-core";
|
|
4
5
|
import type { DecodedMediaSource } from "#media/media-source";
|
|
@@ -28,7 +29,8 @@ export interface MediaRendererOptions extends MediaRendererPresentation {
|
|
|
28
29
|
readonly loop?: boolean;
|
|
29
30
|
readonly playbackRate?: number;
|
|
30
31
|
/**
|
|
31
|
-
*
|
|
32
|
+
* @deprecated Nothing reads this. The renderer is video-only and audio
|
|
33
|
+
* playback is deferred, so setting it changes nothing either way.
|
|
32
34
|
*/
|
|
33
35
|
readonly muted?: boolean;
|
|
34
36
|
readonly fit?: MediaRendererFit;
|
|
@@ -124,7 +126,20 @@ export interface DetectionLabelBounds {
|
|
|
124
126
|
export interface MediaRenderer extends MediaRendererStateController {
|
|
125
127
|
play(): Promise<void>;
|
|
126
128
|
pause(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Flips playback without the caller first reading which way it is going, so
|
|
131
|
+
* a frame presented between the read and the call cannot invert the result.
|
|
132
|
+
* Rejects when the play it decides on fails.
|
|
133
|
+
*/
|
|
134
|
+
togglePlayback(): Promise<void>;
|
|
135
|
+
/** Lands on `mediaTime` and resolves once the frame there is presented. */
|
|
127
136
|
seek(mediaTime: number): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Moves the playhead for a gesture that is still moving, such as a timeline
|
|
139
|
+
* drag between pointer down and up. The frame that answers it may be an
|
|
140
|
+
* approximation; `seek` is what lands the released position exactly.
|
|
141
|
+
*/
|
|
142
|
+
scrub(mediaTime: number): void;
|
|
128
143
|
stepForward(): Promise<void>;
|
|
129
144
|
stepBackward(): Promise<void>;
|
|
130
145
|
setPlaybackRate(playbackRate: number): void;
|
|
@@ -139,6 +154,21 @@ export interface MediaRenderer extends MediaRendererStateController {
|
|
|
139
154
|
*/
|
|
140
155
|
captureFrame(options?: MediaFrameCaptureOptions): Promise<MediaFrameCapture>;
|
|
141
156
|
setSelectedDetection(selection: DetectionSelectionOptions | null): DetectionPickResult | null;
|
|
157
|
+
/**
|
|
158
|
+
* Explicit renders issued under the render-on-change policy, which only a
|
|
159
|
+
* media source that pushes presented frames runs under: the count moves when
|
|
160
|
+
* something on screen changed, so a paused, untouched renderer holds it
|
|
161
|
+
* still. It is `null` when the renderer pulls samples instead, because Pixi's
|
|
162
|
+
* ticker then paints every animation frame and no count describes that, so a
|
|
163
|
+
* `null` here is an answer rather than a failure.
|
|
164
|
+
*/
|
|
165
|
+
getRenderCount(): number | null;
|
|
166
|
+
/**
|
|
167
|
+
* Span and per-frame readiness of the prepared annotation window, for
|
|
168
|
+
* instruments; null when the scene free-runs on the ticker or no window
|
|
169
|
+
* exists, so a `null` here is an answer rather than a failure.
|
|
170
|
+
*/
|
|
171
|
+
getPreparedAnnotationWindow(): PreparedAnnotationWindowSnapshot | null;
|
|
142
172
|
destroy(): void;
|
|
143
173
|
getViewportTransform(): import("supervision-js-core").ViewportTransform;
|
|
144
174
|
setViewportTransform(transform: Partial<Omit<import("supervision-js-core").ViewportTransform, "locked">>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-renderer.d.ts","sourceRoot":"","sources":["../../src/types/media-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAC5E,oBAAY,uBAAuB;IACjC,8EAA8E;IAC9E,aAAa,kBAAkB;IAC/B,yEAAyE;IACzE,UAAU,eAAe;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B
|
|
1
|
+
{"version":3,"file":"media-renderer.d.ts","sourceRoot":"","sources":["../../src/types/media-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,8 @@ export type MediaSessionMedia = string | URL | Request | Blob | MediaRendererSou
|
|
|
16
16
|
export interface MediaSessionNormalizationOptions extends MediaNormalizationOptions {
|
|
17
17
|
/**
|
|
18
18
|
* When true, media normalization may expose progressive output before the
|
|
19
|
-
* entire input has finished normalizing.
|
|
19
|
+
* entire input has finished normalizing. Defaults to false, which opens the
|
|
20
|
+
* session only once the complete normalized blob exists.
|
|
20
21
|
*/
|
|
21
22
|
readonly stream?: boolean;
|
|
22
23
|
}
|
|
@@ -78,9 +79,10 @@ export interface MediaSessionDetectionSourceOptions {
|
|
|
78
79
|
*/
|
|
79
80
|
readonly sync?: MediaSessionDetectionSyncOptions;
|
|
80
81
|
/**
|
|
81
|
-
* When false,
|
|
82
|
+
* When false, `waitForRange` on `MediaSession.detectionSource` resolves
|
|
83
|
+
* without waiting for this source. Defaults to true.
|
|
82
84
|
*/
|
|
83
|
-
readonly
|
|
85
|
+
readonly requiredForCoverage?: boolean;
|
|
84
86
|
}
|
|
85
87
|
export interface MediaSessionDetectionOptions {
|
|
86
88
|
/**
|
|
@@ -115,8 +117,19 @@ export interface MediaSessionDetectionOptions {
|
|
|
115
117
|
*/
|
|
116
118
|
readonly buffer?: DetectionBufferOptions;
|
|
117
119
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
+
* Hold playback until detections cover the frame about to be presented.
|
|
121
|
+
*
|
|
122
|
+
* Off by default: the session presents a frame the detection window does not
|
|
123
|
+
* cover without annotations and draws them once coverage lands. Enabled, the
|
|
124
|
+
* session treats detection coverage as part of media readiness and reports
|
|
125
|
+
* buffering while it waits. Merges over `buffer.playbackGate`.
|
|
126
|
+
*
|
|
127
|
+
* The wait lasts for the length of playback on both kinds of media source. A
|
|
128
|
+
* source the renderer pulls samples from is held between decoding and drawing
|
|
129
|
+
* a frame. A source that presents its own frames drives the playhead itself,
|
|
130
|
+
* which is what `createWebVideoEngineMediaRendererSource` returns and therefore
|
|
131
|
+
* what most video sessions run on. There the renderer stops the producer at a
|
|
132
|
+
* frame its detections do not cover and starts it again when they arrive.
|
|
120
133
|
*/
|
|
121
134
|
readonly playbackGate?: DetectionPlaybackGateOptions;
|
|
122
135
|
/**
|
|
@@ -138,6 +151,10 @@ export interface MediaSessionRendererOptions {
|
|
|
138
151
|
readonly autoPlay?: boolean;
|
|
139
152
|
readonly loop?: boolean;
|
|
140
153
|
readonly playbackRate?: number;
|
|
154
|
+
/**
|
|
155
|
+
* @deprecated Nothing reads this. The renderer is video-only and audio
|
|
156
|
+
* playback is deferred, so setting it changes nothing either way.
|
|
157
|
+
*/
|
|
141
158
|
readonly muted?: boolean;
|
|
142
159
|
readonly fit?: MediaRendererFit;
|
|
143
160
|
readonly maxDevicePixelRatio?: MediaRendererOptions["maxDevicePixelRatio"];
|
|
@@ -184,6 +201,29 @@ export interface MediaSessionOptions {
|
|
|
184
201
|
* Detection frames or sources to render with the media.
|
|
185
202
|
*/
|
|
186
203
|
readonly detections?: MediaSessionDetectionOptions;
|
|
204
|
+
/**
|
|
205
|
+
* Buffered playback: hold the picture until the frame it is about to show has
|
|
206
|
+
* both its detections and its prepared annotation artifacts, so a preview
|
|
207
|
+
* opens annotated rather than opening bare and filling in.
|
|
208
|
+
*
|
|
209
|
+
* On by default. `false` starts playback at once and draws annotations as
|
|
210
|
+
* they land, which suits a host that cares about cadence more than overlays.
|
|
211
|
+
* The switch answers for `detections.playbackGate` and
|
|
212
|
+
* `renderer.renderPreparation.playbackGate` together, each keeping its own
|
|
213
|
+
* lookahead; set either one's `enabled` to answer for that gate alone.
|
|
214
|
+
*
|
|
215
|
+
* The detection gate only applies to a session with appendable detections,
|
|
216
|
+
* since a source that is complete before playback starts has nothing to wait
|
|
217
|
+
* for. `true` turns it on for any session.
|
|
218
|
+
*
|
|
219
|
+
* Both kinds of source are held frame by frame for as long as playback runs.
|
|
220
|
+
* A source the renderer pulls decoded samples from waits between decoding and
|
|
221
|
+
* drawing. A source that presents its own frames, which is what
|
|
222
|
+
* `createWebVideoEngineMediaRendererSource` returns, is stopped when detection
|
|
223
|
+
* coverage or prepared artifacts are missing and started again when the wait
|
|
224
|
+
* settles.
|
|
225
|
+
*/
|
|
226
|
+
readonly playbackGate?: boolean;
|
|
187
227
|
/**
|
|
188
228
|
* Aggregate loading, playback, buffering, processing, and error state.
|
|
189
229
|
*/
|
|
@@ -197,6 +237,37 @@ export interface MediaSessionOptions {
|
|
|
197
237
|
*/
|
|
198
238
|
readonly renderer?: MediaSessionRendererOptions;
|
|
199
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Which of the session's media branches ran.
|
|
242
|
+
*
|
|
243
|
+
* The five differ in whether the clip is converted first and in who ends up
|
|
244
|
+
* reading it, and from outside they were indistinguishable: two of them leave
|
|
245
|
+
* every other field on {@link MediaSessionMediaState} null.
|
|
246
|
+
*/
|
|
247
|
+
export declare enum MediaSessionMediaBranch {
|
|
248
|
+
/** A URL, `URL` or `Request` went to the renderer untouched. */
|
|
249
|
+
Url = "url",
|
|
250
|
+
/** A source the caller had already built went to the renderer untouched. */
|
|
251
|
+
RendererSource = "rendererSource",
|
|
252
|
+
/** A file the session was not asked to convert, played from an object URL. */
|
|
253
|
+
BlobObjectUrl = "blobObjectUrl",
|
|
254
|
+
/** A file converted in full first, played from the conversion's object URL. */
|
|
255
|
+
NormalizedObjectUrl = "normalizedObjectUrl",
|
|
256
|
+
/** A file converted while it plays, read through the conversion's source. */
|
|
257
|
+
ProgressiveSource = "progressiveSource"
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* What the session did with the media it was handed, recorded as it did it.
|
|
261
|
+
*
|
|
262
|
+
* The renderer opens a `src` and a `source` through different readers, so which
|
|
263
|
+
* of the two a branch set decides which one opens the clip. Nothing else
|
|
264
|
+
* reports it.
|
|
265
|
+
*/
|
|
266
|
+
export interface MediaSessionMediaPreparation {
|
|
267
|
+
readonly branch: MediaSessionMediaBranch;
|
|
268
|
+
/** Which of the renderer's two media options this branch filled in. */
|
|
269
|
+
readonly opened: "src" | "source";
|
|
270
|
+
}
|
|
200
271
|
/**
|
|
201
272
|
* Prepared media state visible to host applications.
|
|
202
273
|
*/
|
|
@@ -204,6 +275,8 @@ export interface MediaSessionMediaState {
|
|
|
204
275
|
readonly inputMetadata: MediaNormalizationInputMetadata | null;
|
|
205
276
|
readonly normalizedMedia: NormalizedMedia | ProgressiveNormalizedMedia | null;
|
|
206
277
|
readonly objectUrl: string | null;
|
|
278
|
+
/** Null until the session has prepared its media. */
|
|
279
|
+
readonly preparation?: MediaSessionMediaPreparation | null;
|
|
207
280
|
}
|
|
208
281
|
export interface MediaSessionNormalizationState {
|
|
209
282
|
readonly active: boolean;
|
|
@@ -236,15 +309,15 @@ export interface MediaSession {
|
|
|
236
309
|
/**
|
|
237
310
|
* Optionally append the newest live detection frame.
|
|
238
311
|
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
* {@link LiveMediaSession}.
|
|
312
|
+
* Live ingestion is an added capability, so a controller that does not do it
|
|
313
|
+
* still satisfies this interface. `createMediaSession` always provides it;
|
|
314
|
+
* see {@link LiveMediaSession}.
|
|
242
315
|
*/
|
|
243
316
|
appendLiveDetectionFrame?(frame: DetectionFrame, options?: MediaSessionDetectionWriteOptions): Promise<ColdDetectionFrameStoreWriteSummary>;
|
|
244
317
|
/**
|
|
245
318
|
* Optionally close the appendable source's final coverage.
|
|
246
319
|
*
|
|
247
|
-
* Optional for the same
|
|
320
|
+
* Optional for the same reason as
|
|
248
321
|
* {@link MediaSession.appendLiveDetectionFrame}.
|
|
249
322
|
*/
|
|
250
323
|
finalizeDetectionCoverage?(endTime?: number, options?: MediaSessionDetectionWriteOptions): Promise<ColdDetectionFrameStoreWriteSummary | null>;
|
|
@@ -279,9 +352,9 @@ export interface MediaSession {
|
|
|
279
352
|
/**
|
|
280
353
|
* Media session that also exposes live detection ingestion.
|
|
281
354
|
*
|
|
282
|
-
* `createMediaSession` returns this shape.
|
|
283
|
-
*
|
|
284
|
-
*
|
|
355
|
+
* `createMediaSession` returns this shape. The members it requires are
|
|
356
|
+
* optional on {@link MediaSession}, so live ingestion is an added capability
|
|
357
|
+
* rather than a required one.
|
|
285
358
|
*/
|
|
286
359
|
export interface LiveMediaSession extends MediaSession {
|
|
287
360
|
/**
|
|
@@ -297,9 +370,10 @@ export interface LiveMediaSession extends MediaSession {
|
|
|
297
370
|
* Close the appendable source's final coverage at the end of media.
|
|
298
371
|
*
|
|
299
372
|
* `endTime` defaults to the renderer's reported media duration. Calling it
|
|
300
|
-
* again is a no-op. Use it when a producer has finished so
|
|
301
|
-
*
|
|
302
|
-
* the
|
|
373
|
+
* again is a no-op. Use it when a producer has finished, so the source stops
|
|
374
|
+
* answering for the terminal sliver a container can declare beyond the last
|
|
375
|
+
* decoded sample. What the sliver would otherwise strand is a `waitForRange`
|
|
376
|
+
* caller, and an enabled detection playback gate along with it.
|
|
303
377
|
*/
|
|
304
378
|
finalizeDetectionCoverage(endTime?: number, options?: MediaSessionDetectionWriteOptions): Promise<ColdDetectionFrameStoreWriteSummary | null>;
|
|
305
379
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/types/media-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,mCAAmC,EACnC,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,IAAI,6BAA6B,EAC1D,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EACV,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAE9E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAC3B,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,GAAG,mBAAmB,CAAC;AAEtD,MAAM,WAAW,gCAAiC,SAAQ,yBAAyB;IACjF
|
|
1
|
+
{"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/types/media-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,32 @@ export declare enum RenderPreparationArtifactFrameStatus {
|
|
|
50
50
|
Pending = "pending",
|
|
51
51
|
Prepared = "prepared"
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Why an enabled render-preparation gate is holding playback.
|
|
55
|
+
*
|
|
56
|
+
* The two holds are different events for a viewer. One says the picture is
|
|
57
|
+
* incomplete; the other says the picture is finished and the gate is banking a
|
|
58
|
+
* lead in front of it. A host shown only that playback stopped cannot tell them
|
|
59
|
+
* apart, and describing the second as missing media is wrong on any source.
|
|
60
|
+
*/
|
|
61
|
+
export declare enum RenderPreparationGateHoldReason {
|
|
62
|
+
/** The frame about to be presented has no artifact yet. */
|
|
63
|
+
ActiveFrameUnprepared = "activeFrameUnprepared",
|
|
64
|
+
/** That frame is ready, and the prepared lead in front of it is short. */
|
|
65
|
+
LeadBelowRequirement = "leadBelowRequirement"
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The hold an enabled gate is applying, absent when it is not holding.
|
|
69
|
+
*/
|
|
70
|
+
export interface RenderPreparationGateHoldDiagnostics {
|
|
71
|
+
readonly reason: RenderPreparationGateHoldReason;
|
|
72
|
+
/**
|
|
73
|
+
* Prepared lead the wait has to reach before it ends, after the target
|
|
74
|
+
* window's own span has capped it. Against `preparedAheadSeconds` it gives a
|
|
75
|
+
* host the progress of the wait.
|
|
76
|
+
*/
|
|
77
|
+
readonly requiredAheadSeconds: number;
|
|
78
|
+
}
|
|
53
79
|
/**
|
|
54
80
|
* Worker creation hook for hosts that need custom CSP or deployment handling.
|
|
55
81
|
*/
|
|
@@ -62,6 +88,18 @@ export interface RenderPreparationWorkerFactory {
|
|
|
62
88
|
* playback without duplicating scheduling controls.
|
|
63
89
|
*/
|
|
64
90
|
export interface RenderPreparationMaskFrameOptions {
|
|
91
|
+
/**
|
|
92
|
+
* The box the host paints prepared masks into, in CSS pixels, with the pixel
|
|
93
|
+
* ratio it paints them at. A mask frame's id raster is then capped to the
|
|
94
|
+
* size that box can show; absent, it is cooked at the detections' own
|
|
95
|
+
* resolution.
|
|
96
|
+
*/
|
|
97
|
+
readonly display?: {
|
|
98
|
+
readonly boxHeight: number;
|
|
99
|
+
readonly boxWidth: number;
|
|
100
|
+
readonly devicePixelRatio: number;
|
|
101
|
+
readonly maxDevicePixelRatio?: number;
|
|
102
|
+
};
|
|
65
103
|
/**
|
|
66
104
|
* Maximum number of prepared mask frames retained in memory.
|
|
67
105
|
*/
|
|
@@ -88,22 +126,93 @@ export interface RenderPreparationMaskFrameOptions {
|
|
|
88
126
|
readonly workerCount?: number;
|
|
89
127
|
}
|
|
90
128
|
/**
|
|
91
|
-
*
|
|
129
|
+
* Prepared-artifact playback gate, off unless `enabled` says otherwise.
|
|
130
|
+
*
|
|
131
|
+
* Off, preparation runs behind the picture and a frame the prepared window
|
|
132
|
+
* does not cover reaches no annotation layer instead of holding playback back.
|
|
133
|
+
* On, playback waits until the prepared window leads the playhead, so masks and
|
|
134
|
+
* polygons arrive with their frame rather than after it.
|
|
135
|
+
*
|
|
136
|
+
* A source the renderer pulls samples from is held between the sample it
|
|
137
|
+
* decoded and the draw. A source that presents its own frames owns the
|
|
138
|
+
* playhead, so it is held by stopping the producer and starting it again,
|
|
139
|
+
* before playback begins and at any frame after it whose artifacts are
|
|
140
|
+
* missing. The renderer reports `Buffering` for as long as either wait lasts.
|
|
141
|
+
*
|
|
142
|
+
* `maxWaitSeconds` bounds every one of those waits, so preparation that has
|
|
143
|
+
* stopped producing costs one wait and the frames after it are drawn without
|
|
144
|
+
* their artifacts.
|
|
92
145
|
*/
|
|
93
146
|
export interface RenderPreparationPlaybackGateOptions {
|
|
94
147
|
/**
|
|
95
|
-
* Pause playback while required artifacts are
|
|
148
|
+
* Pause playback while required artifacts are unprepared. A session turns
|
|
149
|
+
* this on by default, so a preview opens with its annotations rather than
|
|
150
|
+
* opening bare; `playbackGate: false` on the session turns it off. A renderer
|
|
151
|
+
* created directly leaves it off.
|
|
96
152
|
*/
|
|
97
153
|
readonly enabled?: boolean;
|
|
98
154
|
/**
|
|
99
|
-
*
|
|
155
|
+
* How long an enabled gate holds the picture for artifacts that are not
|
|
156
|
+
* prepared, before it gives up and lets the frames through without them.
|
|
157
|
+
* Defaults to two seconds, and bounds every wait the gate makes: the one
|
|
158
|
+
* before playback begins, the one that stops a running producer at a frame,
|
|
159
|
+
* and the per-sample one of a renderer that pulls its own samples. `Infinity`
|
|
160
|
+
* holds indefinitely, and `0` never holds for artifacts at all.
|
|
161
|
+
*
|
|
162
|
+
* Preparation falls behind for as long as the machine is losing, and that
|
|
163
|
+
* looks no different to the gate from a cook still on its way. A gate that
|
|
164
|
+
* gave up holds off until preparation finishes another frame, so a machine
|
|
165
|
+
* that is merely slow keeps stopping the picture and catching up, and one
|
|
166
|
+
* that has stopped producing costs one wait rather than one a frame.
|
|
100
167
|
*/
|
|
101
|
-
readonly
|
|
168
|
+
readonly maxWaitSeconds?: number;
|
|
102
169
|
/**
|
|
103
|
-
*
|
|
170
|
+
* How long the prepared lead may fall to before playback stops, in seconds
|
|
171
|
+
* of the viewer's own time. Defaults to 0.1s. A rate multiplies it, because
|
|
172
|
+
* one wall second of runway is eight seconds of timeline at 8x, and a
|
|
173
|
+
* `requiredAheadSeconds` too small to fund the margin holds it below the lead
|
|
174
|
+
* that ends a stop rather than letting the two meet.
|
|
175
|
+
*/
|
|
176
|
+
readonly stopBelowWallSeconds?: number;
|
|
177
|
+
/**
|
|
178
|
+
* How much lead a stop banks on top of `stopBelowWallSeconds` before
|
|
179
|
+
* playback resumes, in seconds of the viewer's own time. Defaults to 0.2s,
|
|
180
|
+
* so a stop lasts about as long as it takes to cook that margin and no
|
|
181
|
+
* longer. This is what sets the length of a stop; `requiredAheadSeconds`
|
|
182
|
+
* only caps it.
|
|
183
|
+
*/
|
|
184
|
+
readonly resumeMarginWallSeconds?: number;
|
|
185
|
+
/**
|
|
186
|
+
* Ceiling on the lead the two thresholds above may ask for, in seconds of
|
|
187
|
+
* timeline. Defaults to none, which asks only that the frame about to be
|
|
188
|
+
* presented is no longer pending.
|
|
189
|
+
*
|
|
190
|
+
* It buys no cooked frames: how far ahead preparation cooks and how much of
|
|
191
|
+
* that it keeps are the prepared window's own prefetch and cache spans, sized
|
|
192
|
+
* by the session rather than by this. The gate reads them only as a second
|
|
193
|
+
* ceiling, so a span too small to hold the lead lowers it further. All this can
|
|
194
|
+
* do is shorten a stop, by holding the resume lead below what the wall clock
|
|
195
|
+
* asked for. With the default thresholds that lead is 0.3s of timeline per
|
|
196
|
+
* unit of rate, so a ceiling only starts to bite once the rate lifts the lead
|
|
197
|
+
* above it: the 1s a session sets first does so near 3.3x.
|
|
104
198
|
*/
|
|
105
199
|
readonly requiredAheadSeconds?: number;
|
|
106
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* The two lead thresholds a gate is applying right now, in seconds of
|
|
203
|
+
* timeline, which is the only unit a prepared window can compare a lead
|
|
204
|
+
* against. The wall-clock options above describe how long a viewer is left
|
|
205
|
+
* looking at a still picture; turning those into timeline needs the playback
|
|
206
|
+
* rate, so the renderer resolves them per call and the window stays blind to
|
|
207
|
+
* the rate.
|
|
208
|
+
*/
|
|
209
|
+
export interface ResolvedRenderPreparationGateThresholds {
|
|
210
|
+
readonly enabled?: boolean;
|
|
211
|
+
/** Lead at or above which a stop that is running ends. */
|
|
212
|
+
readonly resumeAtSeconds: number;
|
|
213
|
+
/** Lead below which playback stops. */
|
|
214
|
+
readonly stopBelowSeconds: number;
|
|
215
|
+
}
|
|
107
216
|
/**
|
|
108
217
|
* Diagnostics for the currently selected artifact frame.
|
|
109
218
|
*/
|
|
@@ -125,13 +234,33 @@ export interface RenderPreparationArtifactWindowDiagnostics {
|
|
|
125
234
|
*/
|
|
126
235
|
export interface RenderPreparationArtifactDiagnostics {
|
|
127
236
|
readonly activeFrame?: RenderPreparationActiveFrameDiagnostics | null;
|
|
237
|
+
readonly gateHold?: RenderPreparationGateHoldDiagnostics | null;
|
|
128
238
|
readonly inFlightCount?: number;
|
|
129
239
|
readonly kind: RenderPreparationArtifactKind;
|
|
130
240
|
readonly maxInFlightCount?: number;
|
|
131
241
|
readonly maxPendingCount?: number;
|
|
132
242
|
readonly maxPreparedCount?: number;
|
|
133
243
|
readonly pendingCount: number;
|
|
244
|
+
/**
|
|
245
|
+
* Frames in the unbroken run of prepared frames starting at the active
|
|
246
|
+
* detection frame.
|
|
247
|
+
*
|
|
248
|
+
* This is a count of frames, not of media time. Above 1x the preparer strides,
|
|
249
|
+
* so N frames here do not cover N frame durations of playback, and the two
|
|
250
|
+
* numbers diverge by design. Deriving one from the other is wrong in both
|
|
251
|
+
* directions.
|
|
252
|
+
*/
|
|
134
253
|
readonly preparedAheadFrameCount?: number;
|
|
254
|
+
/**
|
|
255
|
+
* Media-time reach of that same unbroken run, in seconds, measured forward
|
|
256
|
+
* from the active detection frame and wrapping at the media end on a looping
|
|
257
|
+
* clip.
|
|
258
|
+
*
|
|
259
|
+
* The run stops at the first frame that is not prepared, so this is how long
|
|
260
|
+
* playback can continue before annotations stop, not the furthest frame
|
|
261
|
+
* prepared anywhere. It is also what a detection gate compares against its
|
|
262
|
+
* required lead, so it stays a single comparable scalar.
|
|
263
|
+
*/
|
|
135
264
|
readonly preparedAheadSeconds?: number;
|
|
136
265
|
readonly prefetchCount?: number;
|
|
137
266
|
readonly preparedCount: number;
|
|
@@ -158,6 +287,21 @@ export interface RenderPreparationOptions {
|
|
|
158
287
|
readonly maskFrame?: RenderPreparationMaskFrameOptions;
|
|
159
288
|
readonly mode?: RenderPreparationMode;
|
|
160
289
|
readonly onDiagnostics?: (diagnostics: RenderPreparationDiagnostics) => void;
|
|
290
|
+
/**
|
|
291
|
+
* Hold playback until prepared artifacts cover the frame about to be
|
|
292
|
+
* presented.
|
|
293
|
+
*
|
|
294
|
+
* Both kinds of source are held at every frame: one between its decoded
|
|
295
|
+
* sample and the draw, the other by stopping the producer that owns the
|
|
296
|
+
* playhead and starting it again. `maxWaitSeconds` is what makes stopping a
|
|
297
|
+
* running producer safe, and `playbackGateReach` on the renderer's state
|
|
298
|
+
* reports the furthest any of its gates reaches.
|
|
299
|
+
*
|
|
300
|
+
* A renderer created directly leaves this off. `createMediaSession()` turns it
|
|
301
|
+
* on, so a session opens with its annotations rather than opening bare; pass
|
|
302
|
+
* `playbackGate: false` to the session to opt out. See
|
|
303
|
+
* {@link RenderPreparationPlaybackGateOptions}.
|
|
304
|
+
*/
|
|
161
305
|
readonly playbackGate?: RenderPreparationPlaybackGateOptions;
|
|
162
306
|
readonly workerFactory?: RenderPreparationWorkerFactory;
|
|
163
307
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-preparation.d.ts","sourceRoot":"","sources":["../../src/types/render-preparation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,qBAAqB;IAC/B;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,UAAU,eAAe;IACzB;;;OAGG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,8BAA8B;IACxC,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACvC,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACvC,iEAAiE;IACjE,SAAS,cAAc;IACvB,sEAAsE;IACtE,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,oBAAY,oCAAoC;IAC9C,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,YAAY,IAAI,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED
|
|
1
|
+
{"version":3,"file":"render-preparation.d.ts","sourceRoot":"","sources":["../../src/types/render-preparation.ts"],"names":[],"mappings":"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"}
|