@openclaw/whatsapp 2026.9.4 → 2026.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{accounts-CiKHiuEe.js → .setup/accounts-D_NGDjCx.mjs} +2 -2
  4. package/dist/{action-runtime-CRZLhN3f.js → .setup/action-runtime-DZZFamfl.mjs} +3 -3
  5. package/dist/{active-listener-BEjWsCNM.js → .setup/active-listener-CDjoX9QR.mjs} +2 -2
  6. package/dist/{agent-tools-login-B-2qZPzc.js → .setup/agent-tools-login-B6MAs75N.mjs} +2 -2
  7. package/dist/{approval-handler.runtime-DGJEaoqh.js → .setup/approval-handler.runtime-C0hzmMSj.mjs} +12 -12
  8. package/dist/{approval-reactions-DSFH6Mtx.js → .setup/approval-reactions-BnXw-UZI.mjs} +13 -13
  9. package/dist/{auth-store-ZWaclAbd.js → .setup/auth-store-Dh8a3cba.mjs} +5 -5
  10. package/dist/{channel-CzEIEZqG.js → .setup/channel-CSclZYjU.mjs} +20 -29
  11. package/dist/{channel-react-action-CHeJSG9F.js → .setup/channel-react-action-1iBiEnq7.mjs} +5 -5
  12. package/dist/.setup/channel.runtime-ddGY37w8.mjs +16 -0
  13. package/dist/.setup/channel.setup-CqUl8COe.mjs +5 -0
  14. package/dist/{connection-controller-DNp6U1NN.js → .setup/connection-controller-C60mU7j7.mjs} +5 -5
  15. package/dist/{connection-controller-runtime-context-DG0tuYuw.js → .setup/connection-controller-runtime-context-hgLJoRc8.mjs} +1 -1
  16. package/dist/{directory-config-CoWFw1zn.js → .setup/directory-config-BHPoBklt.mjs} +8 -8
  17. package/dist/{group-session-key-BmVDSPr1.js → .setup/group-session-key-D22hYMdE.mjs} +5 -5
  18. package/dist/.setup/legacy-session-surface-api-B2szjq4r.mjs +2 -0
  19. package/dist/{login-6j2iP9nR.js → .setup/login-2dmd1TfE.mjs} +5 -5
  20. package/dist/{login-qr-DRFgI6k1.js → .setup/login-qr-CgKtO_ef.mjs} +6 -6
  21. package/dist/{monitor-DaIAK4fT.js → .setup/monitor-BblvzLpX.mjs} +68 -65
  22. package/dist/.setup/normalize-DdsROMMa.mjs +2 -0
  23. package/dist/{normalize-target-CugRyONv.js → .setup/normalize-target-BGra1ZnM.mjs} +8 -30
  24. package/dist/{question-reactions-bbe0Qnjn.js → .setup/question-reactions-D3Zq9Gbn.mjs} +2 -2
  25. package/dist/{resolve-outbound-target-1GqbT1uX.js → .setup/resolve-outbound-target-C2eUvsTc.mjs} +1 -1
  26. package/dist/{send-BDDGPxav.js → .setup/send-C6jDmcL9.mjs} +7 -7
  27. package/dist/{send-api-C_Zn4Ij-.js → .setup/send-api-B4DOt2RJ.mjs} +7 -7
  28. package/dist/{session.runtime-Nsqaehbd.js → .setup/session.runtime-DcJuO42v.mjs} +1 -1
  29. package/dist/{setup-finalize-CZ6fHFFU.js → .setup/setup-finalize-BYEgU0hb.mjs} +6 -6
  30. package/dist/.setup/setup-plugin-api-CXfU-7vN.mjs +3 -0
  31. package/dist/{setup-surface-CnK_PPiA.js → .setup/setup-surface-Cd3wN5HD.mjs} +4 -4
  32. package/dist/{shared-CLKLJLgY.js → .setup/shared-C9OEtKgc.mjs} +47 -50
  33. package/dist/{socket-close-B3X9uerq.js → .setup/socket-close-CCVSFufF.mjs} +4 -4
  34. package/dist/{text-runtime-DyfmcATV.js → .setup/text-runtime-CHl0iPYe.mjs} +1 -1
  35. package/dist/action-runtime-api.js +1 -1
  36. package/dist/action-runtime.runtime.js +1 -1
  37. package/dist/agent-tools-api.js +4 -4
  38. package/dist/api.js +15 -15
  39. package/dist/auth-presence.js +1 -1
  40. package/dist/channel-config-api.js +1 -1
  41. package/dist/channel-plugin-api.js +1 -1
  42. package/dist/contract-api.js +5 -5
  43. package/dist/directory-contract-api.js +1 -1
  44. package/dist/doctor-contract-api.js +2 -2
  45. package/dist/legacy-session-surface-api.js +1 -1
  46. package/dist/light-runtime-api.js +4 -4
  47. package/dist/login-qr-runtime.js +1 -1
  48. package/dist/runtime-api.js +13 -13
  49. package/dist/runtime-setter-api.js +1 -1
  50. package/dist/security-contract-api.js +1 -1
  51. package/dist/setup-entry.js +3 -2
  52. package/dist/setup-plugin-api.js +1 -1
  53. package/node_modules/audio-decode/node_modules/@thi.ng/bitstream/README.md +1 -1
  54. package/node_modules/audio-decode/node_modules/@thi.ng/bitstream/package.json +5 -5
  55. package/node_modules/audio-decode/node_modules/@thi.ng/errors/README.md +1 -1
  56. package/node_modules/audio-decode/node_modules/@thi.ng/errors/package.json +5 -5
  57. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/dist/flac-decoder.min.js +1 -1
  58. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/dist/flac-decoder.min.js.map +1 -1
  59. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/package.json +1 -1
  60. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/src/FLACDecoder.js +6 -6
  61. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/src/FLACDecoderWebWorker.js +2 -2
  62. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/dist/opus-ml-decoder.min.js +11603 -11540
  63. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/dist/opus-ml-decoder.min.js.map +1 -1
  64. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/package.json +1 -1
  65. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/src/EmscriptenWasm.js +0 -0
  66. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/types.d.ts +1 -5
  67. package/node_modules/audio-decode/node_modules/audio-type/audio-type.js +156 -2
  68. package/node_modules/audio-decode/node_modules/audio-type/package.json +23 -2
  69. package/node_modules/audio-decode/node_modules/audio-type/readme.md +40 -2
  70. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/README.md +1 -1
  71. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.min.js +3 -3
  72. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.min.js.map +1 -1
  73. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.opus-ml.min.js +0 -0
  74. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.opus-ml.min.js.map +1 -1
  75. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/package.json +8 -8
  76. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/src/OggOpusDecoder.js +1 -1
  77. package/node_modules/audio-decode/node_modules/opus-decoder/README.md +1 -1
  78. package/node_modules/audio-decode/node_modules/opus-decoder/dist/opus-decoder.min.js +3 -3
  79. package/node_modules/audio-decode/node_modules/opus-decoder/dist/opus-decoder.min.js.map +1 -1
  80. package/node_modules/audio-decode/node_modules/opus-decoder/package.json +1 -1
  81. package/node_modules/audio-decode/node_modules/opus-decoder/types.d.ts +1 -5
  82. package/node_modules/baileys/node_modules/protobufjs/README.md +24 -17
  83. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js +124 -14
  84. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  85. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  86. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  87. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js +63 -9
  88. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  89. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  90. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  91. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js +133 -18
  92. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  93. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  94. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  95. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.generated.d.ts +7 -0
  96. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.js +24 -0
  97. package/node_modules/baileys/node_modules/protobufjs/ext/protojson.js +14 -4
  98. package/node_modules/baileys/node_modules/protobufjs/ext/textformat.js +8 -4
  99. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.json +20 -1
  100. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.proto +14 -1
  101. package/node_modules/baileys/node_modules/protobufjs/index.d.ts +12 -0
  102. package/node_modules/baileys/node_modules/protobufjs/package.json +1 -1
  103. package/node_modules/baileys/node_modules/protobufjs/src/decoder.js +31 -2
  104. package/node_modules/baileys/node_modules/protobufjs/src/enum.js +10 -0
  105. package/node_modules/baileys/node_modules/protobufjs/src/object.js +5 -2
  106. package/node_modules/baileys/node_modules/protobufjs/src/parse.js +9 -4
  107. package/node_modules/baileys/node_modules/protobufjs/src/reader.js +61 -7
  108. package/node_modules/baileys/node_modules/protobufjs/src/type.js +10 -0
  109. package/node_modules/baileys/node_modules/protobufjs/src/wrappers.js +5 -1
  110. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  111. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  112. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  113. package/node_modules/typebox/build/format/iri.mjs +5 -1
  114. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  115. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  116. package/node_modules/typebox/build/guard/string.mjs +16 -24
  117. package/node_modules/typebox/build/schema/build.mjs +2 -2
  118. package/node_modules/typebox/build/schema/check.mjs +1 -1
  119. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  120. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  121. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  122. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  123. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  124. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  125. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  126. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  127. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  128. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  129. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  130. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  131. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  132. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  133. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  134. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  135. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  136. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  137. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  138. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  139. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  140. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  141. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  142. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  143. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  144. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  145. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  146. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  147. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  148. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  149. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  150. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  151. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  152. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  153. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  154. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  155. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  156. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  157. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  158. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  159. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  160. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  161. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  162. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  163. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  164. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  165. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  166. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  167. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  168. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  169. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  170. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  171. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  172. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  173. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  174. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  175. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  176. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  177. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  178. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  179. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  180. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  181. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  182. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  183. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  184. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  185. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  186. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  187. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  188. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  189. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  190. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  191. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  192. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  193. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  194. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  195. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  196. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  197. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  198. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  199. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  200. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  201. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  202. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  203. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  204. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  205. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  206. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  207. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  208. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  209. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  210. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  211. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  212. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  213. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  214. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  215. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  216. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  217. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  218. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  219. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  220. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  221. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  222. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  223. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  224. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  225. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  226. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  227. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  228. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  229. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  230. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  231. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  232. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  233. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  234. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  235. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  236. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  237. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  238. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  239. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  240. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  241. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  242. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  243. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  244. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  245. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  246. package/node_modules/typebox/package.json +1 -1
  247. package/node_modules/typebox/readme.md +59 -89
  248. package/openclaw.plugin.json +11 -2
  249. package/package.json +7 -5
  250. package/dist/channel.runtime-BFiZ9WhU.js +0 -55
  251. package/dist/channel.setup-gIWoRLzt.js +0 -14
  252. package/dist/normalize-C7Hkc_vE.js +0 -2
  253. /package/dist/{account-ids-CB5SOWjc.js → .setup/account-ids-CB5SOWjc.mjs} +0 -0
  254. /package/dist/{audio-preflight.runtime-C_glQhZY.js → .setup/audio-preflight.runtime-C_glQhZY.mjs} +0 -0
  255. /package/dist/{command-policy-BIOSHySD.js → .setup/command-policy-BIOSHySD.mjs} +0 -0
  256. /package/dist/{config-schema-BYA6e_Ii.js → .setup/config-schema-BYA6e_Ii.mjs} +0 -0
  257. /package/dist/{constants-C7m81BNe.js → .setup/constants-C7m81BNe.mjs} +0 -0
  258. /package/dist/{creds-files-Drg3usj1.js → .setup/creds-files-Drg3usj1.mjs} +0 -0
  259. /package/dist/{doctor-BPb-SjdE.js → .setup/doctor-BPb-SjdE.mjs} +0 -0
  260. /package/dist/{group-config-path-BGyzT9Lg.js → .setup/group-config-path-BGyzT9Lg.mjs} +0 -0
  261. /package/dist/{group-session-contract-DDnZSsJ1.js → .setup/group-session-contract-DDnZSsJ1.mjs} +0 -0
  262. /package/dist/{reply-resolver.runtime-Ded8D58Y.js → .setup/reply-resolver.runtime-Ded8D58Y.mjs} +0 -0
  263. /package/dist/{rolldown-runtime-D7D4PA-g.js → .setup/rolldown-runtime-D7D4PA-g.mjs} +0 -0
  264. /package/dist/{runtime-BLlToOi6.js → .setup/runtime-BLlToOi6.mjs} +0 -0
  265. /package/dist/{runtime-group-policy-DeSRFXEV.js → .setup/runtime-group-policy-DeSRFXEV.mjs} +0 -0
  266. /package/dist/{security-contract-nAzD945y.js → .setup/security-contract-nAzD945y.mjs} +0 -0
  267. /package/dist/{session-contract-DMTm6Q_L.js → .setup/session-contract-DMTm6Q_L.mjs} +0 -0
  268. /package/dist/{session-errors-JuazczrA.js → .setup/session-errors-JuazczrA.mjs} +0 -0
  269. /package/dist/{targets-runtime-RBjx3pg_.js → .setup/targets-runtime-RBjx3pg_.mjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["global","factory","this","exports","NodeWorker","t","n","e","r","Int32Array","o","s","i","c","length","Uint8Array","map","parseInt","substring","Map","forEach","set","a","l","f","g","h","p","u","DataView","buffer","getInt32","d","charCodeAt","get","m","subarray","console","error","Error","WASMAudioDecoderCommon","uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","Promise","resolve","getModule","wasmString","WebAssembly","compile","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","ret","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","source","puffString","String","raw","instantiate","instanceExports","entries","puff","memory","dataArray","heapView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","defineProperty","enumerable","_wasm","getOutputChannels","outputData","output","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","finally","terminate","assignNames","Class","abort","what","HEAPU8","wasmMemory","UTF8Decoder","TextDecoder","UTF8ToString","maxBytesToRead","maxPtr","end","decode","timers","base64ReverseLookup","_opus_ml_frame_decoder_create","_malloc","_opus_ml_frame_decode_float_deinterleaved","_opus_ml_frame_decoder_destroy","_free","__emscripten_timeout","wasmImports","condition","filename","line","func","__emscripten_runtime_keepalive_clear","__setitimer_js","which","timeout_ms","clearTimeout","setTimeout","performance","now","requestedSize","_proc_exit","code","imports","instance","wasmExports","b","assignWasmExports","BigInt64Array","BigUint64Array","initRuntime","opus_ml_frame_decoder_create","opus_ml_frame_decode_float_deinterleaved","opus_ml_frame_decoder_destroy","OpusMLDecoder","_init","common","_common","_inputBytes","_outputSamples","_frameNumber","_input","_inputSize","_output","_outputChannels","_outputChannelSize","mapping","_channels","_channelMappingTable","_decoder","_sampleRate","_streamCount","_coupledStreamCount","_preSkip","_complexity","_forceStereo","_ready","_decode","opusFrame","outputBuffer","decodeFrame","decoded","decodeFrames","opusFrames","outputBuffers","_isWebWorker","isNumber","param","channels","streamCount","coupledStreamCount","channelMappingTable","preSkip","speechQualityEnhancement","forceStereo","includes","OpusMLDecoderWebWorker","require","define","amd"],"sources":["opus-ml-decoder.js"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","ignoreList":[]}
1
+ {"version":3,"names":["global","factory","this","exports","NodeWorker","t","n","e","r","Int32Array","o","s","i","c","length","Uint8Array","map","parseInt","substring","Map","forEach","set","a","l","f","g","h","p","u","DataView","buffer","getInt32","d","charCodeAt","get","m","subarray","console","error","Error","WASMAudioDecoderCommon","uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","Promise","resolve","getModule","wasmString","WebAssembly","compile","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","ret","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","source","puffString","String","raw","instantiate","instanceExports","entries","puff","memory","dataArray","heapView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","defineProperty","enumerable","_wasm","getOutputChannels","outputData","output","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","finally","terminate","assignNames","Class","abort","what","HEAPU8","wasmMemory","UTF8Decoder","TextDecoder","UTF8ToString","maxBytesToRead","maxPtr","end","decode","timers","base64ReverseLookup","_opus_ml_frame_decoder_create","_malloc","_opus_ml_frame_decode_float_deinterleaved","_opus_ml_frame_decoder_destroy","_free","__emscripten_timeout","wasmImports","condition","filename","line","func","__emscripten_runtime_keepalive_clear","__setitimer_js","which","timeout_ms","clearTimeout","setTimeout","performance","now","requestedSize","_proc_exit","code","imports","instance","wasmExports","b","assignWasmExports","BigInt64Array","BigUint64Array","initRuntime","opus_ml_frame_decoder_create","opus_ml_frame_decode_float_deinterleaved","opus_ml_frame_decoder_destroy","OpusMLDecoder","_init","common","_common","_inputBytes","_outputSamples","_frameNumber","_input","_inputSize","_output","_outputChannels","_outputChannelSize","mapping","_channels","_channelMappingTable","_decoder","_sampleRate","_streamCount","_coupledStreamCount","_preSkip","_complexity","_forceStereo","_ready","_decode","opusFrame","outputBuffer","decodeFrame","decoded","decodeFrames","opusFrames","outputBuffers","_isWebWorker","isNumber","param","channels","streamCount","coupledStreamCount","channelMappingTable","preSkip","speechQualityEnhancement","forceStereo","includes","OpusMLDecoderWebWorker","require","define","amd"],"sources":["opus-ml-decoder.js"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wasm-audio-decoders/opus-ml",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Web Assembly streaming Opus decoder with Machine Learning enhancements",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -2,11 +2,7 @@ import { DecodeError } from "@wasm-audio-decoders/common";
2
2
 
3
3
  export type OpusMLDecoderDefaultSampleRate = 48000;
4
4
  export type OpusMLDecoderSampleRate =
5
- | 8000
6
- | 12000
7
- | 16000
8
- | 24000
9
- | OpusMLDecoderDefaultSampleRate;
5
+ 8000 | 12000 | 16000 | 24000 | OpusMLDecoderDefaultSampleRate;
10
6
  export type OpusMLSpeechQualityEnhancementOption = "none" | "lace" | "nolace";
11
7
 
12
8
  export interface OpusMLDecodedAudio<
@@ -8,6 +8,7 @@ export default function audioType (buf) {
8
8
  if (isMp3(buf)) return 'mp3';
9
9
  if (isAac(buf)) return 'aac';
10
10
  if (isFlac(buf)) return 'flac';
11
+ if (isTta(buf)) return 'tta';
11
12
  if (isM4a(buf)) return 'm4a';
12
13
  if (isOpus(buf)) return 'opus'; // overlaps with ogg, so must come first
13
14
  if (isOgg(buf)) return 'oga';
@@ -16,14 +17,59 @@ export default function audioType (buf) {
16
17
  if (isCaf(buf)) return 'caf';
17
18
  if (isWma(buf)) return 'wma';
18
19
  if (isAmr(buf)) return 'amr';
20
+ if (isWv(buf)) return 'wv';
21
+ if (isMpc(buf)) return 'mpc';
22
+ if (isApe(buf)) return 'ape';
23
+ if (isDsf(buf)) return 'dsf';
24
+ if (isDff(buf)) return 'dff';
25
+ if (isEac3(buf)) return 'eac3'; // shares the 0x0B77 syncword with AC-3, disambiguated by bsid
26
+ if (isAc3(buf)) return 'ac3';
27
+ if (isDts(buf)) return 'dts';
28
+ if (isIt(buf)) return 'it';
29
+ if (isS3m(buf)) return 's3m';
30
+ if (isXm(buf)) return 'xm';
31
+ if (isMod(buf)) return 'mod';
32
+ if (isMkv(buf)) return 'mkv';
19
33
  if (isWebm(buf)) return 'webm';
34
+ if (isAvi(buf)) return 'avi';
35
+
36
+ // mp3/flac/tta/aac may carry a leading ID3v2 tag (DSF's ID3 sits at the file's end, not the start,
37
+ // so it never needs this). MP3 is confirmed only when a valid sync follows the tag — unless the
38
+ // tag's declared size runs past the end of the buffer we were given, which is the common case when
39
+ // audio-type is fed only the first few KB of a file: then mp3 is assumed, being the overwhelming
40
+ // majority of ID3v2-tagged audio in the wild.
41
+ let id3 = skipId3(buf);
42
+ if (id3) {
43
+ if (id3 >= buf.length) return 'mp3';
44
+ let rest = buf.subarray(id3);
45
+ if (isMp3(rest)) return 'mp3';
46
+ if (isFlac(rest)) return 'flac';
47
+ if (isTta(rest)) return 'tta';
48
+ if (isAac(rest)) return 'aac';
49
+ }
20
50
  };
21
51
 
52
+ // ID3v2 header: 'ID3' + major/minor version + flags (bit 4 = footer present, ID3v2.4 only) +
53
+ // synchsafe size (4 bytes, 7 bits each, bytes 6-9) counting everything after this 10-byte header,
54
+ // excluding the footer. Returns the byte offset right after the tag (and footer, if any), or 0 if
55
+ // buf doesn't start with an ID3v2 tag. https://id3.org/id3v2.3.0#ID3v2_header
56
+ export function skipId3 (buf) {
57
+ if (!buf || buf.length < 10) return 0
58
+ if (buf[0] !== 0x49 || buf[1] !== 0x44 || buf[2] !== 0x33) return 0 // 'ID3'
59
+
60
+ let size = ((buf[6] & 0x7f) << 21) | ((buf[7] & 0x7f) << 14) | ((buf[8] & 0x7f) << 7) | (buf[9] & 0x7f)
61
+ let footer = (buf[5] & 0x10) ? 10 : 0
62
+
63
+ return 10 + size + footer
64
+ }
65
+
66
+ // MPEG sync (0xFF, layer bits != 0 — layer 00 is reserved/AAC ADTS, see isAac), or a legacy ID3v1 'TAG'
67
+ // trailer. Bare 'ID3' is NOT sufficient on its own: ID3v2 tags also prefix TTA, FLAC and AAC files —
68
+ // see the ID3-skip fallback in audioType() above, which is where that case is actually resolved.
22
69
  export function isMp3 (buf) {
23
70
  if (!buf || buf.length < 3) return
24
71
 
25
- return (buf[0] === 0x49 && buf[1] === 0x44 && buf[2] === 0x33) || // ID3
26
- (buf[0] === 0xff && (buf[1] & 0xe0) === 0xe0 && (buf[1] & 0x06) !== 0x00) || // MPEG sync, layer != 0 (excludes AAC)
72
+ return (buf[0] === 0xff && (buf[1] & 0xe0) === 0xe0 && (buf[1] & 0x06) !== 0x00) || // MPEG sync, layer != 0 (excludes AAC)
27
73
  (buf[0] === 0x54 && buf[1] === 0x41 && buf[2] === 0x47) // TAG
28
74
  };
29
75
 
@@ -139,3 +185,111 @@ export function isWebm(buf) {
139
185
  if (!buf || buf.length < 4) return
140
186
  return buf[0] === 0x1a && buf[1] === 0x45 && buf[2] === 0xdf && buf[3] === 0xa3
141
187
  }
188
+
189
+ // RIFF container with 'AVI ' form type
190
+ export function isAvi(buf) {
191
+ if (!buf || buf.length < 12) return
192
+ return buf[0] === 82 && buf[1] === 73 && buf[2] === 70 && buf[3] === 70 &&
193
+ buf[8] === 65 && buf[9] === 86 && buf[10] === 73 && buf[11] === 32
194
+ }
195
+
196
+ // EBML header whose DocType is "matroska" (WebM declares "webm")
197
+ export function isMkv(buf) {
198
+ if (!isWebm(buf)) return
199
+ let n = Math.min(buf.length, 64)
200
+ for (let i = 4; i < n - 8; i++)
201
+ if (buf[i] === 0x42 && buf[i + 1] === 0x82) // DocType element id
202
+ return buf[i + 3] === 109 && buf[i + 4] === 97 && buf[i + 5] === 116 && buf[i + 6] === 114 // "matr"
203
+ }
204
+
205
+ // AC-3 syncword 0x0B77 followed by a valid frame-size code and bsid ≤ 8 (bsid 9-10 reserved,
206
+ // 11-16 is E-AC-3 — see isEac3)
207
+ export function isAc3(buf) {
208
+ if (!buf || buf.length < 6) return
209
+ return buf[0] === 0x0B && buf[1] === 0x77 && (buf[4] & 0x3F) < 38 && (buf[5] >> 3) <= 8
210
+ }
211
+
212
+ // E-AC-3 (Dolby Digital Plus): same 0x0B77 syncword as AC-3, but bsid 11-16 (ETSI TS 102 366 Annex E;
213
+ // 16 is the common E-AC-3 bsid, 11-15 also fall in the standard's E-AC-3 range)
214
+ export function isEac3(buf) {
215
+ if (!buf || buf.length < 6) return
216
+ let bsid = buf[5] >> 3
217
+ return buf[0] === 0x0B && buf[1] === 0x77 && bsid >= 11 && bsid <= 16
218
+ }
219
+
220
+ // DTS core syncword 0x7FFE8001 (14-bit and little-endian variants: 0x1FFFE800, 0xFE7F0180)
221
+ export function isDts(buf) {
222
+ if (!buf || buf.length < 4) return
223
+ return (buf[0] === 0x7F && buf[1] === 0xFE && buf[2] === 0x80 && buf[3] === 0x01) ||
224
+ (buf[0] === 0xFE && buf[1] === 0x7F && buf[2] === 0x01 && buf[3] === 0x80) ||
225
+ (buf[0] === 0x1F && buf[1] === 0xFF && buf[2] === 0xE8 && buf[3] === 0x00)
226
+ }
227
+
228
+ // 'wvpk' block header
229
+ export function isWv(buf) {
230
+ if (!buf || buf.length < 4) return
231
+ return buf[0] === 0x77 && buf[1] === 0x76 && buf[2] === 0x70 && buf[3] === 0x6b
232
+ }
233
+
234
+ // True Audio: 'TTA1' — may also appear after a leading ID3v2 tag, resolved in audioType()
235
+ export function isTta(buf) {
236
+ if (!buf || buf.length < 4) return
237
+ return buf[0] === 0x54 && buf[1] === 0x54 && buf[2] === 0x41 && buf[3] === 0x31
238
+ }
239
+
240
+ // Musepack: 'MP+' (SV7, stream-version nibble === 7) or 'MPCK' (SV8)
241
+ export function isMpc(buf) {
242
+ if (!buf || buf.length < 4) return
243
+ if (buf[0] === 0x4d && buf[1] === 0x50 && buf[2] === 0x2b && (buf[3] & 0x0f) === 7) return true // 'MP+', SV7
244
+ return buf[0] === 0x4d && buf[1] === 0x50 && buf[2] === 0x43 && buf[3] === 0x4b // 'MPCK', SV8
245
+ }
246
+
247
+ // Monkey's Audio: 'MAC ' descriptor/header magic
248
+ export function isApe(buf) {
249
+ if (!buf || buf.length < 4) return
250
+ return buf[0] === 0x4d && buf[1] === 0x41 && buf[2] === 0x43 && buf[3] === 0x20
251
+ }
252
+
253
+ // Sony DSD Stream File: 'DSD ' chunk id. Its ID3v2 tag (if any) is pointed to from within this
254
+ // header and lives at the end of the file, not the start — unlike mp3/flac/tta.
255
+ export function isDsf(buf) {
256
+ if (!buf || buf.length < 4) return
257
+ return buf[0] === 0x44 && buf[1] === 0x53 && buf[2] === 0x44 && buf[3] === 0x20
258
+ }
259
+
260
+ // Philips DSDIFF: 'FRM8' (4 bytes) + chunk size (8 bytes, offset 4-11) + 'DSD ' form type at offset 12
261
+ export function isDff(buf) {
262
+ if (!buf || buf.length < 16) return
263
+ return buf[0] === 0x46 && buf[1] === 0x52 && buf[2] === 0x4d && buf[3] === 0x38 &&
264
+ buf[12] === 0x44 && buf[13] === 0x53 && buf[14] === 0x44 && buf[15] === 0x20
265
+ }
266
+
267
+ // ProTracker & friends: 4-byte format tag at offset 1080 (after the 20-byte title + 31×30-byte
268
+ // sample headers + song-length/restart/pattern-order-table). See the Amiga MOD format spec.
269
+ const MOD_TAGS = new Set(['M.K.', 'M!K!', 'FLT4', 'FLT8', 'CD81', 'OKTA'])
270
+ export function isMod(buf) {
271
+ if (!buf || buf.length < 1084) return
272
+ let tag = String.fromCharCode(buf[1080], buf[1081], buf[1082], buf[1083])
273
+ return MOD_TAGS.has(tag) || /^\dCHN$/.test(tag) || /^\d\dCH$/.test(tag) || /^TDZ\d$/.test(tag)
274
+ }
275
+
276
+ // 'Extended Module: '
277
+ export function isXm(buf) {
278
+ if (!buf || buf.length < 17) return
279
+ const tag = 'Extended Module: '
280
+ for (let i = 0; i < 17; i++) if (buf[i] !== tag.charCodeAt(i)) return false
281
+ return true
282
+ }
283
+
284
+ // Scream Tracker 3: 'SCRM' at offset 44
285
+ export function isS3m(buf) {
286
+ if (!buf || buf.length < 48) return
287
+ return buf[44] === 0x53 && buf[45] === 0x43 && buf[46] === 0x52 && buf[47] === 0x4d
288
+ }
289
+
290
+ // Impulse Tracker: 'IMPM'. OpenMPT's IT-derived .mptm format reuses the same magic and is
291
+ // indistinguishable from .it by magic bytes alone — it detects as 'it' here.
292
+ export function isIt(buf) {
293
+ if (!buf || buf.length < 4) return
294
+ return buf[0] === 0x49 && buf[1] === 0x4d && buf[2] === 0x50 && buf[3] === 0x4d
295
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audio-type",
3
- "version": "2.4.2",
3
+ "version": "2.7.0",
4
4
  "description": "Detect the audio type of a Buffer/Uint8Array",
5
5
  "license": "MIT",
6
6
  "repository": "audiojs/audio-type",
@@ -39,7 +39,28 @@
39
39
  "amr",
40
40
  "wma",
41
41
  "caf",
42
- "qoa"
42
+ "qoa",
43
+ "avi",
44
+ "mkv",
45
+ "matroska",
46
+ "ac3",
47
+ "eac3",
48
+ "dts",
49
+ "wv",
50
+ "wavpack",
51
+ "tta",
52
+ "mpc",
53
+ "musepack",
54
+ "ape",
55
+ "monkeysaudio",
56
+ "dsf",
57
+ "dff",
58
+ "dsd",
59
+ "mod",
60
+ "xm",
61
+ "s3m",
62
+ "it",
63
+ "tracker"
43
64
  ],
44
65
  "devDependencies": {
45
66
  "read-chunk": "^2.0.0",
@@ -43,13 +43,51 @@ xhr.send();
43
43
 
44
44
  ### audioType(buffer)
45
45
 
46
- Returns: `'wav'`, `'aiff'`, `'mp3'`, `'aac'`, `'flac'`, `'m4a'`, `'opus'`, `'oga'`, `'qoa'`, `'mid'`, `'caf'`, `'wma'`, `'amr'`, `'webm'`
46
+ Returns one of the keys below, or `undefined` if the format isn't recognized.
47
+
48
+ | Key | Format | Magic | Offset |
49
+ | --- | --- | --- | --- |
50
+ | `wav` | WAVE | `RIFF`…`WAVE` | 0, 8 |
51
+ | `aiff` | AIFF/AIFC | `FORM`…`AIFF`/`AIFC` | 0, 8 |
52
+ | `mp3` | MPEG audio | MPEG sync (`0xFF Ex`) or `TAG` (ID3v1 trailer) | 0 |
53
+ | `aac` | AAC (ADTS) | `0xFFF` sync, layer 00 | 0 |
54
+ | `flac` | FLAC | `fLaC` | 0 |
55
+ | `tta` | True Audio | `TTA1` | 0 |
56
+ | `m4a` | MPEG-4 audio | `ftyp` or `M4A ` | 4 or 0 |
57
+ | `opus` | Opus (in Ogg) | `OggS`…`OpusHead` | 0, 28 |
58
+ | `oga` | Ogg | `OggS` | 0 |
59
+ | `qoa` | Quite OK Audio | `qoaf` | 0 |
60
+ | `mid` | MIDI | `MThd` | 0 |
61
+ | `caf` | Core Audio Format | `caff` | 0 |
62
+ | `wma` | ASF/WMA | ASF header GUID | 0 |
63
+ | `amr` | AMR | `#!AMR` | 0 |
64
+ | `wv` | WavPack | `wvpk` | 0 |
65
+ | `mpc` | Musepack | `MP+` (SV7) or `MPCK` (SV8) | 0 |
66
+ | `ape` | Monkey's Audio | `MAC ` | 0 |
67
+ | `dsf` | DSD Stream File | `DSD ` | 0 |
68
+ | `dff` | DSDIFF | `FRM8`…`DSD ` | 0, 12 |
69
+ | `eac3` | E-AC-3 (Dolby Digital Plus) | `0x0B77` sync, bsid 11–16 | 0 |
70
+ | `ac3` | AC-3 (Dolby Digital) | `0x0B77` sync, bsid ≤ 8 | 0 |
71
+ | `dts` | DTS | `0x7FFE8001` (or its bit-reordered variants) | 0 |
72
+ | `it` | Impulse Tracker | `IMPM` | 0 |
73
+ | `s3m` | Scream Tracker 3 | `SCRM` | 44 |
74
+ | `xm` | Extended Module | `Extended Module: ` | 0 |
75
+ | `mod` | ProTracker & friends | `M.K.`, `M!K!`, `xCHN`, `xxCH`, `FLTx`, `TDZx`, `CD81`, `OKTA` | 1080 |
76
+ | `mkv` | Matroska | EBML header, DocType `matroska` | 0 |
77
+ | `webm` | WebM | EBML header, DocType `webm` | 0 |
78
+ | `avi` | AVI | `RIFF`…`AVI ` | 0, 8 |
79
+
80
+ Note: OpenMPT's `.mptm` format is IT-derived and reuses the `IMPM` magic verbatim — it is indistinguishable from `.it` by magic bytes alone and also detects as `it`.
47
81
 
48
82
  #### buffer
49
83
 
50
84
  Type: `buffer` *(Node.js)*, `arrayBuffer`, `uint8array`
51
85
 
52
- It only needs the first 64 bytes.
86
+ The first 64 bytes are enough for every format except `mod`, whose tag sits at offset 1080 (past the sample header table) — pass at least the first 1084 bytes if you need to detect trackers.
87
+
88
+ #### ID3v2 tags
89
+
90
+ `mp3`, `flac`, `tta` and `aac` files may carry a leading ID3v2 tag. `audioType()` skips it and inspects what follows: `mp3` is only returned once a real MPEG sync is found after the tag — unless the tag's declared size runs past the end of the buffer you gave it, in which case `mp3` is assumed (the overwhelming majority of ID3v2-tagged audio in the wild is MP3, and a truncated probe buffer — the common case — can't prove otherwise). `dsf`'s optional ID3v2 tag lives at the *end* of the file, not the start, so it never enters into this.
53
91
 
54
92
  ## License
55
93
 
@@ -1,7 +1,7 @@
1
1
  # `ogg-opus-decoder`
2
2
 
3
3
  `ogg-opus-decoder` is a Web Assembly Ogg Opus audio decoder
4
- * 114.3 KiB minified bundle size (without machine learning enhancements)
4
+ * 114.9 KiB minified bundle size (without machine learning enhancements)
5
5
  * Uses the latest Opus 1.5 machine learning enhancements for high quality speech decoding
6
6
  * Note: Bundle size increases to 4.0 MiB when machine learning enhancements are enabled
7
7
  * Browser and NodeJS support