@jackuait/blok 0.17.0 → 0.18.0
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/blok.cjs +1 -1
- package/dist/blok.iife.js +3 -3
- package/dist/blok.mjs +2 -2
- package/dist/blok.umd.js +2 -2
- package/dist/chunks/APEv2Parser-4KTzNuV0.cjs +1 -0
- package/dist/chunks/APEv2Parser-WvRvu4zL.mjs +187 -0
- package/dist/chunks/AbstractID3Parser-DM9acVTg.mjs +34 -0
- package/dist/chunks/AbstractID3Parser-o6LG6Iyj.cjs +1 -0
- package/dist/chunks/AiffParser-C_VaWeb5.mjs +109 -0
- package/dist/chunks/AiffParser-DVmZ6jG0.cjs +1 -0
- package/dist/chunks/AsfParser-CH5F_9Wp.mjs +419 -0
- package/dist/chunks/AsfParser-Dwm_MRPg.cjs +1 -0
- package/dist/chunks/BasicParser-BFTgNkp-.mjs +743 -0
- package/dist/chunks/BasicParser-CLAKKNEs.cjs +1 -0
- package/dist/chunks/DsdiffParser-BAdYwB7y.mjs +108 -0
- package/dist/chunks/DsdiffParser-DRFw1wX0.cjs +1 -0
- package/dist/chunks/DsfParser-DWMLfBH1.mjs +61 -0
- package/dist/chunks/DsfParser-DjS_tBuv.cjs +1 -0
- package/dist/chunks/FlacParser-BdKXrY7L.mjs +255 -0
- package/dist/chunks/FlacParser-CPQ0VqXv.cjs +1 -0
- package/dist/chunks/ID3v1Parser-CPjEHype.cjs +1 -0
- package/dist/chunks/ID3v1Parser-DoxlznrE.mjs +75 -0
- package/dist/chunks/ID3v2Parser-BIrxzjBm.mjs +518 -0
- package/dist/chunks/ID3v2Parser-CMd_Ayt7.cjs +1 -0
- package/dist/chunks/ID3v2Token-Cc901eYL.cjs +1 -0
- package/dist/chunks/ID3v2Token-D5v9lCfb.mjs +107 -0
- package/dist/chunks/MP4Parser-0KMJ-q2k.mjs +811 -0
- package/dist/chunks/MP4Parser-B8kU67Xi.cjs +1 -0
- package/dist/chunks/MatroskaParser-CzZTyUP-.cjs +1 -0
- package/dist/chunks/MatroskaParser-fxFuCddu.mjs +814 -0
- package/dist/chunks/MpegParser-DX5r4iE7.cjs +1 -0
- package/dist/chunks/MpegParser-R-6QiuhU.mjs +513 -0
- package/dist/chunks/MusepackParser-DFLoF47O.mjs +187 -0
- package/dist/chunks/MusepackParser-OgeWmD5G.cjs +1 -0
- package/dist/chunks/OggParser-C1qP2qC7.mjs +251 -0
- package/dist/chunks/OggParser-DjscM3J-.cjs +1 -0
- package/dist/chunks/Util-BL3wIJcu.cjs +1 -0
- package/dist/chunks/Util-DiBcLCh8.mjs +109 -0
- package/dist/chunks/WavPackParser-3J7J92gh.cjs +1 -0
- package/dist/chunks/WavPackParser-Ck8xXsNf.mjs +116 -0
- package/dist/chunks/WaveParser-CiNJ-5JL.cjs +1 -0
- package/dist/chunks/WaveParser-hxQlWijT.mjs +187 -0
- package/dist/chunks/{blok-BPd65xOj.cjs → blok-B7IRrvgX.cjs} +3 -3
- package/dist/chunks/{blok-D4ApwnD7.mjs → blok-BoAuTqli.mjs} +72 -72
- package/dist/chunks/{constants-DObdf8NU.mjs → constants-BO6zLfL2.mjs} +1 -1
- package/dist/chunks/{constants-C3wBsvmH.cjs → constants-BWoyU4yv.cjs} +1 -1
- package/dist/chunks/core-CqiEzfU3.mjs +292 -0
- package/dist/chunks/core-DdDpt2u7.mjs +3931 -0
- package/dist/chunks/core-YGVcFb_q.cjs +1 -0
- package/dist/chunks/core-uWDvHWK7.cjs +6 -0
- package/dist/chunks/{i18next-loader-CNLosgId.cjs → i18next-loader-BBPMegxc.cjs} +1 -1
- package/dist/chunks/{i18next-loader-BMhspWFn.mjs → i18next-loader-K-ir8UKk.mjs} +1 -1
- package/dist/chunks/{lightweight-i18n-Ck1HlVxq.mjs → lightweight-i18n-DJpMke7a.mjs} +27 -0
- package/dist/chunks/lightweight-i18n-LFW8S8u-.cjs +1 -0
- package/dist/chunks/{messages-1H2SY5H1.mjs → messages-3jkCmB_A.mjs} +28 -1
- package/dist/{messages-CSf1g9n_.mjs → chunks/messages-5339ApgH.mjs} +28 -1
- package/dist/{messages-BlInN8XP2.mjs → chunks/messages-7LWW3BVh.mjs} +28 -1
- package/dist/chunks/messages-9B1F-k48.cjs +1 -0
- package/dist/chunks/messages-Au1UpgkX.cjs +1 -0
- package/dist/chunks/messages-B-u5B7tY.cjs +1 -0
- package/dist/chunks/{messages-hhT3Vii-.mjs → messages-B01D7aHY.mjs} +28 -1
- package/dist/chunks/{messages-CbdaJSfC2.mjs → messages-B2iaIrIu.mjs} +28 -1
- package/dist/chunks/messages-B6794_2J.cjs +1 -0
- package/dist/chunks/{messages-B0o3rVBB.cjs → messages-B6dbtt1c.cjs} +1 -1
- package/dist/chunks/{messages-BlOVJtaj.cjs → messages-B6yMdb3B.cjs} +1 -1
- package/dist/chunks/{messages-D5CeQW1e2.cjs → messages-B7st3eF_.cjs} +1 -1
- package/dist/chunks/{messages-CEZ528TO2.cjs → messages-BHCepNsI.cjs} +1 -1
- package/dist/chunks/{messages-CrwZs1Gq.cjs → messages-BHdKd7pH.cjs} +1 -1
- package/dist/{messages-Dc1aAz5V.mjs → chunks/messages-BO-L5oN9.mjs} +28 -1
- package/dist/{messages-BhGHyHKC2.mjs → chunks/messages-BRTWvTAP.mjs} +28 -1
- package/dist/chunks/{messages-BMNmXaC8.mjs → messages-BUvlOqll.mjs} +28 -1
- package/dist/chunks/messages-BV22YIZ_.cjs +1 -0
- package/dist/chunks/messages-BXp_U3uS.cjs +1 -0
- package/dist/{messages-CLkbvdRh2.mjs → chunks/messages-BYCHzM7F.mjs} +28 -1
- package/dist/chunks/messages-B_cHWyWC.cjs +1 -0
- package/dist/{messages-B95smO_C.mjs → chunks/messages-B_d857cA.mjs} +28 -1
- package/dist/chunks/messages-BaVZgTrw.cjs +1 -0
- package/dist/chunks/{messages-BQUzqXIO.mjs → messages-Bb80Csl3.mjs} +28 -1
- package/dist/{messages-BH5AKf_i2.mjs → chunks/messages-BbZz_Anm.mjs} +28 -1
- package/dist/chunks/{messages-Dna-8bQq.mjs → messages-BdL8bmTL.mjs} +28 -1
- package/dist/chunks/{messages-CMFcaa9C.mjs → messages-BeS9EOEO.mjs} +28 -1
- package/dist/chunks/{messages-BQOx3XGd.cjs → messages-BjYhwRk7.cjs} +1 -1
- package/dist/chunks/{messages-79WWudxY.cjs → messages-BkgBVEiE.cjs} +1 -1
- package/dist/{messages-B5xy5hCa.mjs → chunks/messages-Bmq--WTx.mjs} +28 -1
- package/dist/{messages-BLslMhf-.mjs → chunks/messages-Bp0LdGKj.mjs} +28 -1
- package/dist/chunks/{messages-BaWaLwcn2.mjs → messages-BpMWMH9_.mjs} +28 -1
- package/dist/chunks/{messages-_ECIn1VC2.cjs → messages-BsTzdfZF.cjs} +1 -1
- package/dist/chunks/{messages-Dl6VC9Q9.cjs → messages-BveiGA2x.cjs} +1 -1
- package/dist/{messages-DFDw0nkI.mjs → chunks/messages-BwOUSDJR.mjs} +28 -1
- package/dist/chunks/messages-ByNR9m9W.cjs +1 -0
- package/dist/chunks/{messages-CrFIbrXr2.mjs → messages-Byn9-dhb2.mjs} +28 -1
- package/dist/chunks/{messages-B4BvJtlu.mjs → messages-C0swL9CY.mjs} +28 -1
- package/dist/chunks/{messages-3B44ZmLZ.cjs → messages-C2ptZOWh.cjs} +1 -1
- package/dist/chunks/{messages-CpcZgGYg.mjs → messages-C3rGCBi_.mjs} +28 -1
- package/dist/{messages-BvwVDbII.mjs → chunks/messages-C8_r3iTR2.mjs} +28 -1
- package/dist/{messages-STUXoPH72.mjs → chunks/messages-CATH_uz1.mjs} +28 -1
- package/dist/chunks/{messages-DeXUZcFn2.cjs → messages-CBbgEXuO.cjs} +1 -1
- package/dist/chunks/messages-CEySIig9.cjs +1 -0
- package/dist/chunks/messages-CGdCpNZ62.cjs +1 -0
- package/dist/chunks/{messages-Cgph4q9d.cjs → messages-CH9SBR-i.cjs} +1 -1
- package/dist/chunks/{messages-X90YfYzG2.mjs → messages-CI2W7P-j.mjs} +28 -1
- package/dist/{messages-Bumbqs6s.mjs → chunks/messages-CIBYzzFy.mjs} +28 -1
- package/dist/chunks/{messages-BE6rW2R-.cjs → messages-CJFSq8Fl.cjs} +1 -1
- package/dist/chunks/{messages-Dlc1DdZ22.cjs → messages-CM8uUnPx.cjs} +1 -1
- package/dist/chunks/{messages-cYjlWqco.cjs → messages-COx3hDcP.cjs} +1 -1
- package/dist/chunks/messages-CQT8TtiF.cjs +1 -0
- package/dist/chunks/{messages-Byntrl2c.mjs → messages-CRUb9o5k.mjs} +28 -1
- package/dist/chunks/messages-CT8djlV6.cjs +1 -0
- package/dist/chunks/{messages-k4Do3gkF.mjs → messages-CUPup5e3.mjs} +28 -1
- package/dist/chunks/{messages-BfWGa4V82.cjs → messages-CVrOxu3J.cjs} +1 -1
- package/dist/chunks/messages-CWFSMzug2.cjs +1 -0
- package/dist/{messages-DaKjx7Gh.mjs → chunks/messages-CX0tJpOb.mjs} +28 -1
- package/dist/chunks/{messages-BChCPw99.mjs → messages-CXk-iM-i.mjs} +28 -1
- package/dist/chunks/{messages-8uD5ctYP.cjs → messages-CZJZ-au3.cjs} +1 -1
- package/dist/chunks/messages-CZddldga.cjs +1 -0
- package/dist/chunks/{messages-0ZOxg81Y.mjs → messages-Ca9zIrBo.mjs} +28 -1
- package/dist/chunks/{messages-BFcq7wsx.mjs → messages-CbyVDo8y.mjs} +28 -1
- package/dist/chunks/{messages-C3fAHxfE2.cjs → messages-CcsM8Q7g.cjs} +1 -1
- package/dist/chunks/{messages-C_s-wv1r2.mjs → messages-CeIzWL_4.mjs} +28 -1
- package/dist/chunks/{messages-DBPkzBZO2.mjs → messages-CeLv1whu2.mjs} +28 -1
- package/dist/chunks/messages-Ciq5_PsP.cjs +1 -0
- package/dist/{messages-CRL2ecWR.mjs → chunks/messages-CjCn5IsF.mjs} +28 -1
- package/dist/chunks/messages-CjfEt9bg.cjs +1 -0
- package/dist/{messages-DKoeDmZV2.mjs → chunks/messages-Ck1-ddbo.mjs} +28 -1
- package/dist/chunks/{messages-C79Ef9MU.mjs → messages-CkosWGGH.mjs} +28 -1
- package/dist/chunks/{messages-oLqnmqJf2.mjs → messages-Cl_pM31G.mjs} +28 -1
- package/dist/chunks/messages-CmsAbu_A.cjs +1 -0
- package/dist/chunks/messages-CqRtDVFO.cjs +1 -0
- package/dist/chunks/{messages-CO4J7Nns.cjs → messages-CuMtymEs.cjs} +1 -1
- package/dist/{messages-B6J8l1aF.mjs → chunks/messages-Cvg_uTfy.mjs} +28 -1
- package/dist/chunks/messages-Cy-2_lIA.cjs +1 -0
- package/dist/{messages-DvIPbDsq.mjs → chunks/messages-D-QWtvWg.mjs} +28 -1
- package/dist/chunks/{messages-CV3U2Vsm.mjs → messages-D-p-omWy.mjs} +28 -1
- package/dist/{messages-bCZW7LiC.mjs → chunks/messages-D-s4_vnU.mjs} +28 -1
- package/dist/chunks/messages-D41fO84y.cjs +1 -0
- package/dist/chunks/{messages-FIgYAomz2.mjs → messages-D4u2PSQw.mjs} +28 -1
- package/dist/chunks/messages-D7H9JUDr.cjs +1 -0
- package/dist/chunks/{messages-CpZneXUI.cjs → messages-D7sU-NqL.cjs} +1 -1
- package/dist/chunks/{messages-BGoJHXUk2.cjs → messages-DCwrXfck.cjs} +1 -1
- package/dist/chunks/{messages-dp4NwDVM.mjs → messages-DDJkNbJy.mjs} +28 -1
- package/dist/{messages-Dy3mYP_n.mjs → chunks/messages-DDX6I6MX.mjs} +28 -1
- package/dist/chunks/messages-DEg5FAg1.cjs +1 -0
- package/dist/chunks/{messages-B_lkWkPQ.cjs → messages-DFHNw6PQ.cjs} +1 -1
- package/dist/chunks/{messages-DZwozMZD2.mjs → messages-DHv7knYB.mjs} +28 -1
- package/dist/chunks/{messages-YhmR1nl02.cjs → messages-DIFwztFo.cjs} +1 -1
- package/dist/chunks/{messages-BjFB8sow.cjs → messages-DIetNXTx.cjs} +1 -1
- package/dist/{messages-D_ql7LL-2.mjs → chunks/messages-DNtAzacv.mjs} +28 -1
- package/dist/chunks/messages-DOqJ6ogK.cjs +1 -0
- package/dist/chunks/messages-DQJcAz4s.cjs +1 -0
- package/dist/chunks/{messages-C93gDUHr.mjs → messages-DQfi2DoY.mjs} +28 -1
- package/dist/chunks/{messages-61uWTg1y.mjs → messages-DQr7bXMD.mjs} +28 -1
- package/dist/chunks/messages-DT-JnTnw.cjs +1 -0
- package/dist/chunks/{messages-CpbireNX.cjs → messages-DUWCkLYR.cjs} +1 -1
- package/dist/chunks/{messages-BXvKhyQH.cjs → messages-Da8yFc7l.cjs} +1 -1
- package/dist/{messages-ByntluqZ.mjs → chunks/messages-DgF8OkNr.mjs} +28 -1
- package/dist/chunks/{messages-DtTgOx9a.mjs → messages-DiODNXET.mjs} +28 -1
- package/dist/{messages-BBb_hXxm.mjs → chunks/messages-DjZoCJ00.mjs} +28 -1
- package/dist/chunks/messages-DjrfovG0.cjs +1 -0
- package/dist/chunks/messages-DmjccFHq.cjs +1 -0
- package/dist/chunks/{messages-sLVwrcar.cjs → messages-DpNmnBjK.cjs} +1 -1
- package/dist/chunks/messages-DtaPHADA.cjs +1 -0
- package/dist/chunks/{messages-BFGgLdIA2.mjs → messages-DuD4ut1b.mjs} +28 -1
- package/dist/chunks/{messages-DKJ5CX9h2.mjs → messages-DuHFGMCJ.mjs} +28 -1
- package/dist/{messages-B7E1zFAv.mjs → chunks/messages-Dwl878eS.mjs} +28 -1
- package/dist/chunks/{messages-5Rp1xyL4.cjs → messages-ETJ7tQ9O.cjs} +1 -1
- package/dist/chunks/messages-EsX3eikv.cjs +1 -0
- package/dist/chunks/{messages-BK32XCpH.mjs → messages-HJnG9r2l.mjs} +28 -1
- package/dist/chunks/{messages-DjU1jbKf.cjs → messages-Hfo6uCIC.cjs} +1 -1
- package/dist/chunks/{messages-Ywb6VdfO2.cjs → messages-IqNWRaNS.cjs} +1 -1
- package/dist/{messages-CQ6A0zI9.mjs → chunks/messages-MPe9FjYe.mjs} +28 -1
- package/dist/chunks/messages-NJAjMFXd.cjs +1 -0
- package/dist/{messages-BctWdAZP2.mjs → chunks/messages-QCaF3d92.mjs} +28 -1
- package/dist/chunks/messages-SozFksSf.cjs +1 -0
- package/dist/chunks/messages-UXS3zL9A2.cjs +1 -0
- package/dist/chunks/{messages-3iZ6jJ6e.cjs → messages-VeyvtTce.cjs} +1 -1
- package/dist/chunks/{messages--uPFKcl3.mjs → messages-Xh-c7d4C.mjs} +28 -1
- package/dist/chunks/{messages-l0nKmGOV.cjs → messages-Z4LYgfWc.cjs} +1 -1
- package/dist/{messages-CQnz6pXD2.mjs → chunks/messages-ZMG7qQ3D.mjs} +28 -1
- package/dist/chunks/{messages-R2RH1RLt.mjs → messages-cSBZ5qVe.mjs} +28 -1
- package/dist/chunks/{messages-DvxZjb5g2.cjs → messages-gh5G15J1.cjs} +1 -1
- package/dist/{messages-BqFRlEJE2.mjs → chunks/messages-jEbEE90_.mjs} +28 -1
- package/dist/{messages-CqtZ_gtb.mjs → chunks/messages-kqnzps-X.mjs} +28 -1
- package/dist/chunks/{messages-LW9Kd-vn.mjs → messages-m-A6ArIM.mjs} +28 -1
- package/dist/chunks/{messages-CEUDK26P2.mjs → messages-t26x8wxB.mjs} +28 -1
- package/dist/chunks/{messages-DKjhx7Y3.cjs → messages-tR0BdeVG.cjs} +1 -1
- package/dist/{messages-Vfl9lWod.mjs → chunks/messages-typO_i_k.mjs} +28 -1
- package/dist/{messages-Co2GV7rA2.mjs → chunks/messages-ypIHI9Fr.mjs} +28 -1
- package/dist/chunks/{messages-DR5DyRRY2.mjs → messages-zPUQsksJ.mjs} +28 -1
- package/dist/chunks/{tools-CM6aPuR4.mjs → tools-DRwLS-6t.mjs} +2557 -1873
- package/dist/chunks/tools-DXagFf6I.cjs +208 -0
- package/dist/chunks/types-BNsalfLy.cjs +1 -0
- package/dist/chunks/types-gj36fzRQ.mjs +28 -0
- package/dist/full.cjs +1 -1
- package/dist/full.mjs +10 -10
- package/dist/locales.mjs +94 -67
- package/dist/{messages-aPBlKHzr.mjs → messages-4drvqPN8.mjs} +28 -1
- package/dist/{chunks/messages-BIQ2VT8X2.mjs → messages-8__-vX3U.mjs} +28 -1
- package/dist/{chunks/messages-C3B8l3Hy.mjs → messages-Ao2vCNAH2.mjs} +28 -1
- package/dist/{messages-B0Gc0lBw.mjs → messages-B13GEFFu.mjs} +28 -1
- package/dist/{messages-CxK_Vgra.mjs → messages-B2YnZIU2.mjs} +28 -1
- package/dist/{messages-AK_9q2yu.mjs → messages-BI5B9bxE.mjs} +28 -1
- package/dist/{chunks/messages-Db_L5RNl.mjs → messages-BIgvPd6I2.mjs} +28 -1
- package/dist/{chunks/messages-BwxzN2q3.mjs → messages-BKG0QHVl.mjs} +28 -1
- package/dist/{messages-un7M6YZC2.mjs → messages-BKGg4XYm2.mjs} +28 -1
- package/dist/{messages-DZlYqaxx.mjs → messages-BOWDzfkH.mjs} +28 -1
- package/dist/{chunks/messages-C56BTPcC.mjs → messages-BQaiScU1.mjs} +28 -1
- package/dist/{messages-B5THTOwb2.mjs → messages-BQhHthxq2.mjs} +28 -1
- package/dist/{messages-CCgDqF-e.mjs → messages-BRLWpOnP.mjs} +28 -1
- package/dist/{messages-C8QB980F2.mjs → messages-BarhGl2S2.mjs} +28 -1
- package/dist/{messages-BPsdJnwT.mjs → messages-BgPDPIkO.mjs} +28 -1
- package/dist/{messages-BTrok9K8.mjs → messages-BlvF3pot.mjs} +28 -1
- package/dist/{chunks/messages-ZPOc6IQC.mjs → messages-Bmu3rJwO.mjs} +28 -1
- package/dist/{chunks/messages-BQEh67Mi2.mjs → messages-BpwhHkFb2.mjs} +28 -1
- package/dist/{messages-DlxBkSUv.mjs → messages-BvutXmgt.mjs} +28 -1
- package/dist/{chunks/messages-D4UnR6e52.mjs → messages-BwCgJUdq.mjs} +28 -1
- package/dist/{chunks/messages-Ccng4hJ2.mjs → messages-C5IE9mXm.mjs} +28 -1
- package/dist/{messages-DLKTwtBI.mjs → messages-C6R0bzW5.mjs} +28 -1
- package/dist/{chunks/messages-9gvi5jul.mjs → messages-C9Kq8259.mjs} +28 -1
- package/dist/{messages-YPF71WjJ.mjs → messages-CAnOyxrm.mjs} +28 -1
- package/dist/{chunks/messages-D0_Mxuh62.mjs → messages-CDueJTe8.mjs} +28 -1
- package/dist/{chunks/messages-BNuGVAEy.mjs → messages-CEGqNXnP.mjs} +28 -1
- package/dist/{messages-CQotju8u2.mjs → messages-CF5MeYEt2.mjs} +28 -1
- package/dist/{messages-CCdDP2DE.mjs → messages-CGiVoFTi.mjs} +28 -1
- package/dist/{messages-DoahmNMI2.mjs → messages-CQzOV7VE2.mjs} +28 -1
- package/dist/{messages-D08TSj5Q.mjs → messages-CUFac9Qe.mjs} +28 -1
- package/dist/{messages-Bt5Sbl952.mjs → messages-CUcUO5bC2.mjs} +28 -1
- package/dist/{messages-DpbHfnge.mjs → messages-CcF4SO9W.mjs} +28 -1
- package/dist/{messages-B87GXoqt.mjs → messages-CeqpzGl9.mjs} +28 -1
- package/dist/{chunks/messages-DFA5OVrs2.mjs → messages-Cg6a88Bb2.mjs} +28 -1
- package/dist/{messages-CYuTyoK6.mjs → messages-Ch-SytN8.mjs} +28 -1
- package/dist/{messages-Bwese2OQ.mjs → messages-Cn3uvFq3.mjs} +28 -1
- package/dist/{messages-Da09byG42.mjs → messages-CqZgsrVP2.mjs} +28 -1
- package/dist/{messages-DrwEVbKk2.mjs → messages-CskLLTiG2.mjs} +28 -1
- package/dist/{chunks/messages-Bvge__AJ2.mjs → messages-CusWGsl42.mjs} +28 -1
- package/dist/{messages-C-ytN6Dz2.mjs → messages-Cvq2EFPT2.mjs} +28 -1
- package/dist/{messages-DQaDNQat2.mjs → messages-CwvHO8gp2.mjs} +28 -1
- package/dist/{chunks/messages-D3kC7iDa2.mjs → messages-D4dovFzY2.mjs} +28 -1
- package/dist/{chunks/messages-BKSDnjOs.mjs → messages-D9qgYMU82.mjs} +28 -1
- package/dist/{messages-BDJfFuXR.mjs → messages-DGAWjKQZ.mjs} +28 -1
- package/dist/{chunks/messages-Bgzyr5Lh.mjs → messages-DR2JBU-H.mjs} +28 -1
- package/dist/{messages-1ZSVxDYN2.mjs → messages-Da1woCgt2.mjs} +28 -1
- package/dist/{messages-B9h-mKVO2.mjs → messages-DbE-riR52.mjs} +28 -1
- package/dist/{chunks/messages-BGaAuDRS.mjs → messages-DcQNeoPB.mjs} +28 -1
- package/dist/{messages-C-8BMvSp2.mjs → messages-Dq_RdEny2.mjs} +28 -1
- package/dist/{messages-Bx5KWmyJ.mjs → messages-Grhv5SE_.mjs} +28 -1
- package/dist/{chunks/messages-BIHeeP7X2.mjs → messages-HVgCKIww2.mjs} +28 -1
- package/dist/{messages-kjO2WeG-2.mjs → messages-KyJQtOkh2.mjs} +28 -1
- package/dist/{chunks/messages-CqhQuuRo2.mjs → messages-L4sYfXpM.mjs} +28 -1
- package/dist/{chunks/messages-CHx6m_Bo.mjs → messages-P5B61L1J2.mjs} +28 -1
- package/dist/{messages-DrjZz7u9.mjs → messages-RXQKVFCJ.mjs} +28 -1
- package/dist/{chunks/messages-DWjHAdb3.mjs → messages-UJx6PvCL.mjs} +28 -1
- package/dist/{chunks/messages-DkqiXPS7.mjs → messages-VIQ8vjvS.mjs} +28 -1
- package/dist/{chunks/messages-CYOersvL.mjs → messages-bN4Zmk2m.mjs} +28 -1
- package/dist/{chunks/messages-BTKPcoLu.mjs → messages-fAEKzdUq.mjs} +28 -1
- package/dist/{chunks/messages-DYsO5SIA.mjs → messages-gTUy3xjb.mjs} +28 -1
- package/dist/{chunks/messages-BnW_Fwro.mjs → messages-hGop1gbF.mjs} +28 -1
- package/dist/{chunks/messages-yGQn67fw2.mjs → messages-jQsl7cga2.mjs} +28 -1
- package/dist/{chunks/messages-Duj8jpve2.mjs → messages-jsrzDVZy2.mjs} +28 -1
- package/dist/{chunks/messages-C6vijVZv2.mjs → messages-lnxRz5rM.mjs} +28 -1
- package/dist/{messages-CRhhyqEy2.mjs → messages-wmS6Z2m82.mjs} +28 -1
- package/dist/{chunks/messages-D1q601Wg.mjs → messages-yuNINyS1.mjs} +28 -1
- package/dist/{messages-Bn19MGza.mjs → messages-zOl6jpOa.mjs} +28 -1
- package/dist/react.cjs +1 -1
- package/dist/react.mjs +1 -1
- package/dist/tools.cjs +1 -1
- package/dist/tools.mjs +3 -3
- package/dist/vendor.LICENSE.txt +360 -1
- package/package.json +2 -1
- package/src/components/i18n/locales/am/messages.json +28 -1
- package/src/components/i18n/locales/ar/messages.json +28 -1
- package/src/components/i18n/locales/az/messages.json +28 -1
- package/src/components/i18n/locales/bg/messages.json +28 -1
- package/src/components/i18n/locales/bn/messages.json +28 -1
- package/src/components/i18n/locales/bs/messages.json +28 -1
- package/src/components/i18n/locales/cs/messages.json +28 -1
- package/src/components/i18n/locales/da/messages.json +28 -1
- package/src/components/i18n/locales/de/messages.json +28 -1
- package/src/components/i18n/locales/dv/messages.json +28 -1
- package/src/components/i18n/locales/el/messages.json +28 -1
- package/src/components/i18n/locales/en/messages.json +27 -0
- package/src/components/i18n/locales/es/messages.json +28 -1
- package/src/components/i18n/locales/et/messages.json +28 -1
- package/src/components/i18n/locales/fa/messages.json +28 -1
- package/src/components/i18n/locales/fi/messages.json +28 -1
- package/src/components/i18n/locales/fil/messages.json +28 -1
- package/src/components/i18n/locales/fr/messages.json +28 -1
- package/src/components/i18n/locales/gu/messages.json +28 -1
- package/src/components/i18n/locales/he/messages.json +28 -1
- package/src/components/i18n/locales/hi/messages.json +28 -1
- package/src/components/i18n/locales/hr/messages.json +28 -1
- package/src/components/i18n/locales/hu/messages.json +28 -1
- package/src/components/i18n/locales/hy/messages.json +28 -1
- package/src/components/i18n/locales/id/messages.json +28 -1
- package/src/components/i18n/locales/it/messages.json +28 -1
- package/src/components/i18n/locales/ja/messages.json +28 -1
- package/src/components/i18n/locales/ka/messages.json +28 -1
- package/src/components/i18n/locales/km/messages.json +28 -1
- package/src/components/i18n/locales/kn/messages.json +28 -1
- package/src/components/i18n/locales/ko/messages.json +28 -1
- package/src/components/i18n/locales/ku/messages.json +28 -1
- package/src/components/i18n/locales/lo/messages.json +28 -1
- package/src/components/i18n/locales/lt/messages.json +28 -1
- package/src/components/i18n/locales/lv/messages.json +28 -1
- package/src/components/i18n/locales/mk/messages.json +28 -1
- package/src/components/i18n/locales/ml/messages.json +28 -1
- package/src/components/i18n/locales/mn/messages.json +28 -1
- package/src/components/i18n/locales/mr/messages.json +28 -1
- package/src/components/i18n/locales/ms/messages.json +28 -1
- package/src/components/i18n/locales/my/messages.json +28 -1
- package/src/components/i18n/locales/ne/messages.json +28 -1
- package/src/components/i18n/locales/nl/messages.json +28 -1
- package/src/components/i18n/locales/no/messages.json +28 -1
- package/src/components/i18n/locales/pa/messages.json +28 -1
- package/src/components/i18n/locales/pl/messages.json +28 -1
- package/src/components/i18n/locales/ps/messages.json +28 -1
- package/src/components/i18n/locales/pt/messages.json +28 -1
- package/src/components/i18n/locales/ro/messages.json +28 -1
- package/src/components/i18n/locales/ru/messages.json +28 -1
- package/src/components/i18n/locales/sd/messages.json +28 -1
- package/src/components/i18n/locales/si/messages.json +28 -1
- package/src/components/i18n/locales/sk/messages.json +28 -1
- package/src/components/i18n/locales/sl/messages.json +28 -1
- package/src/components/i18n/locales/sq/messages.json +28 -1
- package/src/components/i18n/locales/sr/messages.json +28 -1
- package/src/components/i18n/locales/sv/messages.json +28 -1
- package/src/components/i18n/locales/sw/messages.json +28 -1
- package/src/components/i18n/locales/ta/messages.json +28 -1
- package/src/components/i18n/locales/te/messages.json +28 -1
- package/src/components/i18n/locales/th/messages.json +28 -1
- package/src/components/i18n/locales/tr/messages.json +28 -1
- package/src/components/i18n/locales/ug/messages.json +28 -1
- package/src/components/i18n/locales/uk/messages.json +28 -1
- package/src/components/i18n/locales/ur/messages.json +28 -1
- package/src/components/i18n/locales/vi/messages.json +28 -1
- package/src/components/i18n/locales/yi/messages.json +28 -1
- package/src/components/i18n/locales/zh/messages.json +28 -1
- package/src/components/utils/media-empty-state.ts +3 -2
- package/src/components/utils/mime-match.ts +22 -0
- package/src/styles/audio.css +528 -0
- package/src/styles/main.css +1 -0
- package/src/tools/audio/constants.ts +21 -0
- package/src/tools/audio/controls.ts +416 -0
- package/src/tools/audio/empty-state.ts +45 -0
- package/src/tools/audio/i18n.ts +13 -0
- package/src/tools/audio/index.ts +482 -0
- package/src/tools/audio/metadata.ts +56 -0
- package/src/tools/audio/ui.ts +104 -0
- package/src/tools/audio/uploader.ts +76 -0
- package/src/tools/audio/waveform.ts +171 -0
- package/src/tools/file/constants.ts +2 -3
- package/src/tools/image/constants.ts +2 -7
- package/src/tools/image/uploader.ts +2 -1
- package/src/tools/index.ts +2 -0
- package/src/tools/video/constants.ts +2 -5
- package/src/tools/video/uploader.ts +2 -1
- package/types/tools/audio.d.ts +40 -0
- package/types/tools/image.d.ts +4 -1
- package/types/tools/video.d.ts +4 -1
- package/types/tools-entry.d.ts +9 -0
- package/dist/chunks/lightweight-i18n-ByswFbdt.cjs +0 -1
- package/dist/chunks/messages-1bAMgAsO.cjs +0 -1
- package/dist/chunks/messages-5Vbzn-DL2.cjs +0 -1
- package/dist/chunks/messages-6lqZ4lhc2.cjs +0 -1
- package/dist/chunks/messages-795D2ldP2.cjs +0 -1
- package/dist/chunks/messages-B1h0nDQW.cjs +0 -1
- package/dist/chunks/messages-B37vUkBi.cjs +0 -1
- package/dist/chunks/messages-BDs_gdD_.cjs +0 -1
- package/dist/chunks/messages-BXgTHDIw.cjs +0 -1
- package/dist/chunks/messages-BYW-U0iT.cjs +0 -1
- package/dist/chunks/messages-BeTQxvmX2.cjs +0 -1
- package/dist/chunks/messages-Bjmg_8lv2.cjs +0 -1
- package/dist/chunks/messages-Bpvja9xW2.cjs +0 -1
- package/dist/chunks/messages-BtMQ6v_L.cjs +0 -1
- package/dist/chunks/messages-BvChjyuU2.cjs +0 -1
- package/dist/chunks/messages-CAix8jdZ.cjs +0 -1
- package/dist/chunks/messages-CKiWXTe1.cjs +0 -1
- package/dist/chunks/messages-COTP4ZJ_2.cjs +0 -1
- package/dist/chunks/messages-Cp7wFDrY2.cjs +0 -1
- package/dist/chunks/messages-D8UH8jc6.cjs +0 -1
- package/dist/chunks/messages-DAmOTPVW2.cjs +0 -1
- package/dist/chunks/messages-DEduQerF.cjs +0 -1
- package/dist/chunks/messages-DHah-frn.cjs +0 -1
- package/dist/chunks/messages-DI1ZLPxM.cjs +0 -1
- package/dist/chunks/messages-Dgp7Wk4H.cjs +0 -1
- package/dist/chunks/messages-DhnCZQEY.cjs +0 -1
- package/dist/chunks/messages-Dz8AmvFq.cjs +0 -1
- package/dist/chunks/messages-DzarYc1J2.cjs +0 -1
- package/dist/chunks/messages-FM0KHIkQ2.cjs +0 -1
- package/dist/chunks/messages-JsmKjXPZ.cjs +0 -1
- package/dist/chunks/messages-RWVOHsZu.cjs +0 -1
- package/dist/chunks/messages-iwzDjgrP.cjs +0 -1
- package/dist/chunks/messages-l7DqwqOu2.cjs +0 -1
- package/dist/chunks/messages-zkunMjZf2.cjs +0 -1
- package/dist/chunks/tools-kfoXLTzY.cjs +0 -208
- /package/dist/chunks/{am-BA02TqF9.cjs → am-Dc8fykoi.cjs} +0 -0
- /package/dist/chunks/{am-C9_6r8HY.mjs → am-DyT_H_W5.mjs} +0 -0
- /package/dist/chunks/{ar-CB4IsGCa.cjs → ar-B4htcHv2.cjs} +0 -0
- /package/dist/chunks/{ar-BM96nSXF.mjs → ar-DxcVoX26.mjs} +0 -0
- /package/dist/chunks/{az-FykE_aDi.cjs → az-CddDVVCC.cjs} +0 -0
- /package/dist/chunks/{az-DnZSY5ok.mjs → az-Ck_jWtwp.mjs} +0 -0
- /package/dist/chunks/{bg-D6r90gqH.cjs → bg-BExJFlqx.cjs} +0 -0
- /package/dist/chunks/{bg-BplUvPeX.mjs → bg-C4_DlJ7m.mjs} +0 -0
- /package/dist/chunks/{bn-B7w2dbK4.cjs → bn-B3CWOlDr.cjs} +0 -0
- /package/dist/chunks/{bn-CdP9lnfr.mjs → bn-D0PWjX6h.mjs} +0 -0
- /package/dist/chunks/{bs-BtX-qLsk.mjs → bs-BjqCqh8B.mjs} +0 -0
- /package/dist/chunks/{bs-DztHHorM.cjs → bs-BylFYMjB.cjs} +0 -0
- /package/dist/chunks/{cs-CLMsCdIt.cjs → cs-BzXww59F.cjs} +0 -0
- /package/dist/chunks/{cs-NcDYS-aU.mjs → cs-R_vXAqRw.mjs} +0 -0
- /package/dist/chunks/{da-sJ7EsHcO.cjs → da-Be_YGjP-.cjs} +0 -0
- /package/dist/chunks/{da-ANg6gK3-.mjs → da-BuzQWEfl.mjs} +0 -0
- /package/dist/chunks/{de-CTxvRxuE.mjs → de-BuXrJCQB.mjs} +0 -0
- /package/dist/chunks/{de-CxMqLKhy.cjs → de-CuXVxRU3.cjs} +0 -0
- /package/dist/chunks/{el-Bg6QXLt5.cjs → el-CkLmGPX-.cjs} +0 -0
- /package/dist/chunks/{el-CgOoJaXB.mjs → el-d_XP5H44.mjs} +0 -0
- /package/dist/chunks/{es-7zUbslPJ.cjs → es-CpevBSzX.cjs} +0 -0
- /package/dist/chunks/{es-D5YDFRu-.mjs → es-D79FXk9q.mjs} +0 -0
- /package/dist/chunks/{et-57a7ees8.mjs → et-BmawyEOM.mjs} +0 -0
- /package/dist/chunks/{et-D_rhRdDD.cjs → et-Dm53D0Mw.cjs} +0 -0
- /package/dist/chunks/{fa-JBr2zsfI.cjs → fa-BLZQhg44.cjs} +0 -0
- /package/dist/chunks/{fa-Dp_BXnBP.mjs → fa-Cyzee-uD.mjs} +0 -0
- /package/dist/chunks/{fi-DjbYN6MA.cjs → fi-CktzJP0P.cjs} +0 -0
- /package/dist/chunks/{fi-at45xjOS.mjs → fi-zVk232gP.mjs} +0 -0
- /package/dist/chunks/{fil-dcVBIQoi.cjs → fil-BGEDSfA3.cjs} +0 -0
- /package/dist/chunks/{fil-D_HT2vGt.mjs → fil-DQcS9VcY.mjs} +0 -0
- /package/dist/chunks/{fr-ByR9PLTE.mjs → fr-CUoxzxMy.mjs} +0 -0
- /package/dist/chunks/{fr-Ch4zj1rM.cjs → fr-DRFIW1vC.cjs} +0 -0
- /package/dist/chunks/{gu-CvfPvH3Y.mjs → gu-BSL13JVA.mjs} +0 -0
- /package/dist/chunks/{gu-CoLW5Saq.cjs → gu-DCZgQPh1.cjs} +0 -0
- /package/dist/chunks/{he-Bmqypvkq.mjs → he-B4fsDXlD.mjs} +0 -0
- /package/dist/chunks/{he-2wS2DK0D.cjs → he-CrJki_kT.cjs} +0 -0
- /package/dist/chunks/{hi-f4gshON3.cjs → hi-B7MYHNXb.cjs} +0 -0
- /package/dist/chunks/{hi-DbcN0x64.mjs → hi-Df_jRvP-.mjs} +0 -0
- /package/dist/chunks/{hr-DMExeWwd.cjs → hr-CHeiPUjb.cjs} +0 -0
- /package/dist/chunks/{hr-D5mydeyn.mjs → hr-DC4ZNI8T.mjs} +0 -0
- /package/dist/chunks/{hu-DVCPn8un.mjs → hu-ClC3NxqC.mjs} +0 -0
- /package/dist/chunks/{hu-COmlHkse.cjs → hu-x4Ga7znM.cjs} +0 -0
- /package/dist/chunks/{hy-BoBSSiJc.cjs → hy-dXGxcAjA.cjs} +0 -0
- /package/dist/chunks/{hy-CP6oqcK_.mjs → hy-fpToCZeQ.mjs} +0 -0
- /package/dist/chunks/{id-Dk2AQ6-R.cjs → id-BETj6SOy.cjs} +0 -0
- /package/dist/chunks/{id-COwan-Bb.mjs → id-zXVZ_-tD.mjs} +0 -0
- /package/dist/chunks/{it-BCmU3zOg.cjs → it-CblE5NNx.cjs} +0 -0
- /package/dist/chunks/{it-DJqN-zLs.mjs → it-Cp7EdTdT.mjs} +0 -0
- /package/dist/chunks/{ja-DcMqJvnV.cjs → ja-D4CP2G3w.cjs} +0 -0
- /package/dist/chunks/{ja-CvoLNAXS.mjs → ja-DoaPxTyV.mjs} +0 -0
- /package/dist/chunks/{ka-BdyjQFkv.cjs → ka-C6DxbxxH.cjs} +0 -0
- /package/dist/chunks/{ka-BsqbDXqr.mjs → ka-CwoyhuWu.mjs} +0 -0
- /package/dist/chunks/{km-BShH0mB9.cjs → km-BdZJI-qn.cjs} +0 -0
- /package/dist/chunks/{km-C9FxSKv0.mjs → km-D8jrJ9sv.mjs} +0 -0
- /package/dist/chunks/{kn-bNx6e6NK.cjs → kn-DsGMDyW7.cjs} +0 -0
- /package/dist/chunks/{kn-BKTm-E-A.mjs → kn-IsuZc30u.mjs} +0 -0
- /package/dist/chunks/{ko-LmGjEODJ.cjs → ko-CFVvGmVE.cjs} +0 -0
- /package/dist/chunks/{ko-BLEDr4t_.mjs → ko-DxAtBe72.mjs} +0 -0
- /package/dist/chunks/{ku-BekLwcHQ.cjs → ku-B-43xPpS.cjs} +0 -0
- /package/dist/chunks/{ku-DGpIv9vX.mjs → ku-Da-1BcEg.mjs} +0 -0
- /package/dist/chunks/{lo-YgZPFD63.cjs → lo-DtVyNkq4.cjs} +0 -0
- /package/dist/chunks/{lo-C3wsS73b.mjs → lo-p9PUOxXA.mjs} +0 -0
- /package/dist/chunks/{lt-CIvBJk2h.cjs → lt-BaHJn9M4.cjs} +0 -0
- /package/dist/chunks/{lt-DWWjfR4Z.mjs → lt-C4lGuzQq.mjs} +0 -0
- /package/dist/chunks/{lv-D4nb-9oK.mjs → lv-B5Cp4JEf.mjs} +0 -0
- /package/dist/chunks/{lv-B6Djmvjl.cjs → lv-BHXmLxXV.cjs} +0 -0
- /package/dist/chunks/{mk-BPUvDORf.mjs → mk-B5rDdPUj.mjs} +0 -0
- /package/dist/chunks/{mk-Ck56Emvp.cjs → mk-BhwKijB_.cjs} +0 -0
- /package/dist/chunks/{ml-DsibsgSA.cjs → ml-DxZv3Mzc.cjs} +0 -0
- /package/dist/chunks/{ml-qo0n1JHs.mjs → ml-gamedfCk.mjs} +0 -0
- /package/dist/chunks/{mn-BAQnLAOv.mjs → mn-BbhhPusH.mjs} +0 -0
- /package/dist/chunks/{mn-Db0fVNYE.cjs → mn-Bzi4YTMA.cjs} +0 -0
- /package/dist/chunks/{mr-BTz5VL4u.cjs → mr-BENatxZg.cjs} +0 -0
- /package/dist/chunks/{mr-CFEPrQYy.mjs → mr-DO_kNyu7.mjs} +0 -0
- /package/dist/chunks/{ms-ItzWfmiu.cjs → ms-BVop2DJc.cjs} +0 -0
- /package/dist/chunks/{ms-C9p2_6EB.mjs → ms-eIjFVRpo.mjs} +0 -0
- /package/dist/chunks/{my-BQhcHK_d.mjs → my-nf0gvOOX.mjs} +0 -0
- /package/dist/chunks/{my-Bq1EPoFX.cjs → my-qLePPAWv.cjs} +0 -0
- /package/dist/chunks/{ne-Cf4GpHyI.mjs → ne-DOaubYly.mjs} +0 -0
- /package/dist/chunks/{ne-Mog3kAWt.cjs → ne-DfryA0M8.cjs} +0 -0
- /package/dist/chunks/{nl-Do9Y1u3F.cjs → nl-BehqWHBh.cjs} +0 -0
- /package/dist/chunks/{nl-7DE7AKK5.mjs → nl-VHkGK6MK.mjs} +0 -0
- /package/dist/chunks/{no-DNuo9wW6.cjs → no-CR9Fxz1X.cjs} +0 -0
- /package/dist/chunks/{no-J4jj2fW7.mjs → no-CdtSCHJr.mjs} +0 -0
- /package/dist/chunks/{notifier-BW5H3Ctc.cjs → notifier-CFYHvVe5.cjs} +0 -0
- /package/dist/chunks/{notifier-BDNwSr07.mjs → notifier-DJ3Shryh.mjs} +0 -0
- /package/dist/chunks/{pa-BVCDv2EV.cjs → pa-DgC4LF8q.cjs} +0 -0
- /package/dist/chunks/{pa-DMuUOUxa.mjs → pa-TMcUvGQV.mjs} +0 -0
- /package/dist/chunks/{pl-DIZm5XzV.mjs → pl-BfQYJ9y_.mjs} +0 -0
- /package/dist/chunks/{pl-Ct8v4d8V.cjs → pl-a2nheY_J.cjs} +0 -0
- /package/dist/chunks/{prism-bash-CZ6DBzIk.mjs → prism-bash-D4zr_u8t.mjs} +0 -0
- /package/dist/chunks/{prism-bash-qitAYJtY.cjs → prism-bash-DDQ2u01V.cjs} +0 -0
- /package/dist/chunks/{prism-c-nnJdAhPL.mjs → prism-c-CVyw1BOu.mjs} +0 -0
- /package/dist/chunks/{prism-c-BLyB6e2K.cjs → prism-c-DfVjTtJG.cjs} +0 -0
- /package/dist/chunks/{prism-cpp-DYNCFS3K.mjs → prism-cpp-CrBJjuu5.mjs} +0 -0
- /package/dist/chunks/{prism-cpp-OSmmdLuG.cjs → prism-cpp-DqxJDZfM.cjs} +0 -0
- /package/dist/chunks/{prism-csharp-16T9Ewqf.cjs → prism-csharp-BbJ6Sp-b.cjs} +0 -0
- /package/dist/chunks/{prism-csharp-Dxs2I4ua.mjs → prism-csharp-lrMxvYpL.mjs} +0 -0
- /package/dist/chunks/{prism-css-DwTbu-Ar.mjs → prism-css-VQTID_HR.mjs} +0 -0
- /package/dist/chunks/{prism-css-CMFNwvrI.cjs → prism-css-w2kan9uc.cjs} +0 -0
- /package/dist/chunks/{prism-dart-DX2YtTGt.cjs → prism-dart-B374T6OY.cjs} +0 -0
- /package/dist/chunks/{prism-dart-Cqhjl8Zt.mjs → prism-dart-Q-9Z_W9B.mjs} +0 -0
- /package/dist/chunks/{prism-docker-CF7dhvYh.mjs → prism-docker-DWAQ3dDD.mjs} +0 -0
- /package/dist/chunks/{prism-docker-CR4lKITl.cjs → prism-docker-DsFNc9i3.cjs} +0 -0
- /package/dist/chunks/{prism-go-DUV4QMTT.cjs → prism-go-C4e52XbO.cjs} +0 -0
- /package/dist/chunks/{prism-go-h9KLdAE9.mjs → prism-go-CrXe2RS9.mjs} +0 -0
- /package/dist/chunks/{prism-graphql-CaH0gD6e.mjs → prism-graphql-BG5mfdhd.mjs} +0 -0
- /package/dist/chunks/{prism-graphql-Cw4U0rOD.cjs → prism-graphql-DzWE15JS.cjs} +0 -0
- /package/dist/chunks/{prism-java-BpQ0ReAC.cjs → prism-java-Bth7ny8U.cjs} +0 -0
- /package/dist/chunks/{prism-java-DvKEtgSw.mjs → prism-java-_m72Vn1f.mjs} +0 -0
- /package/dist/chunks/{prism-javascript-D2ecWeeN.mjs → prism-javascript-B74it_3Q.mjs} +0 -0
- /package/dist/chunks/{prism-javascript-ELk9U7yv.cjs → prism-javascript-CZHuhUqG.cjs} +0 -0
- /package/dist/chunks/{prism-json-BdNUnMGb.cjs → prism-json-C7yjuPaa.cjs} +0 -0
- /package/dist/chunks/{prism-json-eqh92QZC.mjs → prism-json-CFsf0S_6.mjs} +0 -0
- /package/dist/chunks/{prism-kotlin-22Gr2SxK.mjs → prism-kotlin-BTT9anu1.mjs} +0 -0
- /package/dist/chunks/{prism-kotlin-WNUAhuoa.cjs → prism-kotlin-BwlhXHxp.cjs} +0 -0
- /package/dist/chunks/{prism-latex-DKge5vOJ.mjs → prism-latex-CL8zDJwm.mjs} +0 -0
- /package/dist/chunks/{prism-latex-BtyYjHKE.cjs → prism-latex-dRhujmiF.cjs} +0 -0
- /package/dist/chunks/{prism-lua-DhVb-IBs.cjs → prism-lua-CC8iHZy0.cjs} +0 -0
- /package/dist/chunks/{prism-lua-BySMQWvB.mjs → prism-lua-D6JJ7p-A.mjs} +0 -0
- /package/dist/chunks/{prism-markdown-Bvv1_ifb.mjs → prism-markdown-D6D8BprH.mjs} +0 -0
- /package/dist/chunks/{prism-markdown-DonI20ta.cjs → prism-markdown-DMW4QHo8.cjs} +0 -0
- /package/dist/chunks/{prism-markup-DaGlO8wQ.cjs → prism-markup-DmQlWhRx.cjs} +0 -0
- /package/dist/chunks/{prism-markup-DPDFrSBO.mjs → prism-markup-fK-1ADZ0.mjs} +0 -0
- /package/dist/chunks/{prism-markup-templating-DKZ_F63l.cjs → prism-markup-templating-CKDQaPgk.cjs} +0 -0
- /package/dist/chunks/{prism-markup-templating-B1u1wroF.mjs → prism-markup-templating-DfRjv0mn.mjs} +0 -0
- /package/dist/chunks/{prism-php-V_A4SMVC.cjs → prism-php-BJVLLh_W.cjs} +0 -0
- /package/dist/chunks/{prism-php-CjjweiQK.mjs → prism-php-DffX-wRi.mjs} +0 -0
- /package/dist/chunks/{prism-python-6eBEySe7.mjs → prism-python-2BrUkjbB.mjs} +0 -0
- /package/dist/chunks/{prism-python-DLqiSiAQ.cjs → prism-python-Bhf5rXub.cjs} +0 -0
- /package/dist/chunks/{prism-r-uOZv1a7d.mjs → prism-r-CU9se1Na.mjs} +0 -0
- /package/dist/chunks/{prism-r-zh9-I3-j.cjs → prism-r-ChFoLzAP.cjs} +0 -0
- /package/dist/chunks/{prism-ruby-M4mhoFF5.cjs → prism-ruby-BvGZJs6t.cjs} +0 -0
- /package/dist/chunks/{prism-ruby-Cr-3Y89S.mjs → prism-ruby-DuQ4syPd.mjs} +0 -0
- /package/dist/chunks/{prism-rust-g2dmV4wL.cjs → prism-rust-6eFXbDzh.cjs} +0 -0
- /package/dist/chunks/{prism-rust-DxlMe9N8.mjs → prism-rust-DRurCx4W.mjs} +0 -0
- /package/dist/chunks/{prism-scala-byYaK-Hs.mjs → prism-scala-CU8N2Vpe.mjs} +0 -0
- /package/dist/chunks/{prism-scala-DdSRpf_v.cjs → prism-scala-De4Tbjij.cjs} +0 -0
- /package/dist/chunks/{prism-sql-W4S9Ag3H.mjs → prism-sql-Au3VVcw1.mjs} +0 -0
- /package/dist/chunks/{prism-sql-BjDuRopl.cjs → prism-sql-_JMPMWu-.cjs} +0 -0
- /package/dist/chunks/{prism-swift-KjqbhTlS.mjs → prism-swift-B-r5qNUT.mjs} +0 -0
- /package/dist/chunks/{prism-swift-CqOmCgZp.cjs → prism-swift-DdWKYFH_.cjs} +0 -0
- /package/dist/chunks/{prism-typescript-CjqcJxVT.mjs → prism-typescript-BKj96rmj.mjs} +0 -0
- /package/dist/chunks/{prism-typescript-DGlZWX5K.cjs → prism-typescript-DYxN8s4t.cjs} +0 -0
- /package/dist/chunks/{prism-yaml-W11WcDBZ.mjs → prism-yaml-Bk31kvSd.mjs} +0 -0
- /package/dist/chunks/{prism-yaml-HqOYDhYZ.cjs → prism-yaml-CAlRa1Lr.cjs} +0 -0
- /package/dist/chunks/{ps-X3--6pS3.mjs → ps-Dv4lWz5A.mjs} +0 -0
- /package/dist/chunks/{ps-DT4DAHOy.cjs → ps-f5JFPQUh.cjs} +0 -0
- /package/dist/chunks/{pt-BMT2BIpj.mjs → pt-CtgGcY6X.mjs} +0 -0
- /package/dist/chunks/{pt-Dwe6Dinw.cjs → pt-I7qQ_R8a.cjs} +0 -0
- /package/dist/chunks/{ro-CoHEUo3b.cjs → ro-BNo9EVkV.cjs} +0 -0
- /package/dist/chunks/{ro-Ndh2J4Fv.mjs → ro-Dxs4TSRR.mjs} +0 -0
- /package/dist/chunks/{ru-DEoON4H0.mjs → ru-B5A2vGqQ.mjs} +0 -0
- /package/dist/chunks/{ru-Pmgo28Kt.cjs → ru-Q0YDL_7B.cjs} +0 -0
- /package/dist/chunks/{sd-DxSmw84d.cjs → sd-56aE3AgX.cjs} +0 -0
- /package/dist/chunks/{sd-B46KwBlt.mjs → sd-DcBvM0yY.mjs} +0 -0
- /package/dist/chunks/{si-attpuQg-.cjs → si-B1k5DPe9.cjs} +0 -0
- /package/dist/chunks/{si-CEX6-_X4.mjs → si-JTOFsZCj.mjs} +0 -0
- /package/dist/chunks/{sk-Crsvi9aQ.mjs → sk-B0LtwsAp.mjs} +0 -0
- /package/dist/chunks/{sk-CvkpO0ti.cjs → sk-DKWs0Fly.cjs} +0 -0
- /package/dist/chunks/{sl-BT19lhkA.cjs → sl-3aOunask.cjs} +0 -0
- /package/dist/chunks/{sl-Cqe1IKhE.mjs → sl-CE_B7j6P.mjs} +0 -0
- /package/dist/chunks/{sq-rY2-arjV.cjs → sq-BjtxgRqp.cjs} +0 -0
- /package/dist/chunks/{sq-BOQb1hx9.mjs → sq-DG9X-8jF.mjs} +0 -0
- /package/dist/chunks/{sr-jnkxoHkR.cjs → sr-DLHLW9qM.cjs} +0 -0
- /package/dist/chunks/{sr-WVqhi-MV.mjs → sr-LJKaTtNM.mjs} +0 -0
- /package/dist/chunks/{sv-cjssSK3x.mjs → sv-Cm3jSTt-.mjs} +0 -0
- /package/dist/chunks/{sv-BiWSYdw7.cjs → sv-DJ6Kywac.cjs} +0 -0
- /package/dist/chunks/{sw-DFyk62c4.cjs → sw-BnvydNkI.cjs} +0 -0
- /package/dist/chunks/{sw-BNNAgQNn.mjs → sw-C2rm3bwF.mjs} +0 -0
- /package/dist/chunks/{ta-jg4mBsL9.mjs → ta-5k36G0kU.mjs} +0 -0
- /package/dist/chunks/{ta-DowDx1bh.cjs → ta-e_T5Y_TH.cjs} +0 -0
- /package/dist/chunks/{te-G0buJU1V.cjs → te-DJd9mdke.cjs} +0 -0
- /package/dist/chunks/{te-BiLupA2T.mjs → te-Qw6ZgfXC.mjs} +0 -0
- /package/dist/chunks/{th-DsjA6OWh.cjs → th-BFvK-kez.cjs} +0 -0
- /package/dist/chunks/{th-Dtb_u833.mjs → th-DFCnkeU5.mjs} +0 -0
- /package/dist/chunks/{tr-DN1xdxQn.cjs → tr-Bio2iyuW.cjs} +0 -0
- /package/dist/chunks/{tr-01MbT9-l.mjs → tr-QoYDqZZE.mjs} +0 -0
- /package/dist/chunks/{ug-BFlA2VRZ.mjs → ug-CYVvHjDo.mjs} +0 -0
- /package/dist/chunks/{ug-DEJ9cNGH.cjs → ug-_E9uEBC5.cjs} +0 -0
- /package/dist/chunks/{uk-Bv6aB1Nd.cjs → uk-CiihPsrk.cjs} +0 -0
- /package/dist/chunks/{uk-DY7rBPyo.mjs → uk-KrD9Hdx7.mjs} +0 -0
- /package/dist/chunks/{ur-C3CFfx9s.cjs → ur-B9A13pT4.cjs} +0 -0
- /package/dist/chunks/{ur-DHfULZeF.mjs → ur-Bgtl4YGa.mjs} +0 -0
- /package/dist/chunks/{vi-BFuaq2Tk.mjs → vi-CwW9u4Ww.mjs} +0 -0
- /package/dist/chunks/{vi-DQrrRkmq.cjs → vi-l243K5Tb.cjs} +0 -0
- /package/dist/chunks/{webm-muxer-CC98PYSV.cjs → webm-muxer-BEeYNPIp.cjs} +0 -0
- /package/dist/chunks/{webm-muxer-CUUz719e.mjs → webm-muxer-Doy8JtlV.mjs} +0 -0
- /package/dist/chunks/{zh-BGpl7x7W.mjs → zh-BdCF4Hao.mjs} +0 -0
- /package/dist/chunks/{zh-5rdSdLkR.cjs → zh-DPZR_81P.cjs} +0 -0
|
@@ -0,0 +1,811 @@
|
|
|
1
|
+
import { i as e } from "./chunk-5O_1xk2F.mjs";
|
|
2
|
+
import { A as t, C as n, D as r, O as i, T as a, _ as o, c as s, d as c, f as l, k as u, p as d, r as f, s as p, t as ee, v as m, x as h, y as g } from "./BasicParser-BFTgNkp-.mjs";
|
|
3
|
+
import { a as _, f as v } from "./Util-DiBcLCh8.mjs";
|
|
4
|
+
import { i as y } from "./APEv2Parser-WvRvu4zL.mjs";
|
|
5
|
+
import { t as b } from "./ID3v1Parser-DoxlznrE.mjs";
|
|
6
|
+
import { n as x } from "./types-gj36fzRQ.mjs";
|
|
7
|
+
//#region node_modules/music-metadata/lib/mp4/AtomToken.js
|
|
8
|
+
var S = /* @__PURE__ */ e(s(), 1), C = (0, S.default)("music-metadata:parser:MP4:atom"), w = class extends p("MP4") {}, T = {
|
|
9
|
+
len: 8,
|
|
10
|
+
get: (e, t) => {
|
|
11
|
+
let r = n.get(e, t);
|
|
12
|
+
if (r < 0) throw new w("Invalid atom header length");
|
|
13
|
+
return {
|
|
14
|
+
length: BigInt(r),
|
|
15
|
+
name: new m(4, "latin1").get(e, t + 4)
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
put: (e, t, r) => (n.put(e, t, Number(r.length)), y.put(e, t + 4, r.name))
|
|
19
|
+
}, E = a, D = {
|
|
20
|
+
len: 4,
|
|
21
|
+
get: (e, t) => ({ type: new m(4, "ascii").get(e, t) })
|
|
22
|
+
}, O = class {
|
|
23
|
+
constructor(e, t, n) {
|
|
24
|
+
if (e < t) throw new w(`Atom ${n} expected to be ${t}, but specifies ${e} bytes long.`);
|
|
25
|
+
e > t && C(`Warning: atom ${n} expected to be ${t}, but was actually ${e} bytes long.`), this.len = e;
|
|
26
|
+
}
|
|
27
|
+
}, k = {
|
|
28
|
+
len: 4,
|
|
29
|
+
get: (e, t) => {
|
|
30
|
+
let r = n.get(e, t) - 2082844800;
|
|
31
|
+
return /* @__PURE__ */ new Date(r * 1e3);
|
|
32
|
+
}
|
|
33
|
+
}, A = {
|
|
34
|
+
len: 8,
|
|
35
|
+
get: (e, t) => {
|
|
36
|
+
let n = Number(a.get(e, t)) - 2082844800;
|
|
37
|
+
return /* @__PURE__ */ new Date(n * 1e3);
|
|
38
|
+
}
|
|
39
|
+
}, j = class extends O {
|
|
40
|
+
constructor(e) {
|
|
41
|
+
super(e, 24, "mdhd");
|
|
42
|
+
}
|
|
43
|
+
get(e, t) {
|
|
44
|
+
let i = r.get(e, t + 0), o = h.get(e, t + 1);
|
|
45
|
+
switch (i) {
|
|
46
|
+
case 0: return {
|
|
47
|
+
version: i,
|
|
48
|
+
flags: o,
|
|
49
|
+
creationTime: k.get(e, t + 4),
|
|
50
|
+
modificationTime: k.get(e, t + 8),
|
|
51
|
+
timeScale: n.get(e, t + 12),
|
|
52
|
+
duration: n.get(e, t + 16),
|
|
53
|
+
language: g.get(e, t + 20),
|
|
54
|
+
quality: g.get(e, t + 22)
|
|
55
|
+
};
|
|
56
|
+
case 1: return {
|
|
57
|
+
version: i,
|
|
58
|
+
flags: o,
|
|
59
|
+
creationTime: A.get(e, t + 4),
|
|
60
|
+
modificationTime: A.get(e, t + 12),
|
|
61
|
+
timeScale: n.get(e, t + 20),
|
|
62
|
+
duration: Number(a.get(e, t + 24)),
|
|
63
|
+
language: g.get(e, t + 32),
|
|
64
|
+
quality: g.get(e, t + 34)
|
|
65
|
+
};
|
|
66
|
+
default: throw new f("Invalid mdhd version header");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}, M = class extends O {
|
|
70
|
+
constructor(e) {
|
|
71
|
+
super(e, 100, "mvhd");
|
|
72
|
+
}
|
|
73
|
+
get(e, t) {
|
|
74
|
+
let i = r.get(e, t), o = h.get(e, t + 1);
|
|
75
|
+
return i === 1 ? {
|
|
76
|
+
version: i,
|
|
77
|
+
flags: o,
|
|
78
|
+
creationTime: A.get(e, t + 4),
|
|
79
|
+
modificationTime: A.get(e, t + 12),
|
|
80
|
+
timeScale: n.get(e, t + 20),
|
|
81
|
+
duration: Number(a.get(e, t + 24)),
|
|
82
|
+
preferredRate: n.get(e, t + 32),
|
|
83
|
+
preferredVolume: g.get(e, t + 36),
|
|
84
|
+
previewTime: n.get(e, t + 84),
|
|
85
|
+
previewDuration: n.get(e, t + 88),
|
|
86
|
+
posterTime: n.get(e, t + 92),
|
|
87
|
+
selectionTime: n.get(e, t + 96),
|
|
88
|
+
selectionDuration: n.get(e, t + 100),
|
|
89
|
+
currentTime: n.get(e, t + 104),
|
|
90
|
+
nextTrackID: n.get(e, t + 108)
|
|
91
|
+
} : {
|
|
92
|
+
version: i,
|
|
93
|
+
flags: o,
|
|
94
|
+
creationTime: k.get(e, t + 4),
|
|
95
|
+
modificationTime: k.get(e, t + 8),
|
|
96
|
+
timeScale: n.get(e, t + 12),
|
|
97
|
+
duration: n.get(e, t + 16),
|
|
98
|
+
preferredRate: n.get(e, t + 20),
|
|
99
|
+
preferredVolume: g.get(e, t + 24),
|
|
100
|
+
previewTime: n.get(e, t + 72),
|
|
101
|
+
previewDuration: n.get(e, t + 76),
|
|
102
|
+
posterTime: n.get(e, t + 80),
|
|
103
|
+
selectionTime: n.get(e, t + 84),
|
|
104
|
+
selectionDuration: n.get(e, t + 88),
|
|
105
|
+
currentTime: n.get(e, t + 92),
|
|
106
|
+
nextTrackID: n.get(e, t + 96)
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}, te = class {
|
|
110
|
+
constructor(e) {
|
|
111
|
+
this.len = e;
|
|
112
|
+
}
|
|
113
|
+
get(e, t) {
|
|
114
|
+
return {
|
|
115
|
+
type: {
|
|
116
|
+
set: r.get(e, t + 0),
|
|
117
|
+
type: h.get(e, t + 1)
|
|
118
|
+
},
|
|
119
|
+
locale: h.get(e, t + 4),
|
|
120
|
+
value: new i(this.len - 8).get(e, t + 8)
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}, ne = class {
|
|
124
|
+
constructor(e) {
|
|
125
|
+
this.len = e;
|
|
126
|
+
}
|
|
127
|
+
get(e, t) {
|
|
128
|
+
return {
|
|
129
|
+
version: r.get(e, t),
|
|
130
|
+
flags: h.get(e, t + 1),
|
|
131
|
+
name: new m(this.len - 4, "utf-8").get(e, t + 4)
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}, re = class {
|
|
135
|
+
constructor(e) {
|
|
136
|
+
this.len = e;
|
|
137
|
+
}
|
|
138
|
+
get(e, t) {
|
|
139
|
+
return {
|
|
140
|
+
version: r.get(e, t),
|
|
141
|
+
flags: h.get(e, t + 1),
|
|
142
|
+
creationTime: k.get(e, t + 4),
|
|
143
|
+
modificationTime: k.get(e, t + 8),
|
|
144
|
+
trackId: n.get(e, t + 12),
|
|
145
|
+
duration: n.get(e, t + 20),
|
|
146
|
+
layer: g.get(e, t + 24),
|
|
147
|
+
alternateGroup: g.get(e, t + 26),
|
|
148
|
+
volume: g.get(e, t + 28)
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}, N = {
|
|
152
|
+
len: 8,
|
|
153
|
+
get: (e, t) => ({
|
|
154
|
+
version: r.get(e, t),
|
|
155
|
+
flags: h.get(e, t + 1),
|
|
156
|
+
numberOfEntries: n.get(e, t + 4)
|
|
157
|
+
})
|
|
158
|
+
}, P = class {
|
|
159
|
+
constructor(e) {
|
|
160
|
+
this.len = e;
|
|
161
|
+
}
|
|
162
|
+
get(e, t) {
|
|
163
|
+
let n = this.len - 12;
|
|
164
|
+
return {
|
|
165
|
+
dataFormat: y.get(e, t),
|
|
166
|
+
dataReferenceIndex: g.get(e, t + 10),
|
|
167
|
+
description: n > 0 ? new i(n).get(e, t + 12) : void 0
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}, F = class {
|
|
171
|
+
constructor(e) {
|
|
172
|
+
this.len = e;
|
|
173
|
+
}
|
|
174
|
+
get(e, t) {
|
|
175
|
+
let r = N.get(e, t);
|
|
176
|
+
t += N.len;
|
|
177
|
+
let i = [];
|
|
178
|
+
for (let a = 0; a < r.numberOfEntries; ++a) {
|
|
179
|
+
let r = n.get(e, t);
|
|
180
|
+
t += n.len, i.push(new P(r - n.len).get(e, t)), t += r;
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
header: r,
|
|
184
|
+
table: i
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}, I = {
|
|
188
|
+
len: 8,
|
|
189
|
+
get(e, t) {
|
|
190
|
+
return {
|
|
191
|
+
version: c.get(e, t),
|
|
192
|
+
revision: c.get(e, t + 2),
|
|
193
|
+
vendor: d.get(e, t + 4)
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
}, L = {
|
|
197
|
+
len: 12,
|
|
198
|
+
get(e, t) {
|
|
199
|
+
return {
|
|
200
|
+
numAudioChannels: c.get(e, t + 0),
|
|
201
|
+
sampleSize: c.get(e, t + 2),
|
|
202
|
+
compressionId: c.get(e, t + 4),
|
|
203
|
+
packetSize: c.get(e, t + 6),
|
|
204
|
+
sampleRate: g.get(e, t + 8) + g.get(e, t + 10) / 1e4
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
}, R = class {
|
|
208
|
+
constructor(e, t) {
|
|
209
|
+
this.len = e, this.token = t;
|
|
210
|
+
}
|
|
211
|
+
get(e, t) {
|
|
212
|
+
let n = d.get(e, t + 4);
|
|
213
|
+
return {
|
|
214
|
+
version: o.get(e, t + 0),
|
|
215
|
+
flags: l.get(e, t + 1),
|
|
216
|
+
numberOfEntries: n,
|
|
217
|
+
entries: K(e, this.token, t + 8, this.len - 8, n)
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
}, z = {
|
|
221
|
+
len: 8,
|
|
222
|
+
get(e, t) {
|
|
223
|
+
return {
|
|
224
|
+
count: d.get(e, t + 0),
|
|
225
|
+
duration: d.get(e, t + 4)
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
}, B = class extends R {
|
|
229
|
+
constructor(e) {
|
|
230
|
+
super(e, z);
|
|
231
|
+
}
|
|
232
|
+
}, V = {
|
|
233
|
+
len: 12,
|
|
234
|
+
get(e, t) {
|
|
235
|
+
return {
|
|
236
|
+
firstChunk: d.get(e, t),
|
|
237
|
+
samplesPerChunk: d.get(e, t + 4),
|
|
238
|
+
sampleDescriptionId: d.get(e, t + 8)
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
}, H = class extends R {
|
|
242
|
+
constructor(e) {
|
|
243
|
+
super(e, V);
|
|
244
|
+
}
|
|
245
|
+
}, U = class {
|
|
246
|
+
constructor(e) {
|
|
247
|
+
this.len = e;
|
|
248
|
+
}
|
|
249
|
+
get(e, t) {
|
|
250
|
+
let n = d.get(e, t + 8);
|
|
251
|
+
return {
|
|
252
|
+
version: o.get(e, t),
|
|
253
|
+
flags: l.get(e, t + 1),
|
|
254
|
+
sampleSize: d.get(e, t + 4),
|
|
255
|
+
numberOfEntries: n,
|
|
256
|
+
entries: K(e, d, t + 12, this.len - 12, n)
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
}, W = class extends R {
|
|
260
|
+
constructor(e) {
|
|
261
|
+
super(e, d), this.len = e;
|
|
262
|
+
}
|
|
263
|
+
}, G = class {
|
|
264
|
+
constructor(e) {
|
|
265
|
+
this.len = e;
|
|
266
|
+
}
|
|
267
|
+
get(e, t) {
|
|
268
|
+
return new m(c.get(e, t + 0), "utf-8").get(e, t + 2);
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
function K(e, t, n, r, i) {
|
|
272
|
+
if (C(`remainingLen=${r}, numberOfEntries=${i} * token-len=${t.len}`), r === 0) return [];
|
|
273
|
+
if (r !== i * t.len) throw new w("mismatch number-of-entries with remaining atom-length");
|
|
274
|
+
let a = [];
|
|
275
|
+
for (let r = 0; r < i; ++r) a.push(t.get(e, n)), n += t.len;
|
|
276
|
+
return a;
|
|
277
|
+
}
|
|
278
|
+
var q = class {
|
|
279
|
+
constructor(e) {
|
|
280
|
+
this.len = e;
|
|
281
|
+
}
|
|
282
|
+
get(e, t) {
|
|
283
|
+
let r = t + 1, i = {
|
|
284
|
+
version: o.get(e, t),
|
|
285
|
+
flags: {
|
|
286
|
+
baseDataOffsetPresent: _(e, r + 2, 0),
|
|
287
|
+
sampleDescriptionIndexPresent: _(e, r + 2, 1),
|
|
288
|
+
defaultSampleDurationPresent: _(e, r + 2, 3),
|
|
289
|
+
defaultSampleSizePresent: _(e, r + 2, 4),
|
|
290
|
+
defaultSampleFlagsPresent: _(e, r + 2, 5),
|
|
291
|
+
defaultDurationIsEmpty: _(e, r, 0),
|
|
292
|
+
defaultBaseIsMoof: _(e, r, 1)
|
|
293
|
+
},
|
|
294
|
+
trackId: n.get(e, 4)
|
|
295
|
+
}, s = 8;
|
|
296
|
+
return i.flags.baseDataOffsetPresent && (i.baseDataOffset = a.get(e, s), s += 8), i.flags.sampleDescriptionIndexPresent && (i.sampleDescriptionIndex = n.get(e, s), s += 4), i.flags.defaultSampleDurationPresent && (i.defaultSampleDuration = n.get(e, s), s += 4), i.flags.defaultSampleSizePresent && (i.defaultSampleSize = n.get(e, s), s += 4), i.flags.defaultSampleFlagsPresent && (i.defaultSampleFlags = n.get(e, s)), i;
|
|
297
|
+
}
|
|
298
|
+
}, J = class {
|
|
299
|
+
constructor(e) {
|
|
300
|
+
this.len = e;
|
|
301
|
+
}
|
|
302
|
+
get(e, t) {
|
|
303
|
+
let r = t + 1, i = {
|
|
304
|
+
version: o.get(e, t),
|
|
305
|
+
flags: {
|
|
306
|
+
dataOffsetPresent: _(e, r + 2, 0),
|
|
307
|
+
firstSampleFlagsPresent: _(e, r + 2, 2),
|
|
308
|
+
sampleDurationPresent: _(e, r + 1, 0),
|
|
309
|
+
sampleSizePresent: _(e, r + 1, 1),
|
|
310
|
+
sampleFlagsPresent: _(e, r + 1, 2),
|
|
311
|
+
sampleCompositionTimeOffsetsPresent: _(e, r + 1, 3)
|
|
312
|
+
},
|
|
313
|
+
sampleCount: n.get(e, t + 4),
|
|
314
|
+
samples: []
|
|
315
|
+
}, a = t + 8;
|
|
316
|
+
i.flags.dataOffsetPresent && (i.dataOffset = n.get(e, a), a += 4), i.flags.firstSampleFlagsPresent && (i.firstSampleFlags = n.get(e, a), a += 4);
|
|
317
|
+
for (let t = 0; t < i.sampleCount; ++t) {
|
|
318
|
+
if (a >= this.len) {
|
|
319
|
+
C("TrackRunBox size mismatch");
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
let t = {};
|
|
323
|
+
i.flags.sampleDurationPresent && (t.sampleDuration = n.get(e, a), a += 4), i.flags.sampleSizePresent && (t.sampleSize = n.get(e, a), a += 4), i.flags.sampleFlagsPresent && (t.sampleFlags = n.get(e, a), a += 4), i.flags.sampleCompositionTimeOffsetsPresent && (t.sampleCompositionTimeOffset = n.get(e, a), a += 4), i.samples.push(t);
|
|
324
|
+
}
|
|
325
|
+
return i;
|
|
326
|
+
}
|
|
327
|
+
}, Y = class {
|
|
328
|
+
constructor(e) {
|
|
329
|
+
this.len = e;
|
|
330
|
+
}
|
|
331
|
+
get(e, t) {
|
|
332
|
+
t + 1;
|
|
333
|
+
let n = new m(4, "utf-8");
|
|
334
|
+
return {
|
|
335
|
+
version: o.get(e, t),
|
|
336
|
+
flags: h.get(e, t + 1),
|
|
337
|
+
componentType: n.get(e, t + 4),
|
|
338
|
+
handlerType: n.get(e, t + 8),
|
|
339
|
+
componentName: new m(this.len - 28, "utf-8").get(e, t + 28)
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
}, ie = class {
|
|
343
|
+
constructor(e) {
|
|
344
|
+
this.len = e;
|
|
345
|
+
}
|
|
346
|
+
get(e, t) {
|
|
347
|
+
let r = 0, i = [];
|
|
348
|
+
for (; r < this.len;) i.push(n.get(e, t + r)), r += 4;
|
|
349
|
+
return i;
|
|
350
|
+
}
|
|
351
|
+
}, X = (0, S.default)("music-metadata:parser:MP4:Atom"), ae = class e {
|
|
352
|
+
static async readAtom(t, n, r, i) {
|
|
353
|
+
let a = t.position;
|
|
354
|
+
X(`Reading next token on offset=${a}...`);
|
|
355
|
+
let o = await t.readToken(T), s = o.length === 1n;
|
|
356
|
+
s && (o.length = await t.readToken(E));
|
|
357
|
+
let c = new e(o, s, r), l = c.getPayloadLength(i);
|
|
358
|
+
return X(`parse atom name=${c.atomPath}, extended=${c.extended}, offset=${a}, len=${c.header.length}`), await c.readData(t, n, l), c;
|
|
359
|
+
}
|
|
360
|
+
constructor(e, t, n) {
|
|
361
|
+
this.header = e, this.extended = t, this.parent = n, this.children = [], this.atomPath = (this.parent ? `${this.parent.atomPath}.` : "") + this.header.name;
|
|
362
|
+
}
|
|
363
|
+
getHeaderLength() {
|
|
364
|
+
return this.extended ? 16 : 8;
|
|
365
|
+
}
|
|
366
|
+
getPayloadLength(e) {
|
|
367
|
+
return (this.header.length === 0n ? e : Number(this.header.length)) - this.getHeaderLength();
|
|
368
|
+
}
|
|
369
|
+
async readAtoms(t, n, r) {
|
|
370
|
+
for (var i = this; r > 0;) {
|
|
371
|
+
let a = await e.readAtom(t, n, i, r);
|
|
372
|
+
i.children.push(a), r -= a.header.length === 0n ? r : Number(a.header.length);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
async readData(e, t, n) {
|
|
376
|
+
var r = this;
|
|
377
|
+
switch (r.header.name) {
|
|
378
|
+
case "moov":
|
|
379
|
+
case "udta":
|
|
380
|
+
case "mdia":
|
|
381
|
+
case "minf":
|
|
382
|
+
case "stbl":
|
|
383
|
+
case "<id>":
|
|
384
|
+
case "ilst":
|
|
385
|
+
case "tref":
|
|
386
|
+
case "moof": return r.readAtoms(e, t, r.getPayloadLength(n));
|
|
387
|
+
case "meta": {
|
|
388
|
+
let i = (await e.peekToken(T)).name === "hdlr" ? 0 : 4;
|
|
389
|
+
return await e.ignore(i), r.readAtoms(e, t, r.getPayloadLength(n) - i);
|
|
390
|
+
}
|
|
391
|
+
default: return t(r, n);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}, Z = (0, S.default)("music-metadata:parser:MP4"), oe = "iTunes", Q = {
|
|
395
|
+
raw: {
|
|
396
|
+
lossy: !1,
|
|
397
|
+
format: "raw"
|
|
398
|
+
},
|
|
399
|
+
MAC3: {
|
|
400
|
+
lossy: !0,
|
|
401
|
+
format: "MACE 3:1"
|
|
402
|
+
},
|
|
403
|
+
MAC6: {
|
|
404
|
+
lossy: !0,
|
|
405
|
+
format: "MACE 6:1"
|
|
406
|
+
},
|
|
407
|
+
ima4: {
|
|
408
|
+
lossy: !0,
|
|
409
|
+
format: "IMA 4:1"
|
|
410
|
+
},
|
|
411
|
+
ulaw: {
|
|
412
|
+
lossy: !0,
|
|
413
|
+
format: "uLaw 2:1"
|
|
414
|
+
},
|
|
415
|
+
alaw: {
|
|
416
|
+
lossy: !0,
|
|
417
|
+
format: "uLaw 2:1"
|
|
418
|
+
},
|
|
419
|
+
Qclp: {
|
|
420
|
+
lossy: !0,
|
|
421
|
+
format: "QUALCOMM PureVoice"
|
|
422
|
+
},
|
|
423
|
+
".mp3": {
|
|
424
|
+
lossy: !0,
|
|
425
|
+
format: "MPEG-1 layer 3"
|
|
426
|
+
},
|
|
427
|
+
alac: {
|
|
428
|
+
lossy: !1,
|
|
429
|
+
format: "ALAC"
|
|
430
|
+
},
|
|
431
|
+
"ac-3": {
|
|
432
|
+
lossy: !0,
|
|
433
|
+
format: "AC-3"
|
|
434
|
+
},
|
|
435
|
+
mp4a: {
|
|
436
|
+
lossy: !0,
|
|
437
|
+
format: "MPEG-4/AAC"
|
|
438
|
+
},
|
|
439
|
+
mp4s: {
|
|
440
|
+
lossy: !0,
|
|
441
|
+
format: "MP4S"
|
|
442
|
+
},
|
|
443
|
+
c608: {
|
|
444
|
+
lossy: !0,
|
|
445
|
+
format: "CEA-608"
|
|
446
|
+
},
|
|
447
|
+
c708: {
|
|
448
|
+
lossy: !0,
|
|
449
|
+
format: "CEA-708"
|
|
450
|
+
}
|
|
451
|
+
};
|
|
452
|
+
function $(e, t, n) {
|
|
453
|
+
return n.indexOf(e) === t;
|
|
454
|
+
}
|
|
455
|
+
var se = class e extends ee {
|
|
456
|
+
constructor() {
|
|
457
|
+
var e;
|
|
458
|
+
super(...arguments), e = this, this.tracks = /* @__PURE__ */ new Map(), this.hasVideoTrack = !1, this.hasAudioTrack = !0, this.atomParsers = {
|
|
459
|
+
mvhd: async (t) => {
|
|
460
|
+
let n = await e.tokenizer.readToken(new M(t));
|
|
461
|
+
e.metadata.setFormat("creationTime", n.creationTime), e.metadata.setFormat("modificationTime", n.modificationTime);
|
|
462
|
+
},
|
|
463
|
+
chap: async (t) => {
|
|
464
|
+
let r = e.getTrackDescription(), i = [];
|
|
465
|
+
for (; t >= n.len;) i.push(await e.tokenizer.readNumber(n)), t -= n.len;
|
|
466
|
+
r.chapterList = i;
|
|
467
|
+
},
|
|
468
|
+
mdat: async (t) => {
|
|
469
|
+
if (e.options.includeChapters) {
|
|
470
|
+
let n = [...e.tracks.values()].filter((e) => e.chapterList);
|
|
471
|
+
if (n.length === 1) {
|
|
472
|
+
let r = n[0].chapterList, i = [...e.tracks.values()].filter((e) => r.indexOf(e.header.trackId) !== -1);
|
|
473
|
+
if (i.length === 1) return e.parseChapterTrack(i[0], n[0], t);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
await e.tokenizer.ignore(t);
|
|
477
|
+
},
|
|
478
|
+
ftyp: async (t) => {
|
|
479
|
+
let n = [];
|
|
480
|
+
for (; t > 0;) {
|
|
481
|
+
let r = await e.tokenizer.readToken(D);
|
|
482
|
+
t -= D.len;
|
|
483
|
+
let i = r.type.replace(/\W/g, "");
|
|
484
|
+
i.length > 0 && n.push(i);
|
|
485
|
+
}
|
|
486
|
+
Z(`ftyp: ${n.join("/")}`);
|
|
487
|
+
let r = n.filter($).join("/");
|
|
488
|
+
e.metadata.setFormat("container", r);
|
|
489
|
+
},
|
|
490
|
+
stsd: async (t) => {
|
|
491
|
+
let n = await e.tokenizer.readToken(new F(t)), r = e.getTrackDescription();
|
|
492
|
+
r.soundSampleDescription = n.table.map((t) => e.parseSoundSampleDescription(t));
|
|
493
|
+
},
|
|
494
|
+
stsz: async (t) => {
|
|
495
|
+
let n = await e.tokenizer.readToken(new U(t)), r = e.getTrackDescription();
|
|
496
|
+
r.sampleSize = n.sampleSize, r.sampleSizeTable = n.entries;
|
|
497
|
+
},
|
|
498
|
+
date: async (t) => {
|
|
499
|
+
let n = await e.tokenizer.readToken(new m(t, "utf-8"));
|
|
500
|
+
await e.addTag("date", n);
|
|
501
|
+
}
|
|
502
|
+
};
|
|
503
|
+
}
|
|
504
|
+
static read_BE_Integer(e, t) {
|
|
505
|
+
let n = (t ? "INT" : "UINT") + e.length * 8 + (e.length > 1 ? "_BE" : ""), r = u[n];
|
|
506
|
+
if (!r) throw new w(`Token for integer type not found: "${n}"`);
|
|
507
|
+
return Number(r.get(e, 0));
|
|
508
|
+
}
|
|
509
|
+
async parse() {
|
|
510
|
+
var e = this;
|
|
511
|
+
e.hasVideoTrack = !1, e.hasAudioTrack = !0, e.tracks.clear();
|
|
512
|
+
let t = e.tokenizer.fileInfo.size || 0;
|
|
513
|
+
for (; !e.tokenizer.fileInfo.size || t > 0;) {
|
|
514
|
+
try {
|
|
515
|
+
if ((await e.tokenizer.peekToken(T)).name === "\0\0\0\0") {
|
|
516
|
+
let t = `Error at offset=${e.tokenizer.position}: box.id=0`;
|
|
517
|
+
Z(t), e.addWarning(t);
|
|
518
|
+
break;
|
|
519
|
+
}
|
|
520
|
+
} catch (t) {
|
|
521
|
+
if (t instanceof Error) {
|
|
522
|
+
let n = `Error at offset=${e.tokenizer.position}: ${t.message}`;
|
|
523
|
+
Z(n), e.addWarning(n);
|
|
524
|
+
} else throw t;
|
|
525
|
+
break;
|
|
526
|
+
}
|
|
527
|
+
let n = await ae.readAtom(e.tokenizer, (t, n) => e.handleAtom(t, n), null, t);
|
|
528
|
+
t -= n.header.length === BigInt(0) ? t : Number(n.header.length);
|
|
529
|
+
}
|
|
530
|
+
let n = [];
|
|
531
|
+
e.tracks.forEach((t) => {
|
|
532
|
+
let r = [];
|
|
533
|
+
t.soundSampleDescription.forEach((t) => {
|
|
534
|
+
let n = {}, i = Q[t.dataFormat];
|
|
535
|
+
if (i ? (r.push(i.format), n.codecName = i.format) : n.codecName = `<${t.dataFormat}>`, t.description) {
|
|
536
|
+
let { description: e } = t;
|
|
537
|
+
e.sampleRate > 0 && (n.type = x.audio, n.audio = {
|
|
538
|
+
samplingFrequency: e.sampleRate,
|
|
539
|
+
bitDepth: e.sampleSize,
|
|
540
|
+
channels: e.numAudioChannels
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
e.metadata.addStreamInfo(n);
|
|
544
|
+
}), r.length >= 1 && n.push(r.join("/"));
|
|
545
|
+
}), n.length > 0 && e.metadata.setFormat("codec", n.filter($).join("+"));
|
|
546
|
+
let r = [...e.tracks.values()].filter((e) => e.soundSampleDescription.length >= 1 && e.soundSampleDescription[0].description && e.soundSampleDescription[0].description.numAudioChannels > 0);
|
|
547
|
+
for (let t of r) {
|
|
548
|
+
if (t.media.header && t.media.header.timeScale > 0) if (t.sampleRate = t.media.header.timeScale, t.media.header.duration > 0 && (Z("Using duration defined on audio track"), t.samples = t.media.header.duration, t.duration = t.samples / t.sampleRate), t.fragments.length > 0) {
|
|
549
|
+
Z("Calculate duration defined in track fragments");
|
|
550
|
+
let e = 0;
|
|
551
|
+
t.sizeInBytes = 0;
|
|
552
|
+
for (let n of t.fragments) for (let r of n.trackRun.samples) {
|
|
553
|
+
var i, a, o, s;
|
|
554
|
+
let c = (i = (a = r.sampleDuration) == null ? n.header.defaultSampleDuration : a) == null ? 0 : i, l = (o = (s = r.sampleSize) == null ? n.header.defaultSampleSize : s) == null ? 0 : o;
|
|
555
|
+
if (c === 0) throw Error("Missing sampleDuration and no defaultSampleDuration in track fragment header");
|
|
556
|
+
if (l === 0) throw Error("Missing sampleSize and no defaultSampleSize in track fragment header");
|
|
557
|
+
e += c, t.sizeInBytes += l;
|
|
558
|
+
}
|
|
559
|
+
t.samples || (t.samples = e), t.duration || (t.duration = e / t.sampleRate);
|
|
560
|
+
} else t.sampleSizeTable.length > 0 && (t.sizeInBytes = t.sampleSizeTable.reduce((e, t) => e + t, 0));
|
|
561
|
+
let n = t.soundSampleDescription[0];
|
|
562
|
+
n.description && t.media.header && (e.metadata.setFormat("sampleRate", n.description.sampleRate), e.metadata.setFormat("bitsPerSample", n.description.sampleSize), e.metadata.setFormat("numberOfChannels", n.description.numAudioChannels), t.media.header.timeScale === 0 && t.timeToSampleTable.length > 0 && (t.duration = t.timeToSampleTable.map((e) => e.count * e.duration).reduce((e, t) => e + t) / n.description.sampleRate));
|
|
563
|
+
let r = Q[n.dataFormat];
|
|
564
|
+
r && e.metadata.setFormat("lossless", !r.lossy);
|
|
565
|
+
}
|
|
566
|
+
if (r.length >= 1) {
|
|
567
|
+
let t = r[0];
|
|
568
|
+
t.duration && (e.metadata.setFormat("duration", t.duration), t.sizeInBytes && e.metadata.setFormat("bitrate", 8 * t.sizeInBytes / t.duration));
|
|
569
|
+
}
|
|
570
|
+
e.metadata.setFormat("hasAudio", e.hasAudioTrack), e.metadata.setFormat("hasVideo", e.hasVideoTrack);
|
|
571
|
+
}
|
|
572
|
+
async handleAtom(e, t) {
|
|
573
|
+
var n = this;
|
|
574
|
+
if (e.parent) switch (e.parent.header.name) {
|
|
575
|
+
case "ilst":
|
|
576
|
+
case "<id>": return n.parseMetadataItemData(e);
|
|
577
|
+
case "moov":
|
|
578
|
+
switch (e.header.name) {
|
|
579
|
+
case "trak": return n.parseTrackBox(e);
|
|
580
|
+
case "udta": return n.parseTrackBox(e);
|
|
581
|
+
}
|
|
582
|
+
break;
|
|
583
|
+
case "moof": switch (e.header.name) {
|
|
584
|
+
case "traf": return n.parseTrackFragmentBox(e);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
if (n.atomParsers[e.header.name]) return n.atomParsers[e.header.name](t);
|
|
588
|
+
Z(`No parser for atom path=${e.atomPath}, payload-len=${t}, ignoring atom`), await n.tokenizer.ignore(t);
|
|
589
|
+
}
|
|
590
|
+
getTrackDescription() {
|
|
591
|
+
let e = [...this.tracks.values()];
|
|
592
|
+
return e[e.length - 1];
|
|
593
|
+
}
|
|
594
|
+
async addTag(e, t) {
|
|
595
|
+
await this.metadata.addTag(oe, e, t);
|
|
596
|
+
}
|
|
597
|
+
addWarning(e) {
|
|
598
|
+
Z(`Warning: ${e}`), this.metadata.addWarning(e);
|
|
599
|
+
}
|
|
600
|
+
parseMetadataItemData(e) {
|
|
601
|
+
var n = this;
|
|
602
|
+
let r = e.header.name;
|
|
603
|
+
return e.readAtoms(this.tokenizer, async (e, a) => {
|
|
604
|
+
let o = e.getPayloadLength(a);
|
|
605
|
+
switch (e.header.name) {
|
|
606
|
+
case "data": return n.parseValueAtom(r, e);
|
|
607
|
+
case "name":
|
|
608
|
+
case "mean":
|
|
609
|
+
case "rate": {
|
|
610
|
+
let e = await n.tokenizer.readToken(new ne(o));
|
|
611
|
+
r += `:${e.name}`;
|
|
612
|
+
break;
|
|
613
|
+
}
|
|
614
|
+
default: {
|
|
615
|
+
let a = await n.tokenizer.readToken(new i(o));
|
|
616
|
+
n.addWarning(`Unsupported meta-item: ${r}[${e.header.name}] => value=${v(a)} ascii=${t(a, "ascii")}`);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
}, e.getPayloadLength(0));
|
|
620
|
+
}
|
|
621
|
+
async parseValueAtom(i, a) {
|
|
622
|
+
var o = this;
|
|
623
|
+
let s = await o.tokenizer.readToken(new te(Number(a.header.length) - T.len));
|
|
624
|
+
if (s.type.set !== 0) throw new w(`Unsupported type-set != 0: ${s.type.set}`);
|
|
625
|
+
switch (s.type.type) {
|
|
626
|
+
case 0:
|
|
627
|
+
switch (i) {
|
|
628
|
+
case "trkn":
|
|
629
|
+
case "disk": {
|
|
630
|
+
let e = r.get(s.value, 3), t = r.get(s.value, 5);
|
|
631
|
+
await o.addTag(i, `${e}/${t}`);
|
|
632
|
+
break;
|
|
633
|
+
}
|
|
634
|
+
case "gnre": {
|
|
635
|
+
let e = b[r.get(s.value, 1) - 1];
|
|
636
|
+
await o.addTag(i, e);
|
|
637
|
+
break;
|
|
638
|
+
}
|
|
639
|
+
case "rate": {
|
|
640
|
+
let e = t(s.value, "ascii");
|
|
641
|
+
await o.addTag(i, e);
|
|
642
|
+
break;
|
|
643
|
+
}
|
|
644
|
+
default: Z(`unknown proprietary value type for: ${a.atomPath}`);
|
|
645
|
+
}
|
|
646
|
+
break;
|
|
647
|
+
case 1:
|
|
648
|
+
case 18:
|
|
649
|
+
await o.addTag(i, t(s.value));
|
|
650
|
+
break;
|
|
651
|
+
case 13:
|
|
652
|
+
if (o.options.skipCovers) break;
|
|
653
|
+
await o.addTag(i, {
|
|
654
|
+
format: "image/jpeg",
|
|
655
|
+
data: Uint8Array.from(s.value)
|
|
656
|
+
});
|
|
657
|
+
break;
|
|
658
|
+
case 14:
|
|
659
|
+
if (o.options.skipCovers) break;
|
|
660
|
+
await o.addTag(i, {
|
|
661
|
+
format: "image/png",
|
|
662
|
+
data: Uint8Array.from(s.value)
|
|
663
|
+
});
|
|
664
|
+
break;
|
|
665
|
+
case 21:
|
|
666
|
+
await o.addTag(i, e.read_BE_Integer(s.value, !0));
|
|
667
|
+
break;
|
|
668
|
+
case 22:
|
|
669
|
+
await o.addTag(i, e.read_BE_Integer(s.value, !1));
|
|
670
|
+
break;
|
|
671
|
+
case 65:
|
|
672
|
+
await o.addTag(i, r.get(s.value, 0));
|
|
673
|
+
break;
|
|
674
|
+
case 66:
|
|
675
|
+
await o.addTag(i, g.get(s.value, 0));
|
|
676
|
+
break;
|
|
677
|
+
case 67:
|
|
678
|
+
await o.addTag(i, n.get(s.value, 0));
|
|
679
|
+
break;
|
|
680
|
+
default: o.addWarning(`atom key=${i}, has unknown well-known-type (data-type): ${s.type.type}`);
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
async parseTrackBox(e) {
|
|
684
|
+
var t = this;
|
|
685
|
+
let n = {
|
|
686
|
+
media: {},
|
|
687
|
+
fragments: []
|
|
688
|
+
};
|
|
689
|
+
await e.readAtoms(t.tokenizer, async (e, r) => {
|
|
690
|
+
let i = e.getPayloadLength(r);
|
|
691
|
+
switch (e.header.name) {
|
|
692
|
+
case "chap":
|
|
693
|
+
n.chapterList = await t.tokenizer.readToken(new ie(r));
|
|
694
|
+
break;
|
|
695
|
+
case "tkhd":
|
|
696
|
+
n.header = await t.tokenizer.readToken(new re(i));
|
|
697
|
+
break;
|
|
698
|
+
case "hdlr":
|
|
699
|
+
n.handler = await t.tokenizer.readToken(new Y(i)), n.isAudio = () => n.handler.handlerType === "audi" || n.handler.handlerType === "soun", n.isVideo = () => n.handler.handlerType === "vide", n.isAudio() ? t.hasAudioTrack = !0 : n.isVideo() && (t.hasVideoTrack = !0);
|
|
700
|
+
break;
|
|
701
|
+
case "mdhd": {
|
|
702
|
+
let e = await t.tokenizer.readToken(new j(i));
|
|
703
|
+
n.media.header = e;
|
|
704
|
+
break;
|
|
705
|
+
}
|
|
706
|
+
case "stco":
|
|
707
|
+
n.chunkOffsetTable = (await t.tokenizer.readToken(new W(i))).entries;
|
|
708
|
+
break;
|
|
709
|
+
case "stsc":
|
|
710
|
+
n.sampleToChunkTable = (await t.tokenizer.readToken(new H(i))).entries;
|
|
711
|
+
break;
|
|
712
|
+
case "stsd":
|
|
713
|
+
n.soundSampleDescription = (await t.tokenizer.readToken(new F(i))).table.map((e) => t.parseSoundSampleDescription(e));
|
|
714
|
+
break;
|
|
715
|
+
case "stts":
|
|
716
|
+
n.timeToSampleTable = (await t.tokenizer.readToken(new B(i))).entries;
|
|
717
|
+
break;
|
|
718
|
+
case "stsz": {
|
|
719
|
+
let e = await t.tokenizer.readToken(new U(i));
|
|
720
|
+
n.sampleSize = e.sampleSize, n.sampleSizeTable = e.entries;
|
|
721
|
+
break;
|
|
722
|
+
}
|
|
723
|
+
case "dinf":
|
|
724
|
+
case "vmhd":
|
|
725
|
+
case "smhd":
|
|
726
|
+
Z(`Ignoring: ${e.header.name}`), await t.tokenizer.ignore(i);
|
|
727
|
+
break;
|
|
728
|
+
default: Z(`Unexpected track box: ${e.header.name}`), await t.tokenizer.ignore(i);
|
|
729
|
+
}
|
|
730
|
+
}, e.getPayloadLength(0)), t.tracks.set(n.header.trackId, n);
|
|
731
|
+
}
|
|
732
|
+
parseTrackFragmentBox(e) {
|
|
733
|
+
var t = this;
|
|
734
|
+
let n;
|
|
735
|
+
return e.readAtoms(this.tokenizer, async (e, r) => {
|
|
736
|
+
let i = e.getPayloadLength(r);
|
|
737
|
+
switch (e.header.name) {
|
|
738
|
+
case "tfhd": {
|
|
739
|
+
let i = new q(e.getPayloadLength(r));
|
|
740
|
+
n = await t.tokenizer.readToken(i);
|
|
741
|
+
break;
|
|
742
|
+
}
|
|
743
|
+
case "tfdt":
|
|
744
|
+
await t.tokenizer.ignore(i);
|
|
745
|
+
break;
|
|
746
|
+
case "trun": {
|
|
747
|
+
let e = new J(i), r = await t.tokenizer.readToken(e);
|
|
748
|
+
if (n) {
|
|
749
|
+
let e = t.tracks.get(n.trackId);
|
|
750
|
+
e == null || e.fragments.push({
|
|
751
|
+
header: n,
|
|
752
|
+
trackRun: r
|
|
753
|
+
});
|
|
754
|
+
}
|
|
755
|
+
break;
|
|
756
|
+
}
|
|
757
|
+
default: Z(`Unexpected box: ${e.header.name}`), await t.tokenizer.ignore(i);
|
|
758
|
+
}
|
|
759
|
+
}, e.getPayloadLength(0));
|
|
760
|
+
}
|
|
761
|
+
parseSoundSampleDescription(e) {
|
|
762
|
+
let t = {
|
|
763
|
+
dataFormat: e.dataFormat,
|
|
764
|
+
dataReferenceIndex: e.dataReferenceIndex
|
|
765
|
+
}, n = 0;
|
|
766
|
+
if (e.description) {
|
|
767
|
+
let r = I.get(e.description, n);
|
|
768
|
+
n += I.len, r.version === 0 || r.version === 1 ? t.description = L.get(e.description, n) : Z(`Warning: sound-sample-description ${r} not implemented`);
|
|
769
|
+
}
|
|
770
|
+
return t;
|
|
771
|
+
}
|
|
772
|
+
async parseChapterTrack(e, t, n) {
|
|
773
|
+
var r = this;
|
|
774
|
+
if (!e.sampleSize && e.chunkOffsetTable.length !== e.sampleSizeTable.length) throw Error("Expected equal chunk-offset-table & sample-size-table length.");
|
|
775
|
+
let i = [];
|
|
776
|
+
for (let a = 0; a < e.chunkOffsetTable.length && n > 0; ++a) {
|
|
777
|
+
let o = e.timeToSampleTable.slice(0, a).reduce((e, t) => e + t.duration, 0), s = e.chunkOffsetTable[a] - r.tokenizer.position, c = e.sampleSize > 0 ? e.sampleSize : e.sampleSizeTable[a];
|
|
778
|
+
if (n -= s + c, n < 0) throw new w("Chapter chunk exceeding token length");
|
|
779
|
+
await r.tokenizer.ignore(s);
|
|
780
|
+
let l = await r.tokenizer.readToken(new G(c));
|
|
781
|
+
Z(`Chapter ${a + 1}: ${l}`);
|
|
782
|
+
let u = {
|
|
783
|
+
title: l,
|
|
784
|
+
timeScale: e.media.header ? e.media.header.timeScale : 0,
|
|
785
|
+
start: o,
|
|
786
|
+
sampleOffset: r.findSampleOffset(t, r.tokenizer.position)
|
|
787
|
+
};
|
|
788
|
+
Z(`Chapter title=${u.title}, offset=${u.sampleOffset}/${t.header.duration}`), i.push(u);
|
|
789
|
+
}
|
|
790
|
+
r.metadata.setFormat("chapters", i), await r.tokenizer.ignore(n);
|
|
791
|
+
}
|
|
792
|
+
findSampleOffset(e, t) {
|
|
793
|
+
let n = 0;
|
|
794
|
+
for (; n < e.chunkOffsetTable.length && e.chunkOffsetTable[n] < t;) ++n;
|
|
795
|
+
return this.getChunkDuration(n + 1, e);
|
|
796
|
+
}
|
|
797
|
+
getChunkDuration(e, t) {
|
|
798
|
+
let n = 0, r = t.timeToSampleTable[n].count, i = t.timeToSampleTable[n].duration, a = 1, o = this.getSamplesPerChunk(a, t.sampleToChunkTable), s = 0;
|
|
799
|
+
for (; a < e;) {
|
|
800
|
+
let e = Math.min(r, o);
|
|
801
|
+
s += e * i, r -= e, o -= e, o === 0 ? (++a, o = this.getSamplesPerChunk(a, t.sampleToChunkTable)) : (++n, r = t.timeToSampleTable[n].count, i = t.timeToSampleTable[n].duration);
|
|
802
|
+
}
|
|
803
|
+
return s;
|
|
804
|
+
}
|
|
805
|
+
getSamplesPerChunk(e, t) {
|
|
806
|
+
for (let n = 0; n < t.length - 1; ++n) if (e >= t[n].firstChunk && e < t[n + 1].firstChunk) return t[n].samplesPerChunk;
|
|
807
|
+
return t[t.length - 1].samplesPerChunk;
|
|
808
|
+
}
|
|
809
|
+
};
|
|
810
|
+
//#endregion
|
|
811
|
+
export { se as MP4Parser };
|