supervision 0.2.0-next.0 → 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.
Files changed (172) hide show
  1. package/dist/constants/media-renderer.d.ts +3 -0
  2. package/dist/constants/media-renderer.d.ts.map +1 -1
  3. package/dist/index.d.ts +2 -5
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1246 -1300
  6. package/dist/index.js.map +1 -1
  7. package/dist/mask-preparation.worker.js +109 -31
  8. package/dist/mask-preparation.worker.js.map +1 -1
  9. package/dist/media/media-source-state.d.ts.map +1 -1
  10. package/dist/media/video-engine-media-source.d.ts +17 -7
  11. package/dist/media/video-engine-media-source.d.ts.map +1 -1
  12. package/dist/media/video-engine-media-source.js +3 -0
  13. package/dist/media/video-engine-media-source.js.map +1 -0
  14. package/dist/playback/media-playback-controller.d.ts +7 -1
  15. package/dist/playback/media-playback-controller.d.ts.map +1 -1
  16. package/dist/render-preparation/mask-frame-artifact.d.ts +2 -0
  17. package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
  18. package/dist/render-preparation/mask-frame-compositor.d.ts +7 -0
  19. package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
  20. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +1 -0
  21. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
  22. package/dist/render-preparation/prepared-render-window.d.ts +21 -2
  23. package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
  24. package/dist/renderers/injected-pixi.d.ts +38 -0
  25. package/dist/renderers/injected-pixi.d.ts.map +1 -0
  26. package/dist/renderers/media-renderer-core.d.ts +9 -0
  27. package/dist/renderers/media-renderer-core.d.ts.map +1 -1
  28. package/dist/renderers/media-renderer-scene.d.ts +16 -5
  29. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  30. package/dist/renderers/media-renderer-state.d.ts +9 -0
  31. package/dist/renderers/media-renderer-state.d.ts.map +1 -1
  32. package/dist/renderers/media-renderer-transport.d.ts +16 -3
  33. package/dist/renderers/media-renderer-transport.d.ts.map +1 -1
  34. package/dist/renderers/pixi-focus-layer.d.ts +1 -0
  35. package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
  36. package/dist/renderers/pixi-frame-present.d.ts +1 -1
  37. package/dist/renderers/pixi-frame-present.d.ts.map +1 -1
  38. package/dist/renderers/pixi-id-mask-shader.d.ts +4 -33
  39. package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
  40. package/dist/renderers/pixi-interaction-presentation-layer.d.ts +0 -1
  41. package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
  42. package/dist/renderers/pixi-mask-halo.d.ts +4 -33
  43. package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
  44. package/dist/renderers/pixi-mask-layer.d.ts +28 -29
  45. package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
  46. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  47. package/dist/renderers/pixi-polygon-layer.d.ts +2 -0
  48. package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
  49. package/dist/renderers/pixi-region-coverage-mask.d.ts +4 -33
  50. package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -1
  51. package/dist/renderers/pixi-region-layer.d.ts +6 -31
  52. package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
  53. package/dist/renderers/pixi-shader-lifecycle.d.ts +14 -0
  54. package/dist/renderers/pixi-shader-lifecycle.d.ts.map +1 -0
  55. package/dist/renderers/presented-frame-channel.d.ts +32 -1
  56. package/dist/renderers/presented-frame-channel.d.ts.map +1 -1
  57. package/dist/sessions/media-session-defaults.d.ts.map +1 -1
  58. package/dist/sessions/media-session-state.d.ts.map +1 -1
  59. package/dist/tracking.worker.js +19 -5
  60. package/dist/tracking.worker.js.map +1 -1
  61. package/dist/types/media-session.d.ts +20 -27
  62. package/dist/types/media-session.d.ts.map +1 -1
  63. package/dist/types/render-preparation.d.ts +70 -23
  64. package/dist/types/render-preparation.d.ts.map +1 -1
  65. package/dist/video-engine-media-source-CUXnOJOV.js +450 -0
  66. package/dist/video-engine-media-source-CUXnOJOV.js.map +1 -0
  67. package/dist/web-video-engine/analysis-session.d.ts +0 -1
  68. package/dist/web-video-engine/analysis.d.ts +0 -1
  69. package/dist/web-video-engine/analysis.js +195 -23
  70. package/dist/web-video-engine/cache-budget.d.ts +0 -1
  71. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +0 -1
  72. package/dist/web-video-engine/clock.d.ts +0 -1
  73. package/dist/web-video-engine/constants.d.ts +9 -1
  74. package/dist/web-video-engine/create-scrub-cursor.d.ts +6 -3
  75. package/dist/web-video-engine/decode-resolution.d.ts +0 -1
  76. package/dist/web-video-engine/decode-scheduler.d.ts +18 -3
  77. package/dist/web-video-engine/decode-session.d.ts +8 -1
  78. package/dist/web-video-engine/decode-source.d.ts +9 -1
  79. package/dist/web-video-engine/diagnostics-store.d.ts +0 -1
  80. package/dist/web-video-engine/diagnostics.d.ts +19 -19
  81. package/dist/web-video-engine/embedded-engine-worker.d.ts +0 -1
  82. package/dist/web-video-engine/engine-core.d.ts +22 -11
  83. package/dist/web-video-engine/engine.d.ts +3 -4
  84. package/dist/web-video-engine/engine.js +76 -37
  85. package/dist/web-video-engine/engine.worker.d.ts +0 -1
  86. package/dist/web-video-engine/engine.worker.js +5501 -3197
  87. package/dist/web-video-engine/frame-cache.d.ts +119 -12
  88. package/dist/web-video-engine/frame-extractor.d.ts +0 -1
  89. package/dist/web-video-engine/{frame-timeline-GINI8Gum.js → frame-timeline-DreEwsRY.js} +83 -27
  90. package/dist/web-video-engine/frame-timeline.d.ts +10 -1
  91. package/dist/web-video-engine/frame-walker.d.ts +0 -1
  92. package/dist/web-video-engine/index.d.ts +12 -2
  93. package/dist/web-video-engine/index.d.ts.map +1 -1
  94. package/dist/web-video-engine/index.js +2 -2
  95. package/dist/web-video-engine/key-packet.d.ts +0 -1
  96. package/dist/web-video-engine/keyframe-index.d.ts +0 -1
  97. package/dist/web-video-engine/mirror-store.d.ts +0 -1
  98. package/dist/web-video-engine/renderer.d.ts +0 -1
  99. package/dist/web-video-engine/rotation.d.ts +0 -1
  100. package/dist/web-video-engine/scrub-controller.d.ts +0 -1
  101. package/dist/web-video-engine/scrub-cursor.d.ts +12 -7
  102. package/dist/web-video-engine/scrub-trajectory.d.ts +0 -1
  103. package/dist/web-video-engine/source-residency.d.ts +35 -1
  104. package/dist/web-video-engine/trace-recorder.d.ts +0 -1
  105. package/dist/web-video-engine/types.d.ts +18 -22
  106. package/dist/web-video-engine/video-engine.d.ts +27 -16
  107. package/dist/web-video-engine/webgpu-renderer.d.ts +0 -1
  108. package/dist/web-video-engine/worker-bridge.d.ts +0 -1
  109. package/dist/web-video-engine/worker-dispatch.d.ts +0 -1
  110. package/dist/web-video-engine/worker-protocol.d.ts +29 -14
  111. package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
  112. package/node_modules/supervision-js-core/dist/index.d.ts +2 -2
  113. package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
  114. package/node_modules/supervision-js-core/dist/index.js +107 -29
  115. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  116. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +12 -0
  117. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
  118. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +28 -26
  119. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
  120. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +16 -0
  121. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts.map +1 -1
  122. package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
  123. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +19 -0
  124. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
  125. package/package.json +3 -3
  126. package/dist/media/media-condition-probe.d.ts +0 -51
  127. package/dist/media/media-condition-probe.d.ts.map +0 -1
  128. package/dist/media/media-conditions.d.ts +0 -28
  129. package/dist/media/media-conditions.d.ts.map +0 -1
  130. package/dist/types/media-conditions.d.ts +0 -149
  131. package/dist/types/media-conditions.d.ts.map +0 -1
  132. package/dist/web-video-engine/analysis-session.d.ts.map +0 -1
  133. package/dist/web-video-engine/analysis.d.ts.map +0 -1
  134. package/dist/web-video-engine/analysis.js.map +0 -1
  135. package/dist/web-video-engine/cache-budget.d.ts.map +0 -1
  136. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts.map +0 -1
  137. package/dist/web-video-engine/clock.d.ts.map +0 -1
  138. package/dist/web-video-engine/constants.d.ts.map +0 -1
  139. package/dist/web-video-engine/create-scrub-cursor.d.ts.map +0 -1
  140. package/dist/web-video-engine/decode-resolution.d.ts.map +0 -1
  141. package/dist/web-video-engine/decode-scheduler.d.ts.map +0 -1
  142. package/dist/web-video-engine/decode-session.d.ts.map +0 -1
  143. package/dist/web-video-engine/decode-source.d.ts.map +0 -1
  144. package/dist/web-video-engine/diagnostics-store.d.ts.map +0 -1
  145. package/dist/web-video-engine/diagnostics.d.ts.map +0 -1
  146. package/dist/web-video-engine/embedded-engine-worker.d.ts.map +0 -1
  147. package/dist/web-video-engine/engine-core.d.ts.map +0 -1
  148. package/dist/web-video-engine/engine.d.ts.map +0 -1
  149. package/dist/web-video-engine/engine.js.map +0 -1
  150. package/dist/web-video-engine/engine.worker.d.ts.map +0 -1
  151. package/dist/web-video-engine/engine.worker.js.map +0 -1
  152. package/dist/web-video-engine/frame-cache.d.ts.map +0 -1
  153. package/dist/web-video-engine/frame-extractor.d.ts.map +0 -1
  154. package/dist/web-video-engine/frame-timeline-GINI8Gum.js.map +0 -1
  155. package/dist/web-video-engine/frame-timeline.d.ts.map +0 -1
  156. package/dist/web-video-engine/frame-walker.d.ts.map +0 -1
  157. package/dist/web-video-engine/key-packet.d.ts.map +0 -1
  158. package/dist/web-video-engine/keyframe-index.d.ts.map +0 -1
  159. package/dist/web-video-engine/mirror-store.d.ts.map +0 -1
  160. package/dist/web-video-engine/renderer.d.ts.map +0 -1
  161. package/dist/web-video-engine/rotation.d.ts.map +0 -1
  162. package/dist/web-video-engine/scrub-controller.d.ts.map +0 -1
  163. package/dist/web-video-engine/scrub-cursor.d.ts.map +0 -1
  164. package/dist/web-video-engine/scrub-trajectory.d.ts.map +0 -1
  165. package/dist/web-video-engine/source-residency.d.ts.map +0 -1
  166. package/dist/web-video-engine/trace-recorder.d.ts.map +0 -1
  167. package/dist/web-video-engine/types.d.ts.map +0 -1
  168. package/dist/web-video-engine/video-engine.d.ts.map +0 -1
  169. package/dist/web-video-engine/webgpu-renderer.d.ts.map +0 -1
  170. package/dist/web-video-engine/worker-bridge.d.ts.map +0 -1
  171. package/dist/web-video-engine/worker-dispatch.d.ts.map +0 -1
  172. package/dist/web-video-engine/worker-protocol.d.ts.map +0 -1
@@ -124,14 +124,12 @@ export interface MediaSessionDetectionOptions {
124
124
  * session treats detection coverage as part of media readiness and reports
125
125
  * buffering while it waits. Merges over `buffer.playbackGate`.
126
126
  *
127
- * The sustained wait is the renderer holding a decoded sample back, so it
128
- * lasts the length of playback only when the renderer pulls samples: a URL, a
129
- * `Blob`, or any `media` source without a presented-frame channel. A source
130
- * that presents its own frames drives the playhead itself, which is what
131
- * `createVideoEngineMediaRendererSource` returns and therefore what most
132
- * video sessions actually run on. There the gate holds the start of playback
133
- * and nothing after it, so a preview opens covered and a producer already
134
- * running keeps its own pace.
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.
135
133
  */
136
134
  readonly playbackGate?: DetectionPlaybackGateOptions;
137
135
  /**
@@ -218,12 +216,12 @@ export interface MediaSessionOptions {
218
216
  * since a source that is complete before playback starts has nothing to wait
219
217
  * for. `true` turns it on for any session.
220
218
  *
221
- * What it holds depends on who owns the playhead. A source the renderer pulls
222
- * decoded samples from is held frame by frame, for as long as playback runs.
223
- * A source that presents its own frames, which is what
224
- * `createVideoEngineMediaRendererSource` returns, is held at the start of
225
- * playback only: the session reports buffering until the frame it will resume
226
- * on is covered, and once the producer is running it paces itself.
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.
227
225
  */
228
226
  readonly playbackGate?: boolean;
229
227
  /**
@@ -277,12 +275,7 @@ export interface MediaSessionMediaState {
277
275
  readonly inputMetadata: MediaNormalizationInputMetadata | null;
278
276
  readonly normalizedMedia: NormalizedMedia | ProgressiveNormalizedMedia | null;
279
277
  readonly objectUrl: string | null;
280
- /**
281
- * Null until the session has prepared its media.
282
- *
283
- * Optional so a host holding a state it built before this field existed still
284
- * satisfies the type.
285
- */
278
+ /** Null until the session has prepared its media. */
286
279
  readonly preparation?: MediaSessionMediaPreparation | null;
287
280
  }
288
281
  export interface MediaSessionNormalizationState {
@@ -316,15 +309,15 @@ export interface MediaSession {
316
309
  /**
317
310
  * Optionally append the newest live detection frame.
318
311
  *
319
- * Optional so controllers written against the previous shape stay
320
- * assignable. `createMediaSession` always provides it; see
321
- * {@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}.
322
315
  */
323
316
  appendLiveDetectionFrame?(frame: DetectionFrame, options?: MediaSessionDetectionWriteOptions): Promise<ColdDetectionFrameStoreWriteSummary>;
324
317
  /**
325
318
  * Optionally close the appendable source's final coverage.
326
319
  *
327
- * Optional for the same backward-compatibility reason as
320
+ * Optional for the same reason as
328
321
  * {@link MediaSession.appendLiveDetectionFrame}.
329
322
  */
330
323
  finalizeDetectionCoverage?(endTime?: number, options?: MediaSessionDetectionWriteOptions): Promise<ColdDetectionFrameStoreWriteSummary | null>;
@@ -359,9 +352,9 @@ export interface MediaSession {
359
352
  /**
360
353
  * Media session that also exposes live detection ingestion.
361
354
  *
362
- * `createMediaSession` returns this shape. Controllers that only satisfy the
363
- * historical {@link MediaSession} contract stay assignable to it, so live
364
- * ingestion is an added capability rather than a required one.
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.
365
358
  */
366
359
  export interface LiveMediaSession extends MediaSession {
367
360
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/types/media-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/types/media-session.ts"],"names":[],"mappings":"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"}
@@ -133,13 +133,15 @@ export interface RenderPreparationMaskFrameOptions {
133
133
  * On, playback waits until the prepared window leads the playhead, so masks and
134
134
  * polygons arrive with their frame rather than after it.
135
135
  *
136
- * The renderer can only hold a frame it is about to draw itself, so this gate
137
- * reaches only a media source it pulls decoded samples from. A source that
138
- * presents its own frames owns the playhead and paces itself, and there this
139
- * gate holds the start of playback and nothing after it: the wait runs once,
140
- * before the producer is told to play, and the renderer reports `Buffering`
141
- * while it does. Once the producer is running, unprepared layers stay absent
142
- * until preparation catches up.
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.
143
145
  */
144
146
  export interface RenderPreparationPlaybackGateOptions {
145
147
  /**
@@ -150,20 +152,67 @@ export interface RenderPreparationPlaybackGateOptions {
150
152
  */
151
153
  readonly enabled?: boolean;
152
154
  /**
153
- * Prepared lead that is enough not to start a wait at all. Defaults to
154
- * `requiredAheadSeconds` and is capped by it: playback stalls only below this
155
- * lead, and a stall then clears only once the lead reaches
156
- * `requiredAheadSeconds`. Setting it lower buys hysteresis, so a lead
157
- * hovering at the requirement does not stutter.
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.
167
+ */
168
+ readonly maxWaitSeconds?: number;
169
+ /**
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.
158
175
  */
159
- readonly minimumAheadSeconds?: number;
176
+ readonly stopBelowWallSeconds?: number;
160
177
  /**
161
- * Prepared lead a wait in progress must reach before an enabled gate lets
162
- * playback continue. Defaults to none, which asks only that the frame about
163
- * to be presented is no longer pending.
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.
164
198
  */
165
199
  readonly requiredAheadSeconds?: number;
166
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
+ }
167
216
  /**
168
217
  * Diagnostics for the currently selected artifact frame.
169
218
  */
@@ -242,13 +291,11 @@ export interface RenderPreparationOptions {
242
291
  * Hold playback until prepared artifacts cover the frame about to be
243
292
  * presented.
244
293
  *
245
- * **This option reaches two different distances depending on the source.** A
246
- * source the renderer pulls samples from is held at every frame. A source that
247
- * presents its own frames is held only at the start of playback, because
248
- * stopping the producer mid-run needs an answer about coverage that render
249
- * preparation cannot give without waiting for it, so frames after the start
250
- * arrive whether their artifacts are ready or not. `playbackGateReach` on the
251
- * renderer's state reports the furthest any of its gates reaches.
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.
252
299
  *
253
300
  * A renderer created directly leaves this off. `createMediaSession()` turns it
254
301
  * on, so a session opens with its annotations rather than opening bare; pass
@@ -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;;;;;;;GAOG;AACH,oBAAY,+BAA+B;IACzC,2DAA2D;IAC3D,qBAAqB,0BAA0B;IAC/C,0EAA0E;IAC1E,oBAAoB,yBAAyB;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,YAAY,IAAI,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KACvC,CAAC;IACF;;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;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,oCAAoC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,oCAAoC,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,uCAAuC,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,oCAAoC,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;;;;;OAQG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,0CAA0C,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,oCAAoC,EAAE,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,8BAA8B,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;CACtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,iCAAiC,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,4BAA4B,KAAK,IAAI,CAAC;IAC7E;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,oCAAoC,CAAC;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC;CACzD"}
1
+ {"version":3,"file":"render-preparation.d.ts","sourceRoot":"","sources":["../../src/types/render-preparation.ts"],"names":[],"mappings":"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"}