@hyperframes/engine 0.8.145 → 0.8.146

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 (265) hide show
  1. package/dist/config.d.ts +0 -1
  2. package/dist/config.js +1 -2
  3. package/dist/index.d.ts +1 -2
  4. package/dist/index.js +1 -2
  5. package/dist/services/__fixtures__/jpeg.d.ts +0 -1
  6. package/dist/services/__fixtures__/jpeg.js +0 -1
  7. package/dist/services/audioFxRender.d.ts +0 -1
  8. package/dist/services/audioFxRender.js +0 -1
  9. package/dist/services/audioMixer.d.ts +0 -1
  10. package/dist/services/audioMixer.js +0 -1
  11. package/dist/services/audioMixer.types.d.ts +0 -1
  12. package/dist/services/audioMixer.types.js +0 -1
  13. package/dist/services/audioVolumeEnvelope.d.ts +0 -1
  14. package/dist/services/audioVolumeEnvelope.js +0 -1
  15. package/dist/services/browserLeasePool.d.ts +0 -1
  16. package/dist/services/browserLeasePool.js +0 -1
  17. package/dist/services/browserManager.d.ts +0 -1
  18. package/dist/services/browserManager.js +2 -3
  19. package/dist/services/captureFailure.d.ts +0 -1
  20. package/dist/services/captureFailure.js +0 -1
  21. package/dist/services/captureWarning.d.ts +0 -1
  22. package/dist/services/captureWarning.js +0 -1
  23. package/dist/services/chromeHostCeiling.d.ts +0 -1
  24. package/dist/services/chromeHostCeiling.js +0 -1
  25. package/dist/services/chromeMemorySampler.d.ts +0 -1
  26. package/dist/services/chromeMemorySampler.js +0 -1
  27. package/dist/services/chunkEncoder.d.ts +0 -1
  28. package/dist/services/chunkEncoder.js +0 -1
  29. package/dist/services/chunkEncoder.types.d.ts +0 -1
  30. package/dist/services/chunkEncoder.types.js +0 -1
  31. package/dist/services/drawElementCaptureError.d.ts +0 -1
  32. package/dist/services/drawElementCaptureError.js +0 -1
  33. package/dist/services/drawElementService.d.ts +0 -1
  34. package/dist/services/drawElementService.js +1 -2
  35. package/dist/services/extractedFrameIndex.d.ts +0 -1
  36. package/dist/services/extractedFrameIndex.js +0 -1
  37. package/dist/services/extractionCache.d.ts +3 -1
  38. package/dist/services/extractionCache.js +17 -4
  39. package/dist/services/fileServer.d.ts +0 -1
  40. package/dist/services/fileServer.js +0 -1
  41. package/dist/services/frameCapture.d.ts +2 -2
  42. package/dist/services/frameCapture.js +33 -33
  43. package/dist/services/hdrCapture.d.ts +0 -1
  44. package/dist/services/hdrCapture.js +0 -1
  45. package/dist/services/mediaHidden.d.ts +0 -1
  46. package/dist/services/mediaHidden.js +0 -1
  47. package/dist/services/mediaRenderIdBridge.d.ts +0 -1
  48. package/dist/services/mediaRenderIdBridge.js +0 -1
  49. package/dist/services/mediaTimelineWindow.d.ts +0 -1
  50. package/dist/services/mediaTimelineWindow.js +0 -1
  51. package/dist/services/motionBlur.d.ts +0 -1
  52. package/dist/services/motionBlur.js +0 -1
  53. package/dist/services/pageNavigationTimeoutErrorHint.d.ts +0 -1
  54. package/dist/services/pageNavigationTimeoutErrorHint.js +0 -1
  55. package/dist/services/parallelCoordinator.d.ts +0 -1
  56. package/dist/services/parallelCoordinator.js +2 -3
  57. package/dist/services/protocolTimeoutErrorHint.d.ts +0 -1
  58. package/dist/services/protocolTimeoutErrorHint.js +0 -1
  59. package/dist/services/referenceResolver.d.ts +0 -1
  60. package/dist/services/referenceResolver.js +0 -1
  61. package/dist/services/screenshotService.d.ts +0 -1
  62. package/dist/services/screenshotService.js +19 -20
  63. package/dist/services/streamingEncoder.d.ts +0 -1
  64. package/dist/services/streamingEncoder.js +0 -1
  65. package/dist/services/systemMemory.d.ts +0 -1
  66. package/dist/services/systemMemory.js +2 -3
  67. package/dist/services/threeDProjection.d.ts +0 -1
  68. package/dist/services/threeDProjection.js +2 -3
  69. package/dist/services/videoFrameExtractor.d.ts +3 -1
  70. package/dist/services/videoFrameExtractor.js +37 -7
  71. package/dist/services/videoFrameInjector.d.ts +0 -1
  72. package/dist/services/videoFrameInjector.js +0 -1
  73. package/dist/services/vp9Options.d.ts +0 -1
  74. package/dist/services/vp9Options.js +0 -1
  75. package/dist/services/wavChunks.d.ts +0 -1
  76. package/dist/services/wavChunks.js +0 -1
  77. package/dist/types.d.ts +0 -1
  78. package/dist/types.js +0 -1
  79. package/dist/utils/alphaBlit.d.ts +0 -1
  80. package/dist/utils/alphaBlit.js +0 -1
  81. package/dist/utils/alphaPlaneProbe.d.ts +0 -1
  82. package/dist/utils/alphaPlaneProbe.js +0 -1
  83. package/dist/utils/assertSwiftShader.d.ts +0 -1
  84. package/dist/utils/assertSwiftShader.js +0 -1
  85. package/dist/utils/concurrencyLimit.d.ts +0 -1
  86. package/dist/utils/concurrencyLimit.js +0 -1
  87. package/dist/utils/crc32.d.ts +0 -1
  88. package/dist/utils/crc32.js +0 -1
  89. package/dist/utils/evenDimensions.d.ts +0 -1
  90. package/dist/utils/evenDimensions.js +0 -1
  91. package/dist/utils/ffmpegBinaries.d.ts +0 -1
  92. package/dist/utils/ffmpegBinaries.js +0 -1
  93. package/dist/utils/ffprobe.d.ts +0 -1
  94. package/dist/utils/ffprobe.js +0 -1
  95. package/dist/utils/gpuEncoder.d.ts +0 -1
  96. package/dist/utils/gpuEncoder.js +0 -1
  97. package/dist/utils/gpuParityDiff.d.ts +0 -1
  98. package/dist/utils/gpuParityDiff.js +4 -5
  99. package/dist/utils/hdr.d.ts +0 -1
  100. package/dist/utils/hdr.js +1 -2
  101. package/dist/utils/htmlTemplate.d.ts +0 -1
  102. package/dist/utils/htmlTemplate.js +0 -1
  103. package/dist/utils/jpegInput.d.ts +0 -1
  104. package/dist/utils/jpegInput.js +0 -1
  105. package/dist/utils/layerCompositor.d.ts +0 -1
  106. package/dist/utils/layerCompositor.js +0 -1
  107. package/dist/utils/managedChildProcess.d.ts +0 -1
  108. package/dist/utils/managedChildProcess.js +0 -1
  109. package/dist/utils/notMediaPayload.d.ts +0 -1
  110. package/dist/utils/notMediaPayload.js +0 -1
  111. package/dist/utils/parityContract.d.ts +0 -1
  112. package/dist/utils/parityContract.js +0 -1
  113. package/dist/utils/processRss.d.ts +0 -1
  114. package/dist/utils/processRss.js +0 -1
  115. package/dist/utils/processTracker.d.ts +0 -1
  116. package/dist/utils/processTracker.js +0 -1
  117. package/dist/utils/psnr.d.ts +0 -1
  118. package/dist/utils/psnr.js +0 -1
  119. package/dist/utils/psnrFilterAvailability.d.ts +0 -1
  120. package/dist/utils/psnrFilterAvailability.js +0 -1
  121. package/dist/utils/readWebGlVendorInfoFromCanvas.d.ts +0 -1
  122. package/dist/utils/readWebGlVendorInfoFromCanvas.js +0 -1
  123. package/dist/utils/renderProvenance.d.ts +0 -1
  124. package/dist/utils/renderProvenance.js +0 -1
  125. package/dist/utils/runFfmpeg.d.ts +0 -1
  126. package/dist/utils/runFfmpeg.js +0 -1
  127. package/dist/utils/sdrCaptureColor.d.ts +0 -1
  128. package/dist/utils/sdrCaptureColor.js +0 -1
  129. package/dist/utils/shaderTransitions.d.ts +0 -1
  130. package/dist/utils/shaderTransitions.js +0 -1
  131. package/dist/utils/urlDownloader.d.ts +0 -1
  132. package/dist/utils/urlDownloader.js +0 -1
  133. package/package.json +3 -3
  134. package/dist/config.d.ts.map +0 -1
  135. package/dist/config.js.map +0 -1
  136. package/dist/index.d.ts.map +0 -1
  137. package/dist/index.js.map +0 -1
  138. package/dist/services/__fixtures__/jpeg.d.ts.map +0 -1
  139. package/dist/services/__fixtures__/jpeg.js.map +0 -1
  140. package/dist/services/audioFxRender.d.ts.map +0 -1
  141. package/dist/services/audioFxRender.js.map +0 -1
  142. package/dist/services/audioMixer.d.ts.map +0 -1
  143. package/dist/services/audioMixer.js.map +0 -1
  144. package/dist/services/audioMixer.types.d.ts.map +0 -1
  145. package/dist/services/audioMixer.types.js.map +0 -1
  146. package/dist/services/audioVolumeEnvelope.d.ts.map +0 -1
  147. package/dist/services/audioVolumeEnvelope.js.map +0 -1
  148. package/dist/services/browserLeasePool.d.ts.map +0 -1
  149. package/dist/services/browserLeasePool.js.map +0 -1
  150. package/dist/services/browserManager.d.ts.map +0 -1
  151. package/dist/services/browserManager.js.map +0 -1
  152. package/dist/services/captureFailure.d.ts.map +0 -1
  153. package/dist/services/captureFailure.js.map +0 -1
  154. package/dist/services/captureWarning.d.ts.map +0 -1
  155. package/dist/services/captureWarning.js.map +0 -1
  156. package/dist/services/chromeHostCeiling.d.ts.map +0 -1
  157. package/dist/services/chromeHostCeiling.js.map +0 -1
  158. package/dist/services/chromeMemorySampler.d.ts.map +0 -1
  159. package/dist/services/chromeMemorySampler.js.map +0 -1
  160. package/dist/services/chunkEncoder.d.ts.map +0 -1
  161. package/dist/services/chunkEncoder.js.map +0 -1
  162. package/dist/services/chunkEncoder.types.d.ts.map +0 -1
  163. package/dist/services/chunkEncoder.types.js.map +0 -1
  164. package/dist/services/drawElementCaptureError.d.ts.map +0 -1
  165. package/dist/services/drawElementCaptureError.js.map +0 -1
  166. package/dist/services/drawElementService.d.ts.map +0 -1
  167. package/dist/services/drawElementService.js.map +0 -1
  168. package/dist/services/extractedFrameIndex.d.ts.map +0 -1
  169. package/dist/services/extractedFrameIndex.js.map +0 -1
  170. package/dist/services/extractionCache.d.ts.map +0 -1
  171. package/dist/services/extractionCache.js.map +0 -1
  172. package/dist/services/fileServer.d.ts.map +0 -1
  173. package/dist/services/fileServer.js.map +0 -1
  174. package/dist/services/frameCapture.d.ts.map +0 -1
  175. package/dist/services/frameCapture.js.map +0 -1
  176. package/dist/services/hdrCapture.d.ts.map +0 -1
  177. package/dist/services/hdrCapture.js.map +0 -1
  178. package/dist/services/mediaHidden.d.ts.map +0 -1
  179. package/dist/services/mediaHidden.js.map +0 -1
  180. package/dist/services/mediaRenderIdBridge.d.ts.map +0 -1
  181. package/dist/services/mediaRenderIdBridge.js.map +0 -1
  182. package/dist/services/mediaTimelineWindow.d.ts.map +0 -1
  183. package/dist/services/mediaTimelineWindow.js.map +0 -1
  184. package/dist/services/motionBlur.d.ts.map +0 -1
  185. package/dist/services/motionBlur.js.map +0 -1
  186. package/dist/services/pageNavigationTimeoutErrorHint.d.ts.map +0 -1
  187. package/dist/services/pageNavigationTimeoutErrorHint.js.map +0 -1
  188. package/dist/services/parallelCoordinator.d.ts.map +0 -1
  189. package/dist/services/parallelCoordinator.js.map +0 -1
  190. package/dist/services/protocolTimeoutErrorHint.d.ts.map +0 -1
  191. package/dist/services/protocolTimeoutErrorHint.js.map +0 -1
  192. package/dist/services/referenceResolver.d.ts.map +0 -1
  193. package/dist/services/referenceResolver.js.map +0 -1
  194. package/dist/services/screenshotService.d.ts.map +0 -1
  195. package/dist/services/screenshotService.js.map +0 -1
  196. package/dist/services/streamingEncoder.d.ts.map +0 -1
  197. package/dist/services/streamingEncoder.js.map +0 -1
  198. package/dist/services/systemMemory.d.ts.map +0 -1
  199. package/dist/services/systemMemory.js.map +0 -1
  200. package/dist/services/threeDProjection.d.ts.map +0 -1
  201. package/dist/services/threeDProjection.js.map +0 -1
  202. package/dist/services/videoFrameExtractor.d.ts.map +0 -1
  203. package/dist/services/videoFrameExtractor.js.map +0 -1
  204. package/dist/services/videoFrameInjector.d.ts.map +0 -1
  205. package/dist/services/videoFrameInjector.js.map +0 -1
  206. package/dist/services/vp9Options.d.ts.map +0 -1
  207. package/dist/services/vp9Options.js.map +0 -1
  208. package/dist/services/wavChunks.d.ts.map +0 -1
  209. package/dist/services/wavChunks.js.map +0 -1
  210. package/dist/types.d.ts.map +0 -1
  211. package/dist/types.js.map +0 -1
  212. package/dist/utils/alphaBlit.d.ts.map +0 -1
  213. package/dist/utils/alphaBlit.js.map +0 -1
  214. package/dist/utils/alphaPlaneProbe.d.ts.map +0 -1
  215. package/dist/utils/alphaPlaneProbe.js.map +0 -1
  216. package/dist/utils/assertSwiftShader.d.ts.map +0 -1
  217. package/dist/utils/assertSwiftShader.js.map +0 -1
  218. package/dist/utils/concurrencyLimit.d.ts.map +0 -1
  219. package/dist/utils/concurrencyLimit.js.map +0 -1
  220. package/dist/utils/crc32.d.ts.map +0 -1
  221. package/dist/utils/crc32.js.map +0 -1
  222. package/dist/utils/evenDimensions.d.ts.map +0 -1
  223. package/dist/utils/evenDimensions.js.map +0 -1
  224. package/dist/utils/ffmpegBinaries.d.ts.map +0 -1
  225. package/dist/utils/ffmpegBinaries.js.map +0 -1
  226. package/dist/utils/ffprobe.d.ts.map +0 -1
  227. package/dist/utils/ffprobe.js.map +0 -1
  228. package/dist/utils/gpuEncoder.d.ts.map +0 -1
  229. package/dist/utils/gpuEncoder.js.map +0 -1
  230. package/dist/utils/gpuParityDiff.d.ts.map +0 -1
  231. package/dist/utils/gpuParityDiff.js.map +0 -1
  232. package/dist/utils/hdr.d.ts.map +0 -1
  233. package/dist/utils/hdr.js.map +0 -1
  234. package/dist/utils/htmlTemplate.d.ts.map +0 -1
  235. package/dist/utils/htmlTemplate.js.map +0 -1
  236. package/dist/utils/jpegInput.d.ts.map +0 -1
  237. package/dist/utils/jpegInput.js.map +0 -1
  238. package/dist/utils/layerCompositor.d.ts.map +0 -1
  239. package/dist/utils/layerCompositor.js.map +0 -1
  240. package/dist/utils/managedChildProcess.d.ts.map +0 -1
  241. package/dist/utils/managedChildProcess.js.map +0 -1
  242. package/dist/utils/notMediaPayload.d.ts.map +0 -1
  243. package/dist/utils/notMediaPayload.js.map +0 -1
  244. package/dist/utils/parityContract.d.ts.map +0 -1
  245. package/dist/utils/parityContract.js.map +0 -1
  246. package/dist/utils/processRss.d.ts.map +0 -1
  247. package/dist/utils/processRss.js.map +0 -1
  248. package/dist/utils/processTracker.d.ts.map +0 -1
  249. package/dist/utils/processTracker.js.map +0 -1
  250. package/dist/utils/psnr.d.ts.map +0 -1
  251. package/dist/utils/psnr.js.map +0 -1
  252. package/dist/utils/psnrFilterAvailability.d.ts.map +0 -1
  253. package/dist/utils/psnrFilterAvailability.js.map +0 -1
  254. package/dist/utils/readWebGlVendorInfoFromCanvas.d.ts.map +0 -1
  255. package/dist/utils/readWebGlVendorInfoFromCanvas.js.map +0 -1
  256. package/dist/utils/renderProvenance.d.ts.map +0 -1
  257. package/dist/utils/renderProvenance.js.map +0 -1
  258. package/dist/utils/runFfmpeg.d.ts.map +0 -1
  259. package/dist/utils/runFfmpeg.js.map +0 -1
  260. package/dist/utils/sdrCaptureColor.d.ts.map +0 -1
  261. package/dist/utils/sdrCaptureColor.js.map +0 -1
  262. package/dist/utils/shaderTransitions.d.ts.map +0 -1
  263. package/dist/utils/shaderTransitions.js.map +0 -1
  264. package/dist/utils/urlDownloader.d.ts.map +0 -1
  265. package/dist/utils/urlDownloader.js.map +0 -1
package/dist/config.d.ts CHANGED
@@ -442,4 +442,3 @@ export declare function shouldClampToScreenshotForConcreteGpu(resolvedGpuMode: "
442
442
  * without consulting anything else.
443
443
  */
444
444
  export declare function applyConcreteGpuScreenshotClamp(currentForceScreenshot: boolean, resolvedGpuMode: "software" | "hardware", cfg: Pick<EngineConfig, "forceScreenshotExplicitlyOptedOut"> | undefined, env?: NodeJS.ProcessEnv): boolean;
445
- //# sourceMappingURL=config.d.ts.map
package/dist/config.js CHANGED
@@ -647,7 +647,7 @@ export function resolveConfig(overrides) {
647
647
  })) {
648
648
  merged.enableStreamingEncode = false;
649
649
  merged.streamingEncodeAutoDisabledOnWin32Compound = true;
650
- console.error("[hyperframes] Windows compound-workaround auto-detected — disabling streaming-encode " +
650
+ console.error("[hyperframes] Windows compound-workaround auto-detected, disabling streaming-encode " +
651
651
  "(platform=win32, software-GPU forced, workers=1). Field signal ts=1784131903. " +
652
652
  "Override: PRODUCER_ENABLE_STREAMING_ENCODE=true.");
653
653
  }
@@ -720,4 +720,3 @@ export function applyConcreteGpuScreenshotClamp(currentForceScreenshot, resolved
720
720
  programmaticOptOut: cfg?.forceScreenshotExplicitlyOptedOut ?? false,
721
721
  }));
722
722
  }
723
- //# sourceMappingURL=config.js.map
package/dist/index.d.ts CHANGED
@@ -45,7 +45,7 @@ export { beginFrameCapture, pageScreenshotCapture, getCdpSession, injectVideoFra
45
45
  export { buildEncoderArgs, encodeFramesFromDir, buildConcatArgs, concatVideoFiles, encodeFramesChunkedConcat, muxVideoWithAudio, applyFaststart, packageHls, detectGpuEncoder, ENCODER_PRESETS, getEncoderPreset, HLS_MASTER_PLAYLIST, HLS_VIDEO_PLAYLIST, HLS_AUDIO_PLAYLIST, type GpuEncoder, type PackageHlsOptions, } from "./services/chunkEncoder.js";
46
46
  export type { EncoderOptions, EncodeResult, MuxResult } from "./services/chunkEncoder.types.js";
47
47
  export { spawnStreamingEncoder, createFrameReorderBuffer, type StreamingEncoder, type StreamingEncoderOptions, type StreamingEncoderResult, type FrameReorderBuffer, } from "./services/streamingEncoder.js";
48
- export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, type VideoElement, type ImageElement, type ExtractedFrames, type DeferredFrameRange, type FrameRange, type ExtractionOptions, type ExtractionResult, type ExtractionPhaseBreakdown, type TimelineExtractionWindow, type VideoExtractionFailure, type VideoExtractionFailureKind, type VideoExtractionFailureGroupDetails, type VideoExtractionFailureRetry, type VideoExtractionFailureStatusClass, type SafeVideoExtractionSourceIdentity, type VideoFrameFormat, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
48
+ export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, isVideoPastTimelineEnd, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, type VideoElement, type ImageElement, type ExtractedFrames, type DeferredFrameRange, type FrameRange, type ExtractionOptions, type ExtractionResult, type ExtractionPhaseBreakdown, type TimelineExtractionWindow, type VideoExtractionFailure, type VideoExtractionFailureKind, type VideoExtractionFailureGroupDetails, type VideoExtractionFailureRetry, type VideoExtractionFailureStatusClass, type SafeVideoExtractionSourceIdentity, type VideoFrameFormat, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
49
49
  export { directorySizeBytes, gcExtractionCache } from "./services/extractionCache.js";
50
50
  export { resolveReferencedStart, resolveReferencedDuration, type RefResolverEl, type RefResolverDoc, } from "./services/referenceResolver.js";
51
51
  export { createVideoFrameInjector } from "./services/videoFrameInjector.js";
@@ -78,4 +78,3 @@ export { isHdrColorSpace, detectTransfer, getHdrEncoderColorParams, analyzeCompo
78
78
  export type { VideoColorSpace } from "./utils/ffprobe.js";
79
79
  export { renderProvenanceArgs, appendRenderProvenanceArgs, readRenderProvenance, PROVENANCE_RENDERER_TAG, PROVENANCE_VERSION_TAG, PROVENANCE_RENDERER_NAME, PROVENANCE_VERSION, type RenderProvenance, } from "./utils/renderProvenance.js";
80
80
  export { DrawElementCaptureError, isDrawElementCaptureError, } from "./services/drawElementCaptureError.js";
81
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -49,7 +49,7 @@ export { beginFrameCapture, pageScreenshotCapture, getCdpSession, injectVideoFra
49
49
  export { buildEncoderArgs, encodeFramesFromDir, buildConcatArgs, concatVideoFiles, encodeFramesChunkedConcat, muxVideoWithAudio, applyFaststart, packageHls, detectGpuEncoder, ENCODER_PRESETS, getEncoderPreset, HLS_MASTER_PLAYLIST, HLS_VIDEO_PLAYLIST, HLS_AUDIO_PLAYLIST, } from "./services/chunkEncoder.js";
50
50
  export { spawnStreamingEncoder, createFrameReorderBuffer, } from "./services/streamingEncoder.js";
51
51
  // ── Media processing ───────────────────────────────────────────────────────────
52
- export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
52
+ export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, isVideoPastTimelineEnd, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
53
53
  export { directorySizeBytes, gcExtractionCache } from "./services/extractionCache.js";
54
54
  export { resolveReferencedStart, resolveReferencedDuration, } from "./services/referenceResolver.js";
55
55
  export { createVideoFrameInjector } from "./services/videoFrameInjector.js";
@@ -85,4 +85,3 @@ export { hideVideoElements, showVideoElements, queryVideoElementBounds, queryEle
85
85
  export { isHdrColorSpace, detectTransfer, getHdrEncoderColorParams, analyzeCompositionHdr, findHdrAutoPromotion, formatHdrAutoPromotionWarning, sanitizeHdrAutoPromotionAsset, DEFAULT_HDR10_MASTERING, HDR_AUTO_PROMOTION_PIPELINE, } from "./utils/hdr.js";
86
86
  export { renderProvenanceArgs, appendRenderProvenanceArgs, readRenderProvenance, PROVENANCE_RENDERER_TAG, PROVENANCE_VERSION_TAG, PROVENANCE_RENDERER_NAME, PROVENANCE_VERSION, } from "./utils/renderProvenance.js";
87
87
  export { DrawElementCaptureError, isDrawElementCaptureError, } from "./services/drawElementCaptureError.js";
88
- //# sourceMappingURL=index.js.map
@@ -1,2 +1 @@
1
1
  export declare const validJpeg: Buffer<ArrayBuffer>;
2
- //# sourceMappingURL=jpeg.d.ts.map
@@ -1,3 +1,2 @@
1
1
  // A 64x64 JPEG encoded by FFmpeg; contains real DQT, DHT, SOF and scan data.
2
2
  export const validJpeg = Buffer.from("/9j/4AAQSkZJRgABAgAAAQABAAD//gAQTGF2YzYyLjI4LjEwMQD/2wBDAAgEBAQEBAUFBQUFBQYGBgYGBgYGBgYGBgYHBwcICAgHBwcGBgcHCAgICAkJCQgICAgJCQoKCgwMCwsODg4RERT/xABNAAEBAAAAAAAAAAAAAAAAAAAABgEBAQEAAAAAAAAAAAAAAAAAAAYHEAEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/8AAEQgAQABAAwEiAAIRAAMRAP/aAAwDAQACEQMRAD8AiwEm38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/9k=", "base64");
3
- //# sourceMappingURL=jpeg.js.map
@@ -75,4 +75,3 @@ export declare function applyAudioFxChain(inputWav: string, chain: HfAudioFxChai
75
75
  envelopeBaked: boolean;
76
76
  }>;
77
77
  export type { HfAudioFxChain, HfAutomation };
78
- //# sourceMappingURL=audioFxRender.d.ts.map
@@ -398,4 +398,3 @@ function envelopeWalkerFor(envelope) {
398
398
  return null;
399
399
  return createEnvelopeWalker(envelope.keyframes, envelope.trackStart, envelope.baseVolume);
400
400
  }
401
- //# sourceMappingURL=audioFxRender.js.map
@@ -41,4 +41,3 @@ export declare function volumeLaneKeyframes(automation: {
41
41
  }, trackStart: number, duration: number): AudioVolumeKeyframe[] | null;
42
42
  export declare function parseAudioElements(html: string): AudioElement[];
43
43
  export declare function processCompositionAudio(elements: AudioElement[], baseDir: string, workDir: string, outputPath: string, totalDuration: number, signal?: AbortSignal, config?: Partial<Pick<EngineConfig, "ffmpegProcessTimeout" | "audioGain">>, compiledDir?: string): Promise<MixResult>;
44
- //# sourceMappingURL=audioMixer.d.ts.map
@@ -1320,4 +1320,3 @@ export async function processCompositionAudio(elements, baseDir, workDir, output
1320
1320
  error: [mixResult.error, degradedNote].filter(Boolean).join("; ") || undefined,
1321
1321
  };
1322
1322
  }
1323
- //# sourceMappingURL=audioMixer.js.map
@@ -73,4 +73,3 @@ export interface MixResult {
73
73
  error?: string;
74
74
  failures?: AudioProcessingFailure[];
75
75
  }
76
- //# sourceMappingURL=audioMixer.types.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=audioMixer.types.js.map
@@ -33,4 +33,3 @@ export declare function createEnvelopeWalker(keyframes: AudioVolumeKeyframe[], t
33
33
  * 16-bit PCM nor 32-bit float (caller should fall back to the expression path).
34
34
  */
35
35
  export declare function applyVolumeEnvelopeToWav(wavPath: string, keyframes: AudioVolumeKeyframe[], trackStart: number, baseVolume: number): boolean;
36
- //# sourceMappingURL=audioVolumeEnvelope.d.ts.map
@@ -150,4 +150,3 @@ export function applyVolumeEnvelopeToWav(wavPath, keyframes, trackStart, baseVol
150
150
  }
151
151
  }
152
152
  }
153
- //# sourceMappingURL=audioVolumeEnvelope.js.map
@@ -50,4 +50,3 @@ export declare class BrowserLeasePool {
50
50
  private requestClose;
51
51
  private removeLease;
52
52
  }
53
- //# sourceMappingURL=browserLeasePool.d.ts.map
@@ -234,4 +234,3 @@ export class BrowserLeasePool {
234
234
  this.leasesByBrowser.delete(browser);
235
235
  }
236
236
  }
237
- //# sourceMappingURL=browserLeasePool.js.map
@@ -119,4 +119,3 @@ export declare class WebGpuUnavailableError extends Error {
119
119
  * `page` must be on a secure-context origin, or navigator.gpu always reads absent.
120
120
  */
121
121
  export declare function assertWebGpuAdapterAvailable(page: Page, requiresWebGpu: boolean, softwareWebGpu?: boolean): Promise<void>;
122
- //# sourceMappingURL=browserManager.d.ts.map
@@ -477,7 +477,7 @@ let _unverifiedHardwareGpuWarned = false;
477
477
  function buildUnverifiedHardwareGpuWarning(platform, cause) {
478
478
  if (cause === "probe-error") {
479
479
  return ("[hyperframes] browserGpuMode=hardware was requested, but the GPU probe could not run, " +
480
- "so hardware acceleration is UNVERIFIED — if Chrome falls back to software WebGL the " +
480
+ "so hardware acceleration is UNVERIFIED. If Chrome falls back to software WebGL the " +
481
481
  "capture will run at CPU speed. Honouring the explicit request anyway.\n" +
482
482
  " This is a probe failure, not evidence of a missing GPU: see the " +
483
483
  "`browserGpuMode probe → software (probe failed ...)` line above for the underlying " +
@@ -493,7 +493,7 @@ function buildUnverifiedHardwareGpuWarning(platform, cause) {
493
493
  : "Check that the host exposes a GPU to this process and that the graphics drivers are " +
494
494
  "installed.";
495
495
  return ("[hyperframes] browserGpuMode=hardware was requested, but the WebGL probe found no " +
496
- "hardware GPU — Chrome will silently fall back to software WebGL and the capture will " +
496
+ "hardware GPU, so Chrome will silently fall back to software WebGL and the capture will " +
497
497
  "run at CPU speed. Honouring the explicit request anyway.\n" +
498
498
  ` ${remediation}\n` +
499
499
  " Pass --no-browser-gpu to select deterministic SwiftShader instead of waiting on a " +
@@ -874,4 +874,3 @@ function getBrowserGpuArgs(mode, platform) {
874
874
  return ["--enable-gpu-rasterization"];
875
875
  }
876
876
  }
877
- //# sourceMappingURL=browserManager.js.map
@@ -24,4 +24,3 @@ export declare function classifyCaptureFailure(error: unknown, options?: {
24
24
  export declare function isTransientBrowserError(error: unknown): boolean;
25
25
  export declare function isMemoryExhaustionError(error: unknown): boolean;
26
26
  export declare function isFatalCaptureFailure(failure: CaptureFailure): boolean;
27
- //# sourceMappingURL=captureFailure.d.ts.map
@@ -147,4 +147,3 @@ export function isMemoryExhaustionError(error) {
147
147
  export function isFatalCaptureFailure(failure) {
148
148
  return !["cancelled", "transient_browser", "protocol_timeout"].includes(failure.kind);
149
149
  }
150
- //# sourceMappingURL=captureFailure.js.map
@@ -2,4 +2,3 @@ import type { CaptureWarning } from "../types.js";
2
2
  /** Clone every mutable field before a warning crosses an async or ownership boundary. */
3
3
  export declare function cloneCaptureWarning<T extends CaptureWarning>(warning: T): T;
4
4
  export declare function cloneCaptureWarnings<T extends CaptureWarning>(warnings: readonly T[]): T[];
5
- //# sourceMappingURL=captureWarning.d.ts.map
@@ -19,4 +19,3 @@ export function cloneCaptureWarning(warning) {
19
19
  export function cloneCaptureWarnings(warnings) {
20
20
  return warnings.map(cloneCaptureWarning);
21
21
  }
22
- //# sourceMappingURL=captureWarning.js.map
@@ -2,4 +2,3 @@
2
2
  export declare function chromeMajorCeiling(hostPlatform?: string, hostRelease?: string): number | undefined;
3
3
  /** True when a cache dir name (`mac-152.0.1.2`) or build id (`152.0.1.2`) is newer than the ceiling. */
4
4
  export declare function exceedsChromeCeiling(versionName: string, ceiling: number | undefined): boolean;
5
- //# sourceMappingURL=chromeHostCeiling.d.ts.map
@@ -14,4 +14,3 @@ export function exceedsChromeCeiling(versionName, ceiling) {
14
14
  const major = Number.parseInt(versionName.slice(versionName.indexOf("-") + 1), 10);
15
15
  return major > ceiling;
16
16
  }
17
- //# sourceMappingURL=chromeHostCeiling.js.map
@@ -52,4 +52,3 @@ export interface ChromeMemorySampler {
52
52
  export declare function mergeSample(prev: ChromeMemoryStats, pids: ChromePids, rss: readonly ProcessRssSample[]): ChromeMemoryStats;
53
53
  export declare function createChromeMemorySampler(deps: ChromeMemorySamplerDeps): ChromeMemorySampler;
54
54
  export {};
55
- //# sourceMappingURL=chromeMemorySampler.d.ts.map
@@ -82,4 +82,3 @@ export function createChromeMemorySampler(deps) {
82
82
  sampleOnce,
83
83
  };
84
84
  }
85
- //# sourceMappingURL=chromeMemorySampler.js.map
@@ -139,4 +139,3 @@ export interface PackageHlsOptions extends Partial<Pick<EngineConfig, "ffmpegPro
139
139
  */
140
140
  export declare function packageHls(videoPath: string, audioPath: string | null, outputDir: string, options: PackageHlsOptions): Promise<MuxResult>;
141
141
  export declare function applyFaststart(inputPath: string, outputPath: string, signal?: AbortSignal, config?: Partial<Pick<EngineConfig, "ffmpegProcessTimeout">>, fps?: Fps, onSecondsWritten?: (seconds: number) => void): Promise<MuxResult>;
142
- //# sourceMappingURL=chunkEncoder.d.ts.map
@@ -804,4 +804,3 @@ export async function applyFaststart(inputPath, outputPath, signal, config, fps,
804
804
  failureReason: result.failureReason,
805
805
  };
806
806
  }
807
- //# sourceMappingURL=chunkEncoder.js.map
@@ -61,4 +61,3 @@ export interface MuxResult {
61
61
  /** Stable machine-readable cause for failures safe to retry on a fresh host. */
62
62
  failureReason?: "external_interruption";
63
63
  }
64
- //# sourceMappingURL=chunkEncoder.types.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=chunkEncoder.types.js.map
@@ -5,4 +5,3 @@ export declare class DrawElementCaptureError extends Error {
5
5
  }
6
6
  /** Structural matching survives engine/producer copies and worker error wrappers. */
7
7
  export declare function isDrawElementCaptureError(error: unknown): boolean;
8
- //# sourceMappingURL=drawElementCaptureError.d.ts.map
@@ -19,4 +19,3 @@ export function isDrawElementCaptureError(error) {
19
19
  }
20
20
  return false;
21
21
  }
22
- //# sourceMappingURL=drawElementCaptureError.js.map
@@ -205,4 +205,3 @@ export declare function produceDrawElementFrameBatch(page: Page, times: number[]
205
205
  failedAt: number | null;
206
206
  error?: string;
207
207
  }>;
208
- //# sourceMappingURL=drawElementService.d.ts.map
@@ -578,7 +578,7 @@ export async function initDrawElementWorkerEncode(page) {
578
578
  // frame's id so the node-side promise rejects instead of hanging.
579
579
  const workerSrc = `
580
580
  // Reuse one OffscreenCanvas across frames (dimensions are constant for a
581
- // render) — a fresh canvas per frame churns ~w*h*4 bytes of backing store
581
+ // render): a fresh canvas per frame churns ~w*h*4 bytes of backing store
582
582
  // every frame and pressures GC on the encode hot path.
583
583
  let oc = null, c = null;
584
584
  self.onmessage = async (e) => {
@@ -1066,4 +1066,3 @@ export async function produceDrawElementFrameBatch(page, times, width, height, q
1066
1066
  }
1067
1067
  return { encodeResults, failedAt: outcome.failedAt, error: outcome.error };
1068
1068
  }
1069
- //# sourceMappingURL=drawElementService.js.map
@@ -5,4 +5,3 @@ export declare class ExtractedFrameSequenceError extends Error {
5
5
  }
6
6
  export declare function extractedFrameIndex(file: string, format: ExtractedFrameFormat): number;
7
7
  export declare function framePathsFromDirectory(outputDir: string, format: ExtractedFrameFormat, allowGaps?: boolean): Map<number, string>;
8
- //# sourceMappingURL=extractedFrameIndex.d.ts.map
@@ -42,4 +42,3 @@ export function framePathsFromDirectory(outputDir, format, allowGaps = false) {
42
42
  }
43
43
  return ordered;
44
44
  }
45
- //# sourceMappingURL=extractedFrameIndex.js.map
@@ -64,6 +64,8 @@ export interface CacheKeyInput {
64
64
  format: CacheFrameFormat;
65
65
  /** Optional source transform applied during extraction. */
66
66
  transform?: string;
67
+ /** SHA-256 of the source bytes, in place of path and mtime (downloaded media gets new ones each render). */
68
+ contentSha256?: string;
67
69
  }
68
70
  export interface CacheEntry {
69
71
  /** Absolute path to the cache entry directory. */
@@ -82,6 +84,7 @@ export interface CachePublishResult {
82
84
  dir: string;
83
85
  published: boolean;
84
86
  }
87
+ export declare function readContentSha256(path: string, signal?: AbortSignal): Promise<string | null>;
85
88
  /**
86
89
  * Read `(mtimeMs, size)` for a path. Returns `null` if the file is missing —
87
90
  * callers should skip the cache path for that entry so the extractor surfaces
@@ -207,4 +210,3 @@ export interface RehydratedFrames {
207
210
  framePaths: Map<number, string>;
208
211
  }
209
212
  export declare function rehydrateCacheEntry(entry: CacheEntry, options: RehydrateOptions): RehydratedFrames;
210
- //# sourceMappingURL=extractionCache.d.ts.map
@@ -32,7 +32,7 @@
32
32
  * become inert and can be gc'd by the caller.
33
33
  */
34
34
  import { createHash, randomUUID } from "node:crypto";
35
- import { existsSync, lstatSync, mkdirSync, readdirSync, renameSync, rmSync, statSync, utimesSync, writeFileSync, } from "node:fs";
35
+ import { createReadStream, existsSync, lstatSync, mkdirSync, readdirSync, renameSync, rmSync, statSync, utimesSync, writeFileSync, } from "node:fs";
36
36
  import { join } from "node:path";
37
37
  import { FRAME_FILENAME_PREFIX, framePathsFromDirectory } from "./extractedFrameIndex.js";
38
38
  /** Filename prefix for extracted frames. Shared with the extractor. */
@@ -48,6 +48,17 @@ export const GC_MARKER = ".hf-last-gc";
48
48
  export const SCHEMA_PREFIX = "hfcache-v6-";
49
49
  /** Truncated hex chars of SHA-256 used for the entry directory name. */
50
50
  const KEY_HEX_CHARS = 16;
51
+ export async function readContentSha256(path, signal) {
52
+ try {
53
+ const hash = createHash("sha256");
54
+ for await (const chunk of createReadStream(path, { signal }))
55
+ hash.update(chunk);
56
+ return hash.digest("hex");
57
+ }
58
+ catch {
59
+ return null;
60
+ }
61
+ }
51
62
  /**
52
63
  * Read `(mtimeMs, size)` for a path. Returns `null` if the file is missing —
53
64
  * callers should skip the cache path for that entry so the extractor surfaces
@@ -66,9 +77,12 @@ export function readKeyStat(videoPath) {
66
77
  }
67
78
  function canonicalKeyBlob(input) {
68
79
  const durationForKey = Number.isFinite(input.duration) ? input.duration : -1;
80
+ // Identity first, so keys of path-keyed entries stay byte-identical.
81
+ const identity = input.contentSha256 !== undefined
82
+ ? { c: input.contentSha256 }
83
+ : { p: input.videoPath, m: input.mtimeMs };
69
84
  const blob = {
70
- p: input.videoPath,
71
- m: input.mtimeMs,
85
+ ...identity,
72
86
  s: input.size,
73
87
  ms: input.mediaStart,
74
88
  d: durationForKey,
@@ -402,4 +416,3 @@ export function rehydrateCacheEntry(entry, options) {
402
416
  framePaths,
403
417
  };
404
418
  }
405
- //# sourceMappingURL=extractionCache.js.map
@@ -22,4 +22,3 @@ export interface FileServerHandle {
22
22
  close: () => void;
23
23
  }
24
24
  export declare function createFileServer(options: FileServerOptions): Promise<FileServerHandle>;
25
- //# sourceMappingURL=fileServer.d.ts.map
@@ -128,4 +128,3 @@ export function createFileServer(options) {
128
128
  });
129
129
  });
130
130
  }
131
- //# sourceMappingURL=fileServer.js.map
@@ -386,7 +386,7 @@ export declare function formatConsoleDiagnostic(type: string, text: string, loca
386
386
  text: string;
387
387
  suppressHostLog: boolean;
388
388
  };
389
- export declare const HF_READY_DIAGNOSTIC_EXPR = "(async function() {\n var hf = window.__hf;\n var player = window.__player;\n var renderReady = !!window.__renderReady;\n var hasSeek = !!(hf && typeof hf.seek === \"function\");\n var duration = hf ? hf.duration : -1;\n var hasTimeline = !!(window.__timelines && Object.keys(window.__timelines).length > 0);\n var root = document.querySelector(\"[data-composition-id]\");\n var declaredDuration = root ? Number(root.getAttribute(\"data-duration\")) : -1;\n var registry = (window.__hf && window.__hf.buildReady) || {};\n var keys = Object.keys(registry);\n // A microtask race mis-sorts a non-native thenable (extra adoption tick)\n // and rejects the whole expression on a rejected entry. Settling each\n // key onto its own record and waiting one macrotask avoids both.\n var settled = {};\n if (keys.length > 0) {\n keys.forEach(function(key) {\n Promise.resolve(registry[key]).then(\n function() { settled[key] = \"resolved\"; },\n function() { settled[key] = \"rejected\"; },\n );\n });\n await new Promise(function(r) { setTimeout(r, 0); });\n }\n // A thenable resolving via its own setTimeout(0) can still misreport as\n // pending here (macrotask registration order, not resolution order) \u2014 a\n // narrow case that self-corrects on the next ~1s diagnostic tick.\n var pendingBuildReadyKeys = keys.filter(function(key) { return !settled[key]; });\n var rejectedBuildReadyKeys = keys.filter(function(key) { return settled[key] === \"rejected\"; });\n return {\n renderReady: renderReady,\n hasHf: !!hf,\n hasSeek: hasSeek,\n hasPlayer: !!player,\n duration: duration,\n hasTimeline: hasTimeline,\n declaredDuration: declaredDuration,\n pendingBuildReadyKeys: pendingBuildReadyKeys,\n rejectedBuildReadyKeys: rejectedBuildReadyKeys,\n };\n})()";
389
+ export declare const HF_READY_DIAGNOSTIC_EXPR = "(async function() {\n var hf = window.__hf;\n var player = window.__player;\n var renderReady = !!window.__renderReady;\n var hasSeek = !!(hf && typeof hf.seek === \"function\");\n var duration = hf ? hf.duration : -1;\n var hasTimeline = !!(window.__timelines && Object.keys(window.__timelines).length > 0);\n var root = document.querySelector(\"[data-composition-id]\");\n var declaredDuration = root ? Number(root.getAttribute(\"data-duration\")) : -1;\n var registry = (window.__hf && window.__hf.buildReady) || {};\n var keys = Object.keys(registry);\n // A microtask race mis-sorts a non-native thenable (extra adoption tick)\n // and rejects the whole expression on a rejected entry. Settling each\n // key onto its own record and waiting one macrotask avoids both.\n var settled = {};\n if (keys.length > 0) {\n keys.forEach(function(key) {\n Promise.resolve(registry[key]).then(\n function() { settled[key] = \"resolved\"; },\n function() { settled[key] = \"rejected\"; },\n );\n });\n await new Promise(function(r) { setTimeout(r, 0); });\n }\n // A thenable resolving via its own setTimeout(0) can still misreport as\n // pending here (macrotask registration order, not resolution order), a\n // narrow case that self-corrects on the next ~1s diagnostic tick.\n var pendingBuildReadyKeys = keys.filter(function(key) { return !settled[key]; });\n var rejectedBuildReadyKeys = keys.filter(function(key) { return settled[key] === \"rejected\"; });\n return {\n renderReady: renderReady,\n hasHf: !!hf,\n hasSeek: hasSeek,\n hasPlayer: !!player,\n duration: duration,\n hasTimeline: hasTimeline,\n declaredDuration: declaredDuration,\n pendingBuildReadyKeys: pendingBuildReadyKeys,\n rejectedBuildReadyKeys: rejectedBuildReadyKeys,\n };\n})()";
390
390
  export interface HfDiagnostic {
391
391
  renderReady: boolean;
392
392
  hasHf: boolean;
@@ -399,6 +399,7 @@ export interface HfDiagnostic {
399
399
  rejectedBuildReadyKeys: string[];
400
400
  }
401
401
  export declare function buildZeroDurationDiagnostic(diag: HfDiagnostic): string;
402
+ export declare function pollHfReady(page: Page, timeoutMs: number, intervalMs?: number): Promise<void>;
402
403
  export declare function waitForSubCompositionTimelines(session: CaptureSession, page: Page, timeoutMs: number): Promise<void>;
403
404
  export interface SubTimelinePollOptions {
404
405
  intervalMs?: number;
@@ -752,4 +753,3 @@ export declare function computeDeVerifySampleFractions(k: number): number[];
752
753
  */
753
754
  export declare function percentileOf(samples: number[], p: number): number;
754
755
  export declare function getCapturePerfSummary(session: CaptureSession): CapturePerfSummary;
755
- //# sourceMappingURL=frameCapture.d.ts.map