hyperframes 0.8.191 → 0.8.192
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/{add-S2ZQYG52.js → add-TZU2UW7A.js} +17 -17
- package/dist/{animatedGifPrep-3JA2CQ3U.js → animatedGifPrep-NLAXC3VV.js} +11 -10
- package/dist/api.js +24 -23
- package/dist/{appHistory-TH3TL6N6.js → appHistory-QVCSAOI4.js} +1 -1
- package/dist/{asset-2CNTAPOC.js → asset-JAJXA6LB.js} +2 -2
- package/dist/{assetCataloger-5HXLXL7C.js → assetCataloger-4WTX3J4I.js} +13 -12
- package/dist/{audio-DZTSYHXS.js → audio-XLWC7JKS.js} +22 -21
- package/dist/{auth-GX3M6TJ4.js → auth-5K6X3NPJ.js} +4 -4
- package/dist/{autoUpdate-EDIWE4Z5.js → autoUpdate-RNV7SKGB.js} +4 -4
- package/dist/{backgroundChecks-VPUPJ7UI.js → backgroundChecks-QXLVZVGX.js} +5 -5
- package/dist/backgroundChecksWorker.js +5 -5
- package/dist/{batchRender-JHIIDBJR.js → batchRender-THKSPDZR.js} +14 -7
- package/dist/{beats-PZRVTRYW.js → beats-K7CGCFVL.js} +53 -15
- package/dist/{benchmark-22UFDW2N.js → benchmark-PHRDIXNL.js} +18 -14
- package/dist/{browser-VRDWYIUM.js → browser-GN6R5ZSK.js} +7 -7
- package/dist/{bundleWithLocalizedFonts-23QDKFSN.js → bundleWithLocalizedFonts-C325UNR4.js} +3 -3
- package/dist/{capture-TOCLXYMJ.js → capture-6UBQFHZQ.js} +76 -68
- package/dist/{capture-NFCBXHDE.js → capture-BZ7APOGQ.js} +3 -3
- package/dist/{captureCompositionFrame-BEM6MF7F.js → captureCompositionFrame-VORSCTWC.js} +17 -16
- package/dist/{catalog-NXS35KM7.js → catalog-PHU2RUZ3.js} +18 -18
- package/dist/{catch-up-6WJBUI2C.js → catch-up-HCNRM46J.js} +7 -7
- package/dist/{check-WVEBMWN5.js → check-TJ5ZLB4I.js} +43 -42
- package/dist/{checkBrowser-RT45HJ36.js → checkBrowser-DWP7ZXJ7.js} +38 -37
- package/dist/{chunk-KAC2WR7P.js → chunk-2HP5GIQ3.js} +3 -3
- package/dist/{chunk-2WNVHZHA.js → chunk-2J3NA3OB.js} +13 -13
- package/dist/{chunk-B2A56S5C.js → chunk-2MCXIY4B.js} +13 -10
- package/dist/{chunk-DCAI5DBR.js → chunk-2ST4WAFY.js} +9 -1
- package/dist/{chunk-3NRB7YXW.js → chunk-2VXY3PEF.js} +96 -67
- package/dist/{chunk-LBNEH6IQ.js → chunk-32NB4VMH.js} +1 -1
- package/dist/{chunk-IXLUTE6N.js → chunk-3422KMTD.js} +5 -1
- package/dist/{chunk-JTPHFYZI.js → chunk-3CXIX6XS.js} +68 -7
- package/dist/{chunk-MSM6VRQ4.js → chunk-3FV5BVWS.js} +2 -2
- package/dist/{chunk-7ZJEQY7Q.js → chunk-4E75LHAL.js} +23 -3
- package/dist/{chunk-TMBUBLZB.js → chunk-4HCJOFMB.js} +166 -46
- package/dist/{chunk-JJJCFKMF.js → chunk-5IPKQHOL.js} +17 -6
- package/dist/{chunk-WQ3X5OH4.js → chunk-5TRFLZ5Z.js} +2 -2
- package/dist/{chunk-HRPWRZGF.js → chunk-6N65ZMC5.js} +1 -1
- package/dist/{chunk-XUXGIA7H.js → chunk-6NLPPKBO.js} +1 -2
- package/dist/{chunk-RE3EEBWC.js → chunk-6WNLQI63.js} +4 -4
- package/dist/{chunk-7FF36MAD.js → chunk-6XVKMBUA.js} +9 -6
- package/dist/{chunk-7NKJS5KM.js → chunk-7JJMT6LN.js} +1 -1
- package/dist/{chunk-JOLZ3BSL.js → chunk-7LLRMYP6.js} +2 -2
- package/dist/{chunk-COETAXRN.js → chunk-7RSY7SZN.js} +2 -2
- package/dist/{chunk-JGTRVG32.js → chunk-7UZC4N62.js} +1 -1
- package/dist/{chunk-XWOCXIKR.js → chunk-A4OI5ZNX.js} +1 -1
- package/dist/{chunk-VYQYVYQ5.js → chunk-AEXVVABM.js} +83 -45
- package/dist/{chunk-DOOSC34Z.js → chunk-AMZJFCOX.js} +8 -8
- package/dist/{chunk-OV6KHXLX.js → chunk-AR46ND2Q.js} +1 -1
- package/dist/chunk-B2XLXD7V.js +3897 -0
- package/dist/{chunk-XMSQRDAK.js → chunk-BEOK6F26.js} +2 -2
- package/dist/{chunk-U5GTDAQL.js → chunk-BPKLUHFT.js} +7 -7
- package/dist/{chunk-TFGO5YMI.js → chunk-BV6YE455.js} +2 -2
- package/dist/{chunk-XGHHVYC7.js → chunk-BY6OQ6XP.js} +2 -2
- package/dist/{chunk-JQYJXUJW.js → chunk-C6KE4AFW.js} +1 -1
- package/dist/{chunk-TMK4Q7JA.js → chunk-CFUCHO4T.js} +20 -5
- package/dist/{chunk-KV72BP7O.js → chunk-CXRZBWSH.js} +11 -11
- package/dist/chunk-CZGHFATT.js +31 -0
- package/dist/{chunk-CYBXXSC4.js → chunk-DIKAPMMF.js} +2 -2
- package/dist/{chunk-7L37AB57.js → chunk-E3P3LJG6.js} +9 -9
- package/dist/{chunk-JYSSPQDT.js → chunk-E5V6WEMK.js} +11 -11
- package/dist/{chunk-T5YF32WV.js → chunk-EKGGSAWR.js} +6 -5
- package/dist/{chunk-7KVVNF7B.js → chunk-ELP5QZWL.js} +1 -1
- package/dist/{chunk-QH3T4WI2.js → chunk-EXAX37XR.js} +8 -2
- package/dist/{chunk-EI7FP7F3.js → chunk-FBVUAH7N.js} +12 -2
- package/dist/{chunk-W3CS2KFV.js → chunk-GANST5K3.js} +2 -2
- package/dist/{chunk-3WJT2JCX.js → chunk-IMSI7IFW.js} +52 -23
- package/dist/{chunk-W64L7IFS.js → chunk-IW5G323T.js} +1 -1
- package/dist/{chunk-RWYUK7LM.js → chunk-J2ASTCU6.js} +2 -2
- package/dist/{chunk-3XI7MIZB.js → chunk-J2BSUF6X.js} +1 -1
- package/dist/{chunk-WY3TQ2PT.js → chunk-JCDYDF54.js} +2 -2
- package/dist/{chunk-ALEF2F5N.js → chunk-K2AKVYNR.js} +2 -2
- package/dist/{chunk-TADJOIFW.js → chunk-KZOZN4PI.js} +4 -4
- package/dist/{chunk-CINKQY6M.js → chunk-L2YGSAOL.js} +3 -3
- package/dist/{chunk-AQB5M53R.js → chunk-LOKCBZYF.js} +3 -3
- package/dist/{chunk-7A65UCMI.js → chunk-MEE4NTPZ.js} +2 -2
- package/dist/{chunk-GM3WIOO6.js → chunk-MGBUWPXX.js} +2 -2
- package/dist/{chunk-ZHKUIC7X.js → chunk-MVIJTXN5.js} +21 -14
- package/dist/{chunk-SMEF3TRJ.js → chunk-ODBYZIOH.js} +15 -15
- package/dist/{chunk-NJGTNWQY.js → chunk-OQL4AJ4X.js} +6 -6
- package/dist/{chunk-5C7R55BJ.js → chunk-P2I4RLJE.js} +1 -1
- package/dist/{chunk-7LUJE3II.js → chunk-PFRG5P32.js} +1 -1
- package/dist/{chunk-RUOG4VB7.js → chunk-PKZ7RK5N.js} +5 -4
- package/dist/{chunk-LLFQA7XF.js → chunk-QFPBRZJD.js} +1 -1
- package/dist/{chunk-TJKE4EYX.js → chunk-QWLES6YV.js} +3 -3
- package/dist/{chunk-NMDUSCCE.js → chunk-QX4TB4NH.js} +160 -56
- package/dist/{chunk-CXMXJEVY.js → chunk-R2U2G4OS.js} +1 -1
- package/dist/{chunk-46HEFGXJ.js → chunk-REUL2KH2.js} +1 -1
- package/dist/{chunk-KGMHMYWI.js → chunk-RHYOWDI6.js} +2 -2
- package/dist/{chunk-DYAPHNV6.js → chunk-RWGASWT7.js} +1 -1
- package/dist/chunk-RXATE6FZ.js +385 -0
- package/dist/{chunk-EFCKV7MY.js → chunk-SBBQFPCJ.js} +1 -1
- package/dist/{chunk-KHCTBZGJ.js → chunk-SK7TR7BL.js} +4 -4
- package/dist/{chunk-KNU5COPB.js → chunk-T2EUWCJE.js} +1 -1
- package/dist/{chunk-TRZVS6TL.js → chunk-T6O5OLN2.js} +3 -3
- package/dist/{chunk-TFMZ4RKM.js → chunk-ULTKB5FC.js} +23 -12
- package/dist/{chunk-UNR3P7IF.js → chunk-VNPADTDD.js} +3 -3
- package/dist/{chunk-BFFLKQVB.js → chunk-VOM2HLUI.js} +4 -4
- package/dist/{chunk-GLG5JWLI.js → chunk-VRAXIQ6I.js} +2 -2
- package/dist/{chunk-NAUKCKCJ.js → chunk-W24SZ5FL.js} +4 -4
- package/dist/{chunk-COWQITWP.js → chunk-WOKVXK4J.js} +1 -1
- package/dist/{chunk-WJEVUPVD.js → chunk-XF77MK3J.js} +1 -1
- package/dist/{chunk-HYW6HTAK.js → chunk-XX2PA4L3.js} +2 -2
- package/dist/{chunk-RQBB7PYT.js → chunk-YMQQXPD5.js} +2 -2
- package/dist/{chunk-WHAEJX26.js → chunk-YWRQHRDY.js} +17 -12
- package/dist/{chunk-FBDOHH3Q.js → chunk-ZEMDV6W2.js} +29 -59
- package/dist/{clean-3VIU2BSK.js → clean-2RNCTDBT.js} +40 -27
- package/dist/cli.js +69 -67
- package/dist/{cloud-NA3J4XW2.js → cloud-NFIKESNZ.js} +4 -4
- package/dist/{cloudrun-4MHOF7UT.js → cloudrun-7224BCX3.js} +9 -9
- package/dist/commands/contrast-audit.browser.js +1 -1
- package/dist/{compare-ZR7XRPPT.js → compare-HL44MXVX.js} +76 -47
- package/dist/{compiler-MA2ELZPG.js → compiler-WF5QTXV7.js} +8 -7
- package/dist/{component-ZJSOPUAM.js → component-ZBZXSJBR.js} +3 -3
- package/dist/{compositions-WA5V2SHF.js → compositions-76P7LDDX.js} +19 -17
- package/dist/{contactSheet-CAGMKI3E.js → contactSheet-43ISAESM.js} +2 -2
- package/dist/{delete-UC427UEA.js → delete-4YZBYOHJ.js} +7 -7
- package/dist/{deploy-B5UO4UIK.js → deploy-UGUUGYLF.js} +1 -1
- package/dist/{deterministicFonts-EGAAE7QL.js → deterministicFonts-RO2TCMLZ.js} +3 -3
- package/dist/{dist-BPK37SAB.js → dist-5KKCRFPT.js} +5 -5
- package/dist/{dist-XGPSPKKP.js → dist-QQ26RUDV.js} +5 -4
- package/dist/{doctor-ZERCTKEK.js → doctor-GGVUK4NB.js} +20 -19
- package/dist/{events-DCOZQERS.js → events-OXPTHVDB.js} +4 -4
- package/dist/{events-CNIXB2QK.js → events-V2VU4J3B.js} +5 -5
- package/dist/{feedback-YBD5ITTY.js → feedback-HFZ5SCUK.js} +16 -16
- package/dist/{ffmpeg-V4BBFDTG.js → ffmpeg-3VHY7GO3.js} +13 -12
- package/dist/{figma-Z45ZYVGE.js → figma-7SEZTLBJ.js} +3 -3
- package/dist/fontLocalizeCli.js +14 -13
- package/dist/{get-23NXQWCD.js → get-Y2S2PXCM.js} +7 -7
- package/dist/{gpuPolicy-H6ABHVEB.js → gpuPolicy-UHPOWRV5.js} +11 -10
- package/dist/{grade-compare-ZPX2G3UV.js → grade-compare-4VTXSQM5.js} +38 -37
- package/dist/{gsapParserAcorn-SKODXC2N.js → gsapParserAcorn-OOTY2MVN.js} +2 -2
- package/dist/{help-EP4CDPLO.js → help-HXNOACHI.js} +1 -1
- package/dist/{history-E5OSXO74.js → history-XDJUI4LC.js} +39 -16
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +59 -59
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/hyperframes-slideshow.global.js +1 -1
- package/dist/{info-2HHGSW5H.js → info-KYRI3EZV.js} +56 -22
- package/dist/{init-ENEG6RZT.js → init-IL7EWMT5.js} +38 -45
- package/dist/{inspect-PVQK4E2A.js → inspect-TBNH23UC.js} +36 -35
- package/dist/{installer-YGGLEOSF.js → installer-O2YMFSI4.js} +8 -8
- package/dist/{keyframes-UWSYS2SL.js → keyframes-4GF62KAJ.js} +13 -14
- package/dist/{lambda-L3LPXC2M.js → lambda-JFL6M4XZ.js} +11 -11
- package/dist/{layout-JVL4QREC.js → layout-7MAEFR65.js} +36 -35
- package/dist/{lint-JXQ72DDB.js → lint-4AYHKYAM.js} +23 -16
- package/dist/{lintProject-F7IC7WY4.js → lintProject-52SLJPRC.js} +5 -4
- package/dist/{list-UFMLM3VV.js → list-3DP3D3MW.js} +7 -7
- package/dist/{login-CKGMWQJN.js → login-T54WQYRQ.js} +7 -7
- package/dist/{logout-DDC4QLVK.js → logout-JYFWWUGK.js} +3 -3
- package/dist/{manager-UHWEKPXC.js → manager-MZIJY73J.js} +3 -3
- package/dist/{manager-U6OP3EXB.js → manager-QROK2IH3.js} +14 -13
- package/dist/{media-treatment-MFMEWCDY.js → media-treatment-4CXF7MSG.js} +20 -19
- package/dist/{models-QA3TJ75Y.js → models-IS3I6JKU.js} +18 -17
- package/dist/{motionShot-NV2OPJHD.js → motionShot-DVYJZOTQ.js} +21 -20
- package/dist/{normalize-3AYFSN2F.js → normalize-FASIPBUM.js} +1 -1
- package/dist/{normalize-audio-JWJRUKK2.js → normalize-audio-4527JIK4.js} +12 -8
- package/dist/{open-PTJNDRER.js → open-5JE46SAX.js} +18 -18
- package/dist/{parakeetRunner-B5FCWWOO.js → parakeetRunner-7JIJGJJ7.js} +20 -19
- package/dist/{pipeline-N26NA6ZG.js → pipeline-YEN3WFD2.js} +15 -14
- package/dist/{play-45D6X6TV.js → play-WFX67I7M.js} +27 -26
- package/dist/{policies-MBWGLMWB.js → policies-GHVXA5PE.js} +1 -1
- package/dist/{preflight-MFOHPUOI.js → preflight-D377HVUZ.js} +15 -14
- package/dist/{present-IFBUDI4D.js → present-XTSEKAC7.js} +24 -23
- package/dist/{preview-MQRLXQOV.js → preview-5XH7EK6O.js} +27 -26
- package/dist/{producer-2QG7HLAW.js → producer-TFFYF4ZM.js} +1 -1
- package/dist/{projectConfig-I4FTZXHB.js → projectConfig-6YUJHMCL.js} +10 -10
- package/dist/{publication-3GOFXCGU.js → publication-JK33Y55E.js} +5 -5
- package/dist/{publish-3B2TZCFH.js → publish-JHDGXWXU.js} +18 -17
- package/dist/{refresh-RXTOPRBB.js → refresh-USSFPJAU.js} +3 -3
- package/dist/{remove-background-RK4BJDBF.js → remove-background-P44MYAPJ.js} +16 -15
- package/dist/{render-BV6FWFX3.js → render-HJ34EGMN.js} +8 -8
- package/dist/{render-PW3XGS7B.js → render-RBINWWP5.js} +42 -41
- package/dist/{render-SJ4HFPFU.js → render-RJ3I4E3A.js} +26 -25
- package/dist/{render-batch-GKX54O6N.js → render-batch-3D6XQYUC.js} +9 -9
- package/dist/renderSetupWorker.js +9 -8
- package/dist/{resolver-RQJ7CNXD.js → resolver-HCLTFZUW.js} +7 -7
- package/dist/{screenshotCapture-UBY6TT75.js → screenshotCapture-I5EDCITF.js} +6 -3
- package/dist/{sherpa-XZPG7QFF.js → sherpa-IPOUJM6Q.js} +19 -18
- package/dist/skills/hyperframes/references/skill-lifecycle.md +8 -4
- package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +1 -1
- package/dist/{skills-EYLB2V6F.js → skills-P67QEERC.js} +13 -75
- package/dist/{skillsUpdateCheck-TE6K5ROM.js → skillsUpdateCheck-IFMLRVIF.js} +5 -5
- package/dist/{slideshow-YTWATJRT.js → slideshow-SJGK4RQS.js} +1 -1
- package/dist/{snapshot-FE4T3SCN.js → snapshot-4YM4NNWJ.js} +48 -45
- package/dist/{src-SEJ7LNNB.js → src-DCD3YMXX.js} +13 -12
- package/dist/{src-ZOXSEJCD.js → src-SSV66L3F.js} +14 -9
- package/dist/{staticProjectServer-LSVIRDRO.js → staticProjectServer-C7PPGLEQ.js} +22 -21
- package/dist/{status-CM7IQTU2.js → status-H5WLKQDS.js} +3 -3
- package/dist/studio/assets/{hyperframes-player-Bv9hQ3v7.js → hyperframes-player-ChN3cOr0.js} +3 -3
- package/dist/studio/assets/{index-Df14bh-L.js → index-BYbFcRR0.js} +1 -1
- package/dist/studio/assets/{index-D_QqfWhx.js → index-CHu83hHM.js} +122 -122
- package/dist/studio/assets/{index-CBO8uz7-.css → index-CYbvOVp-.css} +1 -1
- package/dist/studio/index.html +2 -2
- package/dist/{studio-api-SL2Z76NU.js → studio-api-6YZ7PIQR.js} +17 -14
- package/dist/{studioServer-BADWVIHU.js → studioServer-EWHSE4GC.js} +60 -59
- package/dist/{telemetry-QG5AANZ4.js → telemetry-4K6CPMNT.js} +2 -2
- package/dist/{telemetry-RN6VYEID.js → telemetry-GGLBHZRZ.js} +5 -5
- package/dist/{timeline-JBTCIPLU.js → timeline-NKHQJXJ2.js} +65 -43
- package/dist/{tokens-A7V7UHNK.js → tokens-FWNNDJ6R.js} +2 -2
- package/dist/{transcribe-NTUCJGFI.js → transcribe-TRPKXZ7L.js} +26 -25
- package/dist/{transcribe-E4BOSNM4.js → transcribe-VD2TMMC2.js} +17 -16
- package/dist/{tts-A2WILYGN.js → tts-5I2AJNLM.js} +1 -1
- package/dist/{updateCheck-M7UAYLUR.js → updateCheck-CUPS6LU3.js} +4 -4
- package/dist/{upgrade-A2COSIMB.js → upgrade-23XO6MEX.js} +4 -4
- package/dist/{urlDownloader-MBSQYART.js → urlDownloader-YOAOONCK.js} +10 -9
- package/dist/{validate-NODZYBHY.js → validate-BWIW24G5.js} +30 -29
- package/dist/{video-LBCUUYK7.js → video-XRXJS4GC.js} +12 -11
- package/dist/warmCheck.js +43 -42
- package/package.json +2 -1
- package/dist/chunk-I5JRXMCV.js +0 -6077
- package/dist/chunk-LM265QNK.js +0 -3896
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
readCompositionFps
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-6XVKMBUA.js";
|
|
10
10
|
import {
|
|
11
11
|
errorBox
|
|
12
12
|
} from "./chunk-K2FLNJVB.js";
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
DEFAULT_CONFIG,
|
|
18
18
|
resolvePageNavigationTimeout
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-QX4TB4NH.js";
|
|
20
20
|
import {
|
|
21
21
|
parseFps
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-MGBUWPXX.js";
|
|
23
23
|
|
|
24
24
|
// src/browser/windowsCrash.ts
|
|
25
25
|
var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
renderFrameIdForRenderId,
|
|
27
27
|
resolveAuthoredTimingWindow,
|
|
28
28
|
toFps
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-MGBUWPXX.js";
|
|
30
30
|
import {
|
|
31
31
|
AUDIO_GROUP_RENDER_ID_ATTR,
|
|
32
32
|
COLOR_GRADING_SOURCE_HIDDEN_ATTR,
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
sourceTimeAt,
|
|
64
64
|
timeAtSourceTime,
|
|
65
65
|
volumeSegmentSampleCount
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-B2XLXD7V.js";
|
|
67
67
|
import {
|
|
68
68
|
clampAudioGain,
|
|
69
69
|
clipGain,
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
} from "./chunk-4UMPIPCQ.js";
|
|
84
84
|
import {
|
|
85
85
|
resolveReferencedStart
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-2VXY3PEF.js";
|
|
87
87
|
import {
|
|
88
88
|
FFMPEG_PATH_ENV,
|
|
89
89
|
FFPROBE_PATH_ENV,
|
|
@@ -4778,8 +4778,11 @@ async function sampleProcessRss(pids, exec = defaultExec(), platform = process.p
|
|
|
4778
4778
|
if (platform === "win32") {
|
|
4779
4779
|
const results = [];
|
|
4780
4780
|
for (const pid of unique) {
|
|
4781
|
-
|
|
4782
|
-
|
|
4781
|
+
try {
|
|
4782
|
+
const { stdout: stdout2 } = await exec("tasklist", ["/FO", "CSV", "/NH", "/FI", `PID eq ${pid}`]);
|
|
4783
|
+
results.push(...parseTasklistCsv(pid, stdout2));
|
|
4784
|
+
} catch {
|
|
4785
|
+
}
|
|
4783
4786
|
}
|
|
4784
4787
|
return results;
|
|
4785
4788
|
}
|
|
@@ -8544,6 +8547,7 @@ var videoMetadataCache = /* @__PURE__ */ new Map();
|
|
|
8544
8547
|
var finalVideoFrameTimestampCache = /* @__PURE__ */ new Map();
|
|
8545
8548
|
var finalVideoFrameTimestampSignalCaches = /* @__PURE__ */ new WeakMap();
|
|
8546
8549
|
var audioMetadataCache = /* @__PURE__ */ new Map();
|
|
8550
|
+
var audioMetadataSignalCaches = /* @__PURE__ */ new WeakMap();
|
|
8547
8551
|
var mediaProbeOutputCache = /* @__PURE__ */ new Map();
|
|
8548
8552
|
var mediaProbeOutputSignalCaches = /* @__PURE__ */ new WeakMap();
|
|
8549
8553
|
var MEDIA_PROBE_OUTPUT_CACHE_MAX_ENTRIES = 128;
|
|
@@ -8599,7 +8603,16 @@ function isPngImageProbe(output) {
|
|
|
8599
8603
|
(stream) => stream.codec_type === "video" && stream.codec_name?.toLowerCase() === "png"
|
|
8600
8604
|
);
|
|
8601
8605
|
}
|
|
8606
|
+
var contentAddressedUrls = /* @__PURE__ */ new Map();
|
|
8607
|
+
var withoutQuery = (url) => url.split(/[?#]/, 1)[0] ?? url;
|
|
8608
|
+
function declareContentAddressedUrl(url, sha256) {
|
|
8609
|
+
contentAddressedUrls.set(withoutQuery(url), sha256);
|
|
8610
|
+
}
|
|
8602
8611
|
function mediaFileIdentity(filePath) {
|
|
8612
|
+
if (/^https?:\/\//i.test(filePath)) {
|
|
8613
|
+
const sha256 = contentAddressedUrls.get(withoutQuery(filePath));
|
|
8614
|
+
return sha256 ? `sha256:${sha256}` : null;
|
|
8615
|
+
}
|
|
8603
8616
|
try {
|
|
8604
8617
|
const stat = statSync2(filePath, { bigint: true });
|
|
8605
8618
|
return [stat.dev, stat.ino, stat.size, stat.mtimeNs, stat.ctimeNs].join(":");
|
|
@@ -8951,44 +8964,51 @@ async function extractFinalVideoFrameTimestamp(filePath, metadata, signal) {
|
|
|
8951
8964
|
var extractVideoMetadata = extractMediaMetadata;
|
|
8952
8965
|
async function extractAudioMetadata(filePath, options) {
|
|
8953
8966
|
const identity = mediaFileIdentity(filePath);
|
|
8954
|
-
const
|
|
8967
|
+
const signal = options?.signal;
|
|
8968
|
+
if (signal && identity === null) return probeAudioMetadata(filePath, signal);
|
|
8969
|
+
let cache = audioMetadataCache;
|
|
8970
|
+
if (signal) {
|
|
8971
|
+
cache = audioMetadataSignalCaches.get(signal) ?? /* @__PURE__ */ new Map();
|
|
8972
|
+
audioMetadataSignalCaches.set(signal, cache);
|
|
8973
|
+
}
|
|
8974
|
+
const cached = readMetadataCache(cache, filePath, identity);
|
|
8955
8975
|
if (cached) return cached;
|
|
8956
|
-
const probePromise = (
|
|
8957
|
-
|
|
8958
|
-
const audioStream = output.streams.find((s) => s.codec_type === "audio");
|
|
8959
|
-
if (!audioStream) throw new Error("[FFmpeg] No audio stream found");
|
|
8960
|
-
let durationSeconds = output.format.duration ? parseFloat(output.format.duration) : 0;
|
|
8961
|
-
const streamDuration = audioStream.duration ? parseFloat(audioStream.duration) : void 0;
|
|
8962
|
-
const sampleRate = audioStream.sample_rate ? parseInt(audioStream.sample_rate) : 44100;
|
|
8963
|
-
const audioCodec = audioStream.codec_name || "unknown";
|
|
8964
|
-
if (sampleRate > 0) {
|
|
8965
|
-
const decoded = await probeDecodedAudioDuration(
|
|
8966
|
-
filePath,
|
|
8967
|
-
sampleRate,
|
|
8968
|
-
audioStartSeconds(audioStream, output.format),
|
|
8969
|
-
durationSeconds,
|
|
8970
|
-
options?.signal
|
|
8971
|
-
);
|
|
8972
|
-
if (decoded !== null) {
|
|
8973
|
-
durationSeconds = reconcileAudioDuration(durationSeconds, decoded, output.format);
|
|
8974
|
-
}
|
|
8975
|
-
}
|
|
8976
|
-
return {
|
|
8977
|
-
durationSeconds,
|
|
8978
|
-
streamDurationSeconds: streamDuration && streamDuration > 0 ? streamDuration : void 0,
|
|
8979
|
-
sampleRate,
|
|
8980
|
-
channels: audioStream.channels || 2,
|
|
8981
|
-
audioCodec,
|
|
8982
|
-
bitrate: output.format.bit_rate ? parseInt(output.format.bit_rate) : void 0,
|
|
8983
|
-
latestStreamLeadSeconds: latestStreamLeadSeconds(output),
|
|
8984
|
-
audioStreamLeadSeconds: streamLeadSeconds(output, audioStream),
|
|
8985
|
-
audioStreamCount: output.streams.filter((s) => s.codec_type === "audio").length
|
|
8986
|
-
};
|
|
8987
|
-
})();
|
|
8988
|
-
if (options?.signal) return probePromise;
|
|
8989
|
-
writeMetadataCache(audioMetadataCache, filePath, identity, probePromise);
|
|
8976
|
+
const probePromise = probeAudioMetadata(filePath, signal);
|
|
8977
|
+
writeMetadataCache(cache, filePath, identity, probePromise);
|
|
8990
8978
|
return probePromise;
|
|
8991
8979
|
}
|
|
8980
|
+
async function probeAudioMetadata(filePath, signal) {
|
|
8981
|
+
const output = await probeMediaOutput(filePath, signal);
|
|
8982
|
+
const audioStream = output.streams.find((s) => s.codec_type === "audio");
|
|
8983
|
+
if (!audioStream) throw new Error("[FFmpeg] No audio stream found");
|
|
8984
|
+
let durationSeconds = output.format.duration ? parseFloat(output.format.duration) : 0;
|
|
8985
|
+
const streamDuration = audioStream.duration ? parseFloat(audioStream.duration) : void 0;
|
|
8986
|
+
const sampleRate = audioStream.sample_rate ? parseInt(audioStream.sample_rate) : 44100;
|
|
8987
|
+
const audioCodec = audioStream.codec_name || "unknown";
|
|
8988
|
+
if (sampleRate > 0) {
|
|
8989
|
+
const decoded = await probeDecodedAudioDuration(
|
|
8990
|
+
filePath,
|
|
8991
|
+
sampleRate,
|
|
8992
|
+
audioStartSeconds(audioStream, output.format),
|
|
8993
|
+
durationSeconds,
|
|
8994
|
+
signal
|
|
8995
|
+
);
|
|
8996
|
+
if (decoded !== null) {
|
|
8997
|
+
durationSeconds = reconcileAudioDuration(durationSeconds, decoded, output.format);
|
|
8998
|
+
}
|
|
8999
|
+
}
|
|
9000
|
+
return {
|
|
9001
|
+
durationSeconds,
|
|
9002
|
+
streamDurationSeconds: streamDuration && streamDuration > 0 ? streamDuration : void 0,
|
|
9003
|
+
sampleRate,
|
|
9004
|
+
channels: audioStream.channels || 2,
|
|
9005
|
+
audioCodec,
|
|
9006
|
+
bitrate: output.format.bit_rate ? parseInt(output.format.bit_rate) : void 0,
|
|
9007
|
+
latestStreamLeadSeconds: latestStreamLeadSeconds(output),
|
|
9008
|
+
audioStreamLeadSeconds: streamLeadSeconds(output, audioStream),
|
|
9009
|
+
audioStreamCount: output.streams.filter((s) => s.codec_type === "audio").length
|
|
9010
|
+
};
|
|
9011
|
+
}
|
|
8992
9012
|
function audioVideoStreamStarts(output) {
|
|
8993
9013
|
return (output?.streams ?? []).filter(
|
|
8994
9014
|
(s) => (s.codec_type === "audio" || s.codec_type === "video") && s.disposition?.attached_pic !== 1
|
|
@@ -9124,8 +9144,10 @@ async function analyzeKeyframeIntervalsUncached(filePath, videoStreamStartSecond
|
|
|
9124
9144
|
|
|
9125
9145
|
// ../engine/src/services/softwareEncoderThreads.ts
|
|
9126
9146
|
import { availableParallelism } from "os";
|
|
9127
|
-
|
|
9128
|
-
|
|
9147
|
+
var X265_MAX_THREADS = 16;
|
|
9148
|
+
function appendSoftwareEncoderThreadsArg(args, encoder, parallelism = availableParallelism()) {
|
|
9149
|
+
const cap = encoder === "libx265" ? X265_MAX_THREADS : Infinity;
|
|
9150
|
+
args.push("-threads", String(Math.min(cap, Math.max(1, Math.floor(parallelism)))));
|
|
9129
9151
|
}
|
|
9130
9152
|
|
|
9131
9153
|
// ../engine/src/utils/renderProvenance.ts
|
|
@@ -9352,7 +9374,7 @@ function buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder = null) {
|
|
|
9352
9374
|
} else {
|
|
9353
9375
|
const encoderName = codec === "h264" ? "libx264" : "libx265";
|
|
9354
9376
|
args.push("-c:v", encoderName, "-preset", preset);
|
|
9355
|
-
appendSoftwareEncoderThreadsArg(args);
|
|
9377
|
+
appendSoftwareEncoderThreadsArg(args, encoderName);
|
|
9356
9378
|
if (bitrate) args.push("-b:v", bitrate);
|
|
9357
9379
|
else args.push("-crf", String(quality));
|
|
9358
9380
|
const gop = resolveLockedGopSize(options);
|
|
@@ -10057,7 +10079,7 @@ function buildStreamingArgs(options, outputPath, gpuEncoder = null) {
|
|
|
10057
10079
|
} else {
|
|
10058
10080
|
const encoderName = codec === "h264" ? "libx264" : "libx265";
|
|
10059
10081
|
args.push("-c:v", encoderName, "-preset", preset);
|
|
10060
|
-
appendSoftwareEncoderThreadsArg(args);
|
|
10082
|
+
appendSoftwareEncoderThreadsArg(args, encoderName);
|
|
10061
10083
|
if (bitrate) args.push("-b:v", bitrate);
|
|
10062
10084
|
else args.push("-crf", String(quality));
|
|
10063
10085
|
const lockedGop = resolveLockedGopSize(options);
|
|
@@ -11481,7 +11503,7 @@ function getSingleMeaningfulChild(container) {
|
|
|
11481
11503
|
}
|
|
11482
11504
|
function unwrapTemplate(html) {
|
|
11483
11505
|
const lowered = html.toLowerCase();
|
|
11484
|
-
if (!lowered.includes("<template") ||
|
|
11506
|
+
if (!lowered.includes("<template") || !/<\/template[ \t\n\r\f]*>/.test(lowered)) {
|
|
11485
11507
|
return html;
|
|
11486
11508
|
}
|
|
11487
11509
|
const { body } = parseHTMLContent(html);
|
|
@@ -11575,7 +11597,7 @@ function isTargetExistsRenameError(err) {
|
|
|
11575
11597
|
return code === "EEXIST" || code === "ENOTEMPTY" || code === "EPERM";
|
|
11576
11598
|
}
|
|
11577
11599
|
function adoptPublishedWinner(entry, partialDir) {
|
|
11578
|
-
if (!existsSync8(join9(entry.dir, COMPLETE_SENTINEL))) return null;
|
|
11600
|
+
if (!existsSync8(join9(entry.dir, COMPLETE_SENTINEL)) || !hasFrameFiles(entry.dir)) return null;
|
|
11579
11601
|
removeDir(partialDir);
|
|
11580
11602
|
return { dir: entry.dir, published: true };
|
|
11581
11603
|
}
|
|
@@ -15269,6 +15291,7 @@ function legacyFilterScriptOptionIsUnsupported(stderr) {
|
|
|
15269
15291
|
return /filter_complex_script/i.test(stderr) && /(?:unrecognized option|option (?:was )?not found)/i.test(stderr);
|
|
15270
15292
|
}
|
|
15271
15293
|
var inPrepareSlot = createConcurrencyLimit(Math.max(2, Math.floor(cpus2().length / 2)));
|
|
15294
|
+
var inRemotePrepareSlot = createConcurrencyLimit(16);
|
|
15272
15295
|
var MAX_VOLUME_SEGMENTS = 32;
|
|
15273
15296
|
var VOLUME_SIMPLIFY_EPSILON = 5e-3;
|
|
15274
15297
|
var STEREO_CHANNEL_FILTER = "pan=stereo|FL=FL+FC|FR=FR+FC";
|
|
@@ -15485,8 +15508,11 @@ function parseAudioElements(html) {
|
|
|
15485
15508
|
const startCache = /* @__PURE__ */ new Map();
|
|
15486
15509
|
const visiting = /* @__PURE__ */ new Set();
|
|
15487
15510
|
const resolveStart = (el) => el.getAttribute("data-start") ? resolveReferencedStart(document2, el, startCache, visiting) : 0;
|
|
15488
|
-
const
|
|
15489
|
-
|
|
15511
|
+
const resolveEnd = (el) => {
|
|
15512
|
+
const end = parseStrictFiniteTimingNumber(el.getAttribute("data-end"));
|
|
15513
|
+
if (end != null) return end;
|
|
15514
|
+
const duration = parseStrictFiniteTimingNumber(el.getAttribute("data-duration"));
|
|
15515
|
+
return duration != null && duration > 0 ? resolveStart(el) + duration : 0;
|
|
15490
15516
|
};
|
|
15491
15517
|
const isHidden = isSelfOrAncestorHidden;
|
|
15492
15518
|
const groupsById = new Map(
|
|
@@ -15505,9 +15531,10 @@ function parseAudioElements(html) {
|
|
|
15505
15531
|
id,
|
|
15506
15532
|
src,
|
|
15507
15533
|
start: resolveStart(el),
|
|
15508
|
-
end:
|
|
15534
|
+
end: resolveEnd(el),
|
|
15509
15535
|
mediaStart: readMediaStart(el),
|
|
15510
15536
|
playbackRate: readElementRateSpec(el),
|
|
15537
|
+
loop: el.getAttribute("loop") !== null,
|
|
15511
15538
|
layer: layerAttr ? parseInt(layerAttr) : 0,
|
|
15512
15539
|
volume: volumeAttr ? parseFloat(volumeAttr) : 1,
|
|
15513
15540
|
...fades.fadeIn > 0 ? { fadeIn: fades.fadeIn } : {},
|
|
@@ -15543,7 +15570,7 @@ function parseAudioElements(html) {
|
|
|
15543
15570
|
}
|
|
15544
15571
|
var FAIL_ON_READ_ERROR_INSTEAD_OF_ENDING_THERE = ["-xerror"];
|
|
15545
15572
|
var SIDECAR_WARM_UP_SECONDS = 1;
|
|
15546
|
-
async function extractAudioSegment(srcPath, outputPath, stage, mediaStart, duration, playbackRate = 1, signal, config, audioSidecarUrl) {
|
|
15573
|
+
async function extractAudioSegment(srcPath, outputPath, stage, mediaStart, duration, playbackRate = 1, signal, config, audioSidecarUrl, options) {
|
|
15547
15574
|
const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG.ffmpegProcessTimeout;
|
|
15548
15575
|
const outputDir = dirname7(outputPath);
|
|
15549
15576
|
if (!existsSync11(outputDir)) mkdirSync7(outputDir, { recursive: true });
|
|
@@ -15553,7 +15580,62 @@ async function extractAudioSegment(srcPath, outputPath, stage, mediaStart, durat
|
|
|
15553
15580
|
const metadata = readsUrl ? await extractAudioMetadata(srcPath, { signal }).catch((error) => {
|
|
15554
15581
|
if (signal?.aborted) throw error;
|
|
15555
15582
|
return extractAudioMetadata(srcPath, { signal });
|
|
15556
|
-
}) : await extractAudioMetadata(srcPath).catch(() =>
|
|
15583
|
+
}) : await extractAudioMetadata(srcPath).catch((error) => {
|
|
15584
|
+
if (options?.loop) throw error;
|
|
15585
|
+
return null;
|
|
15586
|
+
});
|
|
15587
|
+
const loopDuration = (metadata?.durationSeconds ?? 0) - mediaStart;
|
|
15588
|
+
if (options?.loop && loopDuration > 0 && sourceDuration > loopDuration) {
|
|
15589
|
+
const cycleDir = mkdtempSync7(join14(outputDir, ".audio-loop-"));
|
|
15590
|
+
const cyclePath = join14(cycleDir, "cycle.wav");
|
|
15591
|
+
try {
|
|
15592
|
+
const cycle = await extractAudioSegment(
|
|
15593
|
+
srcPath,
|
|
15594
|
+
cyclePath,
|
|
15595
|
+
stage,
|
|
15596
|
+
mediaStart,
|
|
15597
|
+
loopDuration,
|
|
15598
|
+
1,
|
|
15599
|
+
signal,
|
|
15600
|
+
config,
|
|
15601
|
+
audioSidecarUrl,
|
|
15602
|
+
{ padToDuration: true }
|
|
15603
|
+
);
|
|
15604
|
+
if (!cycle.success) return { ...cycle, outputPath };
|
|
15605
|
+
const outputArgs2 = preparedAudioOutputArgs(metadata, normalizedPlaybackRate, duration, null);
|
|
15606
|
+
const result2 = await runFfmpeg(
|
|
15607
|
+
[
|
|
15608
|
+
"-stream_loop",
|
|
15609
|
+
"-1",
|
|
15610
|
+
"-t",
|
|
15611
|
+
String(sourceDuration),
|
|
15612
|
+
"-i",
|
|
15613
|
+
cyclePath,
|
|
15614
|
+
"-vn",
|
|
15615
|
+
"-acodec",
|
|
15616
|
+
"pcm_s16le",
|
|
15617
|
+
"-ar",
|
|
15618
|
+
"48000",
|
|
15619
|
+
...outputArgs2,
|
|
15620
|
+
"-t",
|
|
15621
|
+
String(duration),
|
|
15622
|
+
"-y",
|
|
15623
|
+
outputPath
|
|
15624
|
+
],
|
|
15625
|
+
{ signal, timeout: ffmpegProcessTimeout }
|
|
15626
|
+
);
|
|
15627
|
+
const failure2 = result2.success ? void 0 : ffmpegFailure(stage, result2, ffmpegProcessTimeout);
|
|
15628
|
+
return {
|
|
15629
|
+
success: result2.success,
|
|
15630
|
+
outputPath,
|
|
15631
|
+
durationMs: cycle.durationMs + result2.durationMs,
|
|
15632
|
+
error: failure2?.detail,
|
|
15633
|
+
failure: failure2
|
|
15634
|
+
};
|
|
15635
|
+
} finally {
|
|
15636
|
+
rmSync8(cycleDir, { recursive: true, force: true });
|
|
15637
|
+
}
|
|
15638
|
+
}
|
|
15557
15639
|
const inputSeek = mediaStart >= (metadata?.latestStreamLeadSeconds ?? 0);
|
|
15558
15640
|
const start = formatFilterNumber(mediaStart);
|
|
15559
15641
|
const timestampTrim = inputSeek ? null : `atrim=start=${start}:end=${formatFilterNumber(mediaStart + sourceDuration)},asetpts=PTS-${start}/TB,aresample=async=1:first_pts=0`;
|
|
@@ -15563,7 +15645,10 @@ async function extractAudioSegment(srcPath, outputPath, stage, mediaStart, durat
|
|
|
15563
15645
|
metadata,
|
|
15564
15646
|
normalizedPlaybackRate,
|
|
15565
15647
|
duration,
|
|
15566
|
-
|
|
15648
|
+
[
|
|
15649
|
+
warmUp > 0 ? `atrim=start=${warmUp},asetpts=PTS-STARTPTS` : timestampTrim,
|
|
15650
|
+
...options?.padToDuration ? ["apad"] : []
|
|
15651
|
+
].filter(Boolean).join(",") || null
|
|
15567
15652
|
);
|
|
15568
15653
|
const readFrom = fromSidecar ? audioSidecarUrl : srcPath;
|
|
15569
15654
|
const args = [
|
|
@@ -15574,7 +15659,7 @@ async function extractAudioSegment(srcPath, outputPath, stage, mediaStart, durat
|
|
|
15574
15659
|
readFrom
|
|
15575
15660
|
];
|
|
15576
15661
|
args.push("-vn", "-acodec", "pcm_s16le", "-ar", "48000", ...outputArgs);
|
|
15577
|
-
if (normalizedPlaybackRate !== 1) args.push("-t", String(duration));
|
|
15662
|
+
if (normalizedPlaybackRate !== 1 || options?.padToDuration) args.push("-t", String(duration));
|
|
15578
15663
|
args.push("-y", outputPath);
|
|
15579
15664
|
const result = await runFfmpeg(args, { signal, timeout: ffmpegProcessTimeout });
|
|
15580
15665
|
if (signal?.aborted) {
|
|
@@ -15606,6 +15691,17 @@ async function extractAudioSegment(srcPath, outputPath, stage, mediaStart, durat
|
|
|
15606
15691
|
failure
|
|
15607
15692
|
};
|
|
15608
15693
|
}
|
|
15694
|
+
function isRemoteElement(element, baseDir, compiledDir, config) {
|
|
15695
|
+
if (isHttpUrl(element.src)) return true;
|
|
15696
|
+
if (!config?.urlByAbsentLocalPath?.size) return false;
|
|
15697
|
+
try {
|
|
15698
|
+
return config.urlByAbsentLocalPath.has(
|
|
15699
|
+
resolveProjectRelativeSrc(element.src, baseDir, compiledDir)
|
|
15700
|
+
);
|
|
15701
|
+
} catch {
|
|
15702
|
+
return false;
|
|
15703
|
+
}
|
|
15704
|
+
}
|
|
15609
15705
|
async function generateSilence(outputPath, duration, signal, config) {
|
|
15610
15706
|
const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG.ffmpegProcessTimeout;
|
|
15611
15707
|
const outputDir = dirname7(outputPath);
|
|
@@ -16000,7 +16096,7 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
|
|
|
16000
16096
|
}
|
|
16001
16097
|
await Promise.all(
|
|
16002
16098
|
elements.map(
|
|
16003
|
-
(element, index) => inPrepareSlot(async () => {
|
|
16099
|
+
(element, index) => (isRemoteElement(element, baseDir, compiledDir, config) ? inRemotePrepareSlot : inPrepareSlot)(async () => {
|
|
16004
16100
|
if (effectiveSignal.aborted) {
|
|
16005
16101
|
failures.push({
|
|
16006
16102
|
stage: "cancelled",
|
|
@@ -16069,6 +16165,9 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
|
|
|
16069
16165
|
return;
|
|
16070
16166
|
}
|
|
16071
16167
|
if (element.end - element.start <= 0) {
|
|
16168
|
+
console.warn(
|
|
16169
|
+
`[audioMixer] ${element.id} has no data-duration or data-end; its length is unknown, so it plays to the end of its source`
|
|
16170
|
+
);
|
|
16072
16171
|
let metadata;
|
|
16073
16172
|
try {
|
|
16074
16173
|
metadata = await extractAudioMetadata(
|
|
@@ -16099,7 +16198,8 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
|
|
|
16099
16198
|
element.playbackRate,
|
|
16100
16199
|
effectiveSignal,
|
|
16101
16200
|
config,
|
|
16102
|
-
audioSidecarUrl
|
|
16201
|
+
audioSidecarUrl,
|
|
16202
|
+
{ loop: element.loop }
|
|
16103
16203
|
);
|
|
16104
16204
|
if (!extractResult.success) {
|
|
16105
16205
|
failures.push(
|
|
@@ -16125,7 +16225,9 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
|
|
|
16125
16225
|
element.end - element.start,
|
|
16126
16226
|
element.playbackRate,
|
|
16127
16227
|
effectiveSignal,
|
|
16128
|
-
config
|
|
16228
|
+
config,
|
|
16229
|
+
void 0,
|
|
16230
|
+
{ loop: element.loop }
|
|
16129
16231
|
);
|
|
16130
16232
|
if (!prepResult.success) {
|
|
16131
16233
|
failures.push(
|
|
@@ -17644,6 +17746,7 @@ export {
|
|
|
17644
17746
|
formatFfmpegError,
|
|
17645
17747
|
describeFfmpegFailure,
|
|
17646
17748
|
runFfmpeg,
|
|
17749
|
+
declareContentAddressedUrl,
|
|
17647
17750
|
probeMediaProfile,
|
|
17648
17751
|
extractMediaMetadata,
|
|
17649
17752
|
extractFinalVideoFrameTimestamp,
|
|
@@ -17698,6 +17801,7 @@ export {
|
|
|
17698
17801
|
extractVideoFramesRange,
|
|
17699
17802
|
resolvePlayableVideoDuration,
|
|
17700
17803
|
isVideoPastTimelineEnd,
|
|
17804
|
+
rebaseVideoToWindow,
|
|
17701
17805
|
resolveTimelineExtractionWindow,
|
|
17702
17806
|
resolveFinalFrameExtractionWindow,
|
|
17703
17807
|
resolveVideoExtractionWindow,
|
|
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
VALID_CANVAS_RESOLUTIONS,
|
|
9
9
|
resolveResolutionFlagPair
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2MCXIY4B.js";
|
|
11
11
|
|
|
12
12
|
// src/utils/parseOutputResolution.ts
|
|
13
13
|
function parseOutputResolutionFlag(raw, options) {
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-A4OI5ZNX.js";
|
|
24
24
|
import {
|
|
25
25
|
defineCommand
|
|
26
26
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -229,7 +229,7 @@ var asset_default = defineCommand({
|
|
|
229
229
|
rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
|
|
230
230
|
);
|
|
231
231
|
}
|
|
232
|
-
const { trackFigmaImport } = await import("./telemetry-
|
|
232
|
+
const { trackFigmaImport } = await import("./telemetry-GGLBHZRZ.js");
|
|
233
233
|
trackFigmaImport({
|
|
234
234
|
phase: "asset",
|
|
235
235
|
reused: results.every((r) => r.reused),
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
normalizeErrorMessage
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-T2EUWCJE.js";
|
|
10
10
|
import {
|
|
11
11
|
terminateProcessTree
|
|
12
12
|
} from "./chunk-KGPLIH7B.js";
|