@openclaw/whatsapp 2026.5.28 → 2026.5.31-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{access-control-Z0fYaWrx.js → access-control-C53zKYSN.js} +1 -1
- package/dist/{accounts-BMGM1RtF.js → accounts-DgViSyJx.js} +1 -0
- package/dist/{action-runtime-BdhkGtaP.js → action-runtime-Cyp5GNIT.js} +2 -2
- package/dist/action-runtime-api.js +1 -1
- package/dist/action-runtime.runtime.js +1 -1
- package/dist/api.js +9 -9
- package/dist/{approval-handler.runtime-C25wPeBf.js → approval-handler.runtime-BVmOu6x1.js} +1 -2
- package/dist/{auth-store-BrKb0mwT.js → auth-store-CZ22aNcV.js} +4 -2
- package/dist/{channel-D3y4A5Dd.js → channel-DA2BAIo5.js} +17 -64
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel-react-action-Cd2qkLqp.js → channel-react-action-zvbaCnGe.js} +3 -3
- package/dist/{channel.runtime-C228XUjs.js → channel.runtime-Q1LZDB5s.js} +4 -4
- package/dist/{channel.setup-BJQyTUUP.js → channel.setup-DHXOo4h5.js} +2 -3
- package/dist/{config-schema-CsNDlDpL.js → config-schema-CROZuhT-.js} +16 -0
- package/dist/{connection-controller-mpPGmqGq.js → connection-controller-Bnm4INld.js} +2 -2
- package/dist/contract-api.js +1 -1
- package/dist/light-runtime-api.js +1 -1
- package/dist/{login-CE4UYnyO.js → login-2fuBM7Je.js} +4 -4
- package/dist/{login-qr-LBvhEes5.js → login-qr-B1o7GFy8.js} +10 -6
- package/dist/login-qr-runtime.js +1 -1
- package/dist/{monitor-Ccph7Y8M.js → monitor-BVRq04Dt.js} +36 -18
- package/dist/runtime-api.js +7 -7
- package/dist/{send-C4LG-Cl6.js → send-DSlVXKL_.js} +53 -41
- package/dist/{send-api-C66vkRl9.js → send-api-Bjn-h80j.js} +3 -2
- package/dist/{session-D8UW2Vbn.js → session-DyGWNClj.js} +1 -1
- package/dist/{setup-core-DpfT4K-2.js → setup-core-OvPMaAsx.js} +4 -4
- package/dist/{setup-finalize-CFnxX7la.js → setup-finalize-Dk23pfKc.js} +3 -3
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-DRsmp0ZS.js → setup-surface-F-jVrH8u.js} +3 -3
- package/node_modules/@audio/decode-aac/LICENSE +9 -0
- package/node_modules/@audio/decode-aac/README.md +60 -0
- package/node_modules/@audio/decode-aac/decode-aac.d.ts +16 -0
- package/node_modules/@audio/decode-aac/decode-aac.js +391 -0
- package/node_modules/@audio/decode-aac/package.json +47 -0
- package/node_modules/@audio/decode-aac/src/aac.wasm.cjs +0 -0
- package/node_modules/@audio/decode-aiff/LICENSE +21 -0
- package/node_modules/@audio/decode-aiff/README.md +53 -0
- package/node_modules/@audio/decode-aiff/decode-aiff.d.ts +16 -0
- package/node_modules/@audio/decode-aiff/decode-aiff.js +583 -0
- package/node_modules/@audio/decode-aiff/package.json +42 -0
- package/node_modules/@audio/decode-amr/LICENSE +191 -0
- package/node_modules/@audio/decode-amr/README.md +65 -0
- package/node_modules/@audio/decode-amr/decode-amr.d.ts +16 -0
- package/node_modules/@audio/decode-amr/decode-amr.js +159 -0
- package/node_modules/@audio/decode-amr/package.json +48 -0
- package/node_modules/@audio/decode-amr/src/amr.wasm.cjs +0 -0
- package/node_modules/@audio/decode-caf/LICENSE +21 -0
- package/node_modules/@audio/decode-caf/README.md +55 -0
- package/node_modules/@audio/decode-caf/decode-caf.d.ts +16 -0
- package/node_modules/@audio/decode-caf/decode-caf.js +190 -0
- package/node_modules/@audio/decode-caf/package.json +43 -0
- package/node_modules/{audio-buffer → @audio/decode-flac}/LICENSE +5 -2
- package/node_modules/@audio/decode-flac/README.md +23 -0
- package/node_modules/@audio/decode-flac/decode-flac.d.ts +16 -0
- package/node_modules/@audio/decode-flac/decode-flac.js +2994 -0
- package/node_modules/@audio/decode-flac/meta.js +115 -0
- package/node_modules/@audio/decode-flac/package.json +49 -0
- package/node_modules/@audio/decode-mp3/LICENSE +25 -0
- package/node_modules/@audio/decode-mp3/README.md +23 -0
- package/node_modules/@audio/decode-mp3/decode-mp3.d.ts +16 -0
- package/node_modules/@audio/decode-mp3/decode-mp3.js +868 -0
- package/node_modules/@audio/decode-mp3/meta.js +143 -0
- package/node_modules/@audio/decode-mp3/package.json +50 -0
- package/node_modules/@audio/decode-opus/LICENSE +25 -0
- package/node_modules/@audio/decode-opus/README.md +23 -0
- package/node_modules/@audio/decode-opus/decode-opus.d.ts +16 -0
- package/node_modules/@audio/decode-opus/decode-opus.js +3179 -0
- package/node_modules/@audio/decode-opus/package.json +47 -0
- package/node_modules/@audio/decode-qoa/LICENSE +25 -0
- package/node_modules/@audio/decode-qoa/README.md +21 -0
- package/node_modules/@audio/decode-qoa/decode-qoa.d.ts +16 -0
- package/node_modules/@audio/decode-qoa/decode-qoa.js +278 -0
- package/node_modules/@audio/decode-qoa/package.json +46 -0
- package/node_modules/@audio/decode-vorbis/LICENSE +25 -0
- package/node_modules/@audio/decode-vorbis/README.md +23 -0
- package/node_modules/@audio/decode-vorbis/decode-vorbis.d.ts +16 -0
- package/node_modules/@audio/decode-vorbis/decode-vorbis.js +2984 -0
- package/node_modules/@audio/decode-vorbis/package.json +47 -0
- package/node_modules/@audio/decode-wav/decode-wav.js +104 -0
- package/node_modules/@audio/decode-wav/meta.js +114 -0
- package/node_modules/@audio/decode-wav/package.json +27 -0
- package/node_modules/@audio/decode-webm/LICENSE +21 -0
- package/node_modules/@audio/decode-webm/README.md +57 -0
- package/node_modules/@audio/decode-webm/decode-webm.d.ts +16 -0
- package/node_modules/@audio/decode-webm/decode-webm.js +3964 -0
- package/node_modules/@audio/decode-webm/package.json +51 -0
- package/node_modules/@audio/decode-wma/LICENSE +12 -0
- package/node_modules/@audio/decode-wma/README.md +76 -0
- package/node_modules/@audio/decode-wma/decode-wma.d.ts +33 -0
- package/node_modules/@audio/decode-wma/decode-wma.js +525 -0
- package/node_modules/@audio/decode-wma/package.json +47 -0
- package/node_modules/@audio/decode-wma/src/wma.wasm.cjs +0 -0
- package/node_modules/audio-decode/.claude/settings.json +204 -0
- package/node_modules/audio-decode/.github/workflows/test.js.yml +11 -20
- package/node_modules/audio-decode/.gitmodules +9 -0
- package/node_modules/audio-decode/audio-decode.d.ts +48 -10
- package/node_modules/audio-decode/audio-decode.js +193 -77
- package/node_modules/audio-decode/meta.js +11 -0
- package/node_modules/audio-decode/package.json +49 -21
- package/node_modules/audio-decode/readme.md +129 -29
- package/node_modules/audio-decode/stream.d.ts +15 -0
- package/node_modules/audio-decode/stream.js +1 -0
- package/node_modules/audio-decode/test.html +29 -10
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +2 -2
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/index.d.ts +2 -2
- package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/index.min.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +2 -2
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts +2 -2
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/index.d.ts +2 -2
- package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/index.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/index.min.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/node/index.d.ts +2 -2
- package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
- package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
- package/node_modules/lru-cache/dist/esm/node/index.min.js.map +1 -1
- package/node_modules/lru-cache/package.json +1 -1
- package/node_modules/typebox/build/type/script/mapping.d.mts +5 -2
- package/node_modules/typebox/build/type/script/mapping.mjs +15 -8
- package/node_modules/typebox/build/type/script/parser.d.mts +3 -1
- package/node_modules/typebox/build/type/script/parser.mjs +2 -1
- package/node_modules/typebox/package.json +29 -29
- package/npm-shrinkwrap.json +156 -39
- package/openclaw.plugin.json +76 -0
- package/package.json +6 -6
- package/node_modules/audio-buffer/.eslintrc.json +0 -44
- package/node_modules/audio-buffer/.github/workflows/node.js.yml +0 -31
- package/node_modules/audio-buffer/.travis.yml +0 -7
- package/node_modules/audio-buffer/index.js +0 -76
- package/node_modules/audio-buffer/package.json +0 -37
- package/node_modules/audio-buffer/readme.md +0 -56
- package/node_modules/audio-decode/.eslintrc.json +0 -43
- package/node_modules/audio-decode/.travis.yml +0 -13
- package/node_modules/audio-decode/tea.yaml +0 -6
- package/node_modules/audio-decode/test-case.js +0 -11
- package/node_modules/audio-decode/test.js +0 -107
- package/node_modules/node-wav/README.md +0 -35
- package/node_modules/node-wav/file.wav +0 -0
- package/node_modules/node-wav/index.js +0 -291
- package/node_modules/node-wav/package.json +0 -29
- package/node_modules/node-wav/tests/file1.wav +0 -0
- package/node_modules/node-wav/tests/test.js +0 -66
- package/node_modules/node-wav/x.js +0 -12
- package/node_modules/node-wav/x.json +0 -86702
- package/node_modules/node-wav/x.js~ +0 -13
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@audio/decode-wma",
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "Decode WMA audio via RockBox WASM",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "decode-wma.js",
|
|
7
|
+
"types": "decode-wma.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./decode-wma.js",
|
|
10
|
+
"./package.json": "./package.json"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"decode-wma.js",
|
|
14
|
+
"decode-wma.d.ts",
|
|
15
|
+
"src/wma.wasm.cjs",
|
|
16
|
+
"LICENSE"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "bash build.sh",
|
|
20
|
+
"prepack": "npm run build",
|
|
21
|
+
"test": "node test.js"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"wma",
|
|
25
|
+
"windows-media-audio",
|
|
26
|
+
"asf",
|
|
27
|
+
"audio",
|
|
28
|
+
"decode",
|
|
29
|
+
"decoder",
|
|
30
|
+
"wasm",
|
|
31
|
+
"rockbox"
|
|
32
|
+
],
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"license": "GPL-2.0-or-later",
|
|
37
|
+
"author": "audiojs",
|
|
38
|
+
"homepage": "https://github.com/audiojs/decode-wma#readme",
|
|
39
|
+
"bugs": "https://github.com/audiojs/decode-wma/issues",
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/audiojs/decode-wma.git"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=16"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(npm outdated:*)",
|
|
5
|
+
"Bash(node test.js)",
|
|
6
|
+
"Bash(npm ls:*)",
|
|
7
|
+
"Bash(npm view:*)",
|
|
8
|
+
"Bash(npm install:*)",
|
|
9
|
+
"Bash(node -e \"import\\(''tst''\\).then\\(m => console.log\\(Object.keys\\(m\\)\\)\\)\")",
|
|
10
|
+
"Bash(node -e \"import mp3 from ''audio-lena/mp3.js''; console.log\\(mp3.constructor.name, mp3.byteLength\\)\")",
|
|
11
|
+
"Bash(node -e :*)",
|
|
12
|
+
"Bash(node -e \":*)",
|
|
13
|
+
"WebFetch(domain:www.npmjs.com)",
|
|
14
|
+
"WebSearch",
|
|
15
|
+
"Bash(gh api:*)",
|
|
16
|
+
"Bash(gh search:*)",
|
|
17
|
+
"WebFetch(domain:en.wikipedia.org)",
|
|
18
|
+
"WebFetch(domain:code.google.com)",
|
|
19
|
+
"Bash(emcc --version)",
|
|
20
|
+
"Read(//Users/div/projects/**)",
|
|
21
|
+
"Bash(brew info:*)",
|
|
22
|
+
"Bash(brew upgrade:*)",
|
|
23
|
+
"Bash(chmod +x ~/projects/aac-decode/build.sh)",
|
|
24
|
+
"Read(//Users/div/**)",
|
|
25
|
+
"Bash(brew list:*)",
|
|
26
|
+
"Read(//opt/homebrew/bin/**)",
|
|
27
|
+
"Read(//usr/local/bin/**)",
|
|
28
|
+
"Read(//dev/**)",
|
|
29
|
+
"Read(//Users/div/projects/audio-type/**)",
|
|
30
|
+
"Bash(ls /Users/div/projects/audio-type/fixture.*)",
|
|
31
|
+
"Read(//opt/homebrew/Cellar/emscripten/5.0.3/bin/**)",
|
|
32
|
+
"Read(//opt/homebrew/Cellar/emscripten/5.0.3/libexec/**)",
|
|
33
|
+
"Bash(EMSDK_PYTHON=/opt/homebrew/opt/python@3.14/bin/python3.14 emcc --version)",
|
|
34
|
+
"Bash(/opt/homebrew/Cellar/emscripten/5.0.3/libexec/llvm/bin/clang --version)",
|
|
35
|
+
"Bash(bash build.sh)",
|
|
36
|
+
"Bash(node --input-type=module -e \":*)",
|
|
37
|
+
"Bash(node --input-type=module:*)",
|
|
38
|
+
"Bash(find /Users/div/projects/aac-decode -type f -name *.md -o -name *.txt -o -name README*)",
|
|
39
|
+
"Bash(find /Users/div/projects -maxdepth 2 -name package.json -path *decode* -o -path *audio*)",
|
|
40
|
+
"Bash(/opt/homebrew/bin/emcc --version)",
|
|
41
|
+
"Bash(ffmpeg -version)",
|
|
42
|
+
"Bash(chmod +x /Users/div/projects/@audiojs/wma-decode/build.sh)",
|
|
43
|
+
"Bash(curl -L \"https://sourceforge.net/projects/opencore-amr/files/opencore-amr/opencore-amr-0.1.6.tar.gz/download\" -o opencore-amr.tar.gz --max-time 30)",
|
|
44
|
+
"Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -f lavfi -i \"color=c=black:s=2x2:d=1\" -c:a libopus -b:a 64k -c:v libvpx -b:v 100k fixtures/video-audio.webm -y)",
|
|
45
|
+
"Bash(tar xf:*)",
|
|
46
|
+
"Bash(mv opencore-amr-0.1.6 opencore-amr)",
|
|
47
|
+
"Bash(rm opencore-amr.tar.gz)",
|
|
48
|
+
"Read(//Users/div/projects/audio-decode/**)",
|
|
49
|
+
"Bash(chmod +x /Users/div/projects/@audiojs/amr-decode/build.sh)",
|
|
50
|
+
"Bash(ffmpeg -encoders)",
|
|
51
|
+
"Bash(ffmpeg -codecs)",
|
|
52
|
+
"Bash(wc -l /Users/div/projects/@audiojs/wma-decode/*.js /Users/div/projects/@audiojs/wma-decode/*.d.ts /Users/div/projects/aac-decode/*.js /Users/div/projects/aac-decode/*.d.ts)",
|
|
53
|
+
"Bash(git -C /Users/div/projects/aac-decode log --oneline -5 lib/faad2)",
|
|
54
|
+
"Bash(git -C /Users/div/projects/@audiojs/amr-decode log --oneline -5 lib/opencore-amr)",
|
|
55
|
+
"Bash(ls -la /Users/div/projects/@audiojs/wma-decode/README*)",
|
|
56
|
+
"Bash(find /Users/div/projects/@audiojs/amr-decode/lib/opencore-amr -name *.cpp -o -name *.c -o -name *.h)",
|
|
57
|
+
"Bash(wc -l /Users/div/projects/@audiojs/*/test.js)",
|
|
58
|
+
"Bash(wc -l /Users/div/projects/@audiojs/*/*.js /Users/div/projects/@audiojs/*/*.d.ts)",
|
|
59
|
+
"Bash(file /Users/div/projects/audio-type/fixture.*)",
|
|
60
|
+
"Bash(file /Users/div/projects/audio-lena/lena.*)",
|
|
61
|
+
"Bash(ffmpeg -formats)",
|
|
62
|
+
"Bash(ls /Users/div/projects/audio-lena/lena.*)",
|
|
63
|
+
"Bash(ffmpeg -i lena.wav -f caf -c:a pcm_s16le lena.caf -y)",
|
|
64
|
+
"Bash(ffmpeg -i lena.wav -c:a libopus -b:a 96k lena.webm -y)",
|
|
65
|
+
"Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -c:a libopencore_amrnb -b:a 12.2k lena.amr -y)",
|
|
66
|
+
"Bash(ffmpeg -i lena.wav -c:a wmav2 -b:a 128k lena.wma -y)",
|
|
67
|
+
"Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -c:a pcm_alaw lena-alaw.aiff -y)",
|
|
68
|
+
"Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -c:a pcm_mulaw lena-ulaw.aiff -y)",
|
|
69
|
+
"Bash(ffmpeg -i lena.wav -c:a pcm_s24be lena-24.aiff -y)",
|
|
70
|
+
"Bash(ffmpeg -i lena.wav -c:a pcm_s32be lena-32.aiff -y)",
|
|
71
|
+
"Bash(ffmpeg -i lena.wav -f caf -c:a pcm_f32le lena-f32.caf -y)",
|
|
72
|
+
"Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -f caf -c:a pcm_alaw lena-alaw.caf -y)",
|
|
73
|
+
"Bash(ls /Users/div/projects/audio-lena/lena*.aiff /Users/div/projects/audio-lena/lena.wav)",
|
|
74
|
+
"Bash(ls /Users/div/projects/@audiojs/amr-decode/lib/opencore-amr/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/*.h)",
|
|
75
|
+
"Bash(for py:*)",
|
|
76
|
+
"Bash(do which:*)",
|
|
77
|
+
"Bash($py --version)",
|
|
78
|
+
"Bash(ffprobe -v error -show_entries stream=channels,sample_rate,codec_name -of default=noprint_wrappers=1 /Users/div/projects/audio-lena/lena.webm)",
|
|
79
|
+
"Bash(ls /Users/div/projects/@audiojs/amr-decode/lib/opencore-amr/amrnb/interf_enc.*)",
|
|
80
|
+
"Bash(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1 /Users/div/projects/audio-lena/lena.webm)",
|
|
81
|
+
"Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 /opt/homebrew/bin/emcc --version)",
|
|
82
|
+
"Bash(node -e:*)",
|
|
83
|
+
"Bash(rm -f configure configure.ac ltmain.sh install-sh missing depcomp compile config.guess config.sub aclocal.m4 Makefile.am Makefile.in)",
|
|
84
|
+
"Bash(rm -rf autom4te.cache m4)",
|
|
85
|
+
"Bash(./configure --help)",
|
|
86
|
+
"Bash(xxd -l 16 /Users/div/projects/audio-type/fixture.amr)",
|
|
87
|
+
"Bash(ffprobe /Users/div/projects/audio-lena/lena.wma)",
|
|
88
|
+
"Bash(FFMPEG=lib/ffmpeg)",
|
|
89
|
+
"Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emcc src/wma_glue.c -I $FFMPEG $FFMPEG/libavcodec/libavcodec.a $FFMPEG/libavutil/libavutil.a -O3 -flto -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=0 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o src/wma.wasm.cjs)",
|
|
90
|
+
"Bash(ffmpeg -i /Users/div/projects/audio-lena/lena.wma -f f32le -acodec pcm_f32le -ac 1 -)",
|
|
91
|
+
"Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emcc src/wma_glue.c -I $FFMPEG $FFMPEG/libavcodec/libavcodec.a $FFMPEG/libavutil/libavutil.a -O0 -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=2 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o /tmp/wma_debug.cjs)",
|
|
92
|
+
"Bash(rm -f config.h)",
|
|
93
|
+
"Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emconfigure ./configure --cc=emcc --cxx=em++ --ar=emar --ranlib=emranlib --enable-cross-compile --target-os=none --arch=x86 --disable-runtime-cpudetect --disable-asm --disable-inline-asm --disable-programs --disable-doc --disable-debug --disable-network --disable-everything --enable-decoder=wmav1 --enable-decoder=wmav2 --disable-pthreads --disable-avformat --disable-avfilter --disable-swresample --disable-swscale --disable-avdevice --extra-cflags=\"-O0\")",
|
|
94
|
+
"Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emmake make -C lib/ffmpeg -j14 libavutil/libavutil.a libavcodec/libavcodec.a)",
|
|
95
|
+
"Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emcc src/wma_glue.c -I $FFMPEG $FFMPEG/libavcodec/libavcodec.a $FFMPEG/libavutil/libavutil.a -O0 -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=0 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o /tmp/wma_O0.cjs)",
|
|
96
|
+
"Bash(sed -i '' 's/var fs=require\\(\"\"node:fs\"\"\\);/var _nfs=\"\"node:\"\"+\"\"fs\"\";var fs=require\\(_nfs\\);/' /tmp/wma_O0.cjs)",
|
|
97
|
+
"Bash(printf '\\\\nif\\(typeof module!==\"\"undefined\"\"\\)module.exports=createWMA;\\\\n')",
|
|
98
|
+
"Bash(ls /Users/div/projects/@audiojs/wma-decode/lib/ffmpeg/libavformat/asf*)",
|
|
99
|
+
"Bash(ffprobe -show_packets -select_streams a /Users/div/projects/audio-lena/lena.wma)",
|
|
100
|
+
"WebFetch(domain:api.github.com)",
|
|
101
|
+
"WebFetch(domain:raw.githubusercontent.com)",
|
|
102
|
+
"Bash(chmod +x /Users/div/projects/@audiojs/wma-decode/build-rockbox.sh)",
|
|
103
|
+
"Bash(bash build-rockbox.sh)",
|
|
104
|
+
"Bash(ls -la /Users/div/projects/@audiojs/wma-decode/build*.sh)",
|
|
105
|
+
"Bash(/opt/homebrew/bin/emcc src/wma_glue.c -I lib/ffmpeg lib/ffmpeg/libavcodec/libavcodec.a lib/ffmpeg/libavutil/libavutil.a -O3 -flto -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=0 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o /tmp/wma_ffmpeg.wasm.cjs)",
|
|
106
|
+
"Bash(export EMSDK_PYTHON=/opt/homebrew/bin/python3.13)",
|
|
107
|
+
"Bash(mv src/wma_glue.c src/wma_glue_ffmpeg.c)",
|
|
108
|
+
"Bash(mv src/wma_glue_rockbox.c src/wma_glue.c)",
|
|
109
|
+
"Bash(mv build.sh build-ffmpeg.sh)",
|
|
110
|
+
"Bash(mv build-rockbox.sh build.sh)",
|
|
111
|
+
"Bash(ls -la /Users/div/projects/@audiojs/wma-decode/src/ /Users/div/projects/@audiojs/wma-decode/build*.sh)",
|
|
112
|
+
"Bash(ls /Users/div/projects/@audiojs/*/README.md)",
|
|
113
|
+
"Bash(ls /Users/div/projects/@audiojs/*/.gitignore)",
|
|
114
|
+
"Bash(curl -s \"https://registry.npmjs.org/-/search?text=vorbis+decoder&size=20\")",
|
|
115
|
+
"WebFetch(domain:xiph.org)",
|
|
116
|
+
"Bash(ffmpeg -i /Users/div/projects/audio-lena/lena.wav -c:a libvorbis -b:a 96k /Users/div/projects/audio-lena/lena-vorbis.webm -y)",
|
|
117
|
+
"Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a libvorbis -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
|
|
118
|
+
"Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -f lavfi -i \"sine=frequency=880:duration=1\" -filter_complex \"[0:a][1:a]amerge=inputs=2\" -c:a libvorbis -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-stereo.webm -y)",
|
|
119
|
+
"Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a vorbis -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
|
|
120
|
+
"Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a vorbis -strict -2 -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
|
|
121
|
+
"Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a vorbis -strict experimental /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
|
|
122
|
+
"Bash(brew install:*)",
|
|
123
|
+
"Bash(oggenc -q 3 -o /tmp/sine_mono.ogg /tmp/sine_mono.wav)",
|
|
124
|
+
"Bash(ffmpeg -i /tmp/sine_mono.ogg -c:a copy /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
|
|
125
|
+
"Bash(ffprobe /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm)",
|
|
126
|
+
"Bash(ln -sf /Users/div/projects/aac-decode node_modules/@audio/aac-decode)",
|
|
127
|
+
"Bash(ln -sf /Users/div/projects/@audiojs/aiff-decode node_modules/@audio/aiff-decode)",
|
|
128
|
+
"Bash(ln -sf /Users/div/projects/@audiojs/caf-decode node_modules/@audio/caf-decode)",
|
|
129
|
+
"Bash(ln -sf /Users/div/projects/@audiojs/webm-decode node_modules/@audio/webm-decode)",
|
|
130
|
+
"Bash(ln -sf /Users/div/projects/@audiojs/amr-decode node_modules/@audio/amr-decode)",
|
|
131
|
+
"Bash(ln -sf /Users/div/projects/@audiojs/wma-decode node_modules/@audio/wma-decode)",
|
|
132
|
+
"Bash(ffprobe -hide_banner /Users/div/projects/audio-decode/fixtures/hk.m4a)",
|
|
133
|
+
"Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-24-dwvw.aiff)",
|
|
134
|
+
"Bash(ls -d /Users/div/projects/*aac*)",
|
|
135
|
+
"Bash(find /Users/div/projects -maxdepth 3 -name aac* -type f)",
|
|
136
|
+
"Bash(ln -sf /Users/div/projects/@audiojs/aac-decode node_modules/@audio/aac-decode)",
|
|
137
|
+
"Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-gsm.aiff)",
|
|
138
|
+
"Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-u.aiff)",
|
|
139
|
+
"Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-a.aiff)",
|
|
140
|
+
"Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/decode.c -o gsm_decode.c)",
|
|
141
|
+
"Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/rpe.c -o gsm_rpe.c)",
|
|
142
|
+
"Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/short_term.c -o gsm_short_term.c)",
|
|
143
|
+
"Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/long_term.c -o gsm_long_term.c)",
|
|
144
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/decode.c -o gsm_decode.c)",
|
|
145
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/rpe.c -o gsm_rpe.c)",
|
|
146
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/short_term.c -o gsm_short_term.c)",
|
|
147
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/long_term.c -o gsm_long_term.c)",
|
|
148
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/private.h -o gsm_private.h)",
|
|
149
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/table.c -o gsm_table.c)",
|
|
150
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/inc/private.h -o gsm_private.h)",
|
|
151
|
+
"Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/add.c -o gsm_add.c)",
|
|
152
|
+
"Bash(ffmpeg -i /Users/div/projects/audio-lena/audacity/lena-gsm.aiff -f f32le -acodec pcm_f32le -ac 1 -)",
|
|
153
|
+
"Bash(ls gsm_*.c)",
|
|
154
|
+
"Bash(cc -o gsm_test gsm_test.c -w)",
|
|
155
|
+
"Bash(./gsm_test)",
|
|
156
|
+
"Bash(ffmpeg -i /Users/div/projects/audio-lena/audacity/lena-gsm.aiff -f s16le -acodec pcm_s16le -ac 1 -)",
|
|
157
|
+
"Bash(npx playwright:*)",
|
|
158
|
+
"Bash(node test.browser.js)",
|
|
159
|
+
"Bash(npm list:*)",
|
|
160
|
+
"Read(//opt/homebrew/lib/node_modules/**)",
|
|
161
|
+
"Bash(npm root:*)",
|
|
162
|
+
"Bash(grep '\"\"version\"\"' package.json)",
|
|
163
|
+
"Bash(grep -c '\"\"aac-decode\"\"' package-lock.json)",
|
|
164
|
+
"Bash(grep -c '\"\"@audio/aac-decode\"\"' package-lock.json)",
|
|
165
|
+
"Bash(ls /Users/div/projects/audio-decode/*.m4a)",
|
|
166
|
+
"Bash(ffprobe -hide_banner \"/Users/div/projects/audio-decode/a pradyumna as always.m4a\")",
|
|
167
|
+
"Bash(ln -s /Users/div/projects/@audiojs/aac-decode node_modules/@audio/aac-decode)",
|
|
168
|
+
"Bash(ln -s /Users/div/projects/@audiojs/aac-decode /Users/div/projects/audio-decode/node_modules/@audio/aac-decode)",
|
|
169
|
+
"Bash(ls *.js *.md)",
|
|
170
|
+
"Bash(ls -d /Users/div/projects/@audiojs/*-decode)",
|
|
171
|
+
"Bash(for pkg:*)",
|
|
172
|
+
"Bash(rsync -a --exclude='.git' --exclude='node_modules' --exclude='lib' --exclude='package-lock.json' \"/Users/div/projects/@audiojs/$pkg/\" \"/Users/div/projects/audio-decode/packages/$pkg/\")",
|
|
173
|
+
"Bash(echo \"copied $pkg\")",
|
|
174
|
+
"Bash(do echo:*)",
|
|
175
|
+
"Bash(grep -rn 'audio-lena' /Users/div/projects/audio-decode/packages/*/test.js)",
|
|
176
|
+
"Bash(for f:*)",
|
|
177
|
+
"Bash(sed -i '' 's|../../audio-lena/|../../../audio-lena/|g' \"$f\")",
|
|
178
|
+
"Bash(grep -rn '../../../audio-lena/' /Users/div/projects/audio-decode/packages/*/test.js)",
|
|
179
|
+
"Bash(node -e \"import.meta.resolve\\(''audio-lena''\\)\")",
|
|
180
|
+
"Bash(node -e \"console.log\\(import.meta.resolve\\(''audio-lena''\\)\\)\")",
|
|
181
|
+
"Bash(grep -rn \"import.meta.resolve\\(''''audio-lena''''\\)\" /Users/div/projects/audio-decode/packages/*/test.js)",
|
|
182
|
+
"Bash(sed -i '' \"s|new URL\\(''./fixtures/\\\\\\(.*\\\\\\)'', import.meta.resolve\\(''audio-lena''\\)\\)|new URL\\(''./fixtures/\\\\1'', import.meta.url\\)|g\" \"$f\")",
|
|
183
|
+
"Bash(sed -i '' \"s|new URL\\(''./fixtures/'', import.meta.resolve\\(''audio-lena''\\)\\)|new URL\\(''./fixtures/'', import.meta.url\\)|g\" \"$f\")",
|
|
184
|
+
"Bash(echo \"=== $pkg ===\")",
|
|
185
|
+
"Read(//Users/div/projects/audio-decode/packages/$pkg/**)",
|
|
186
|
+
"Bash(ls /Users/div/projects/audio-decode/packages/amr-decode/src/*.cjs /Users/div/projects/audio-decode/packages/wma-decode/src/*.cjs)",
|
|
187
|
+
"Bash(node /tmp/reproduce-aac.mjs)",
|
|
188
|
+
"Bash(npm whoami *)",
|
|
189
|
+
"Bash(npm publish *)",
|
|
190
|
+
"Bash(file fixtures/*.m4a)",
|
|
191
|
+
"Bash(xxd fixtures/hk.m4a)",
|
|
192
|
+
"Bash(node /Users/div/projects/audio-decode/packages/decode-aac/test.js)",
|
|
193
|
+
"Bash(node /Users/div/projects/audio-decode/test.js)"
|
|
194
|
+
],
|
|
195
|
+
"additionalDirectories": [
|
|
196
|
+
"/Users/div/projects/aac-decode/src",
|
|
197
|
+
"/Users/div/projects/aac-decode",
|
|
198
|
+
"/Users/div/projects/audio-type",
|
|
199
|
+
"/Users/div",
|
|
200
|
+
"/Users/div/projects/audio-decode",
|
|
201
|
+
"/Users/div/projects/audio-decode/packages/*"
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -1,31 +1,22 @@
|
|
|
1
|
-
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
|
|
2
|
-
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
|
|
3
|
-
|
|
4
1
|
name: test
|
|
5
2
|
|
|
6
3
|
on:
|
|
7
4
|
push:
|
|
8
|
-
branches: [
|
|
5
|
+
branches: [master]
|
|
9
6
|
pull_request:
|
|
10
|
-
branches: [
|
|
7
|
+
branches: [master]
|
|
11
8
|
|
|
12
9
|
jobs:
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
test:
|
|
15
11
|
runs-on: ubuntu-latest
|
|
16
|
-
|
|
17
12
|
strategy:
|
|
18
13
|
matrix:
|
|
19
|
-
node-version: [
|
|
20
|
-
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
21
|
-
|
|
14
|
+
node-version: [20.x, 22.x]
|
|
22
15
|
steps:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
- run: npm run build --if-present
|
|
31
|
-
- run: npm test
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: ${{ matrix.node-version }}
|
|
20
|
+
cache: npm
|
|
21
|
+
- run: npm ci
|
|
22
|
+
- run: npm test
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[submodule "packages/decode-aac/lib/faad2"]
|
|
2
|
+
path = packages/decode-aac/lib/faad2
|
|
3
|
+
url = https://github.com/knik0/faad2.git
|
|
4
|
+
[submodule "packages/decode-wma/lib/rockbox-wma"]
|
|
5
|
+
path = packages/decode-wma/lib/rockbox-wma
|
|
6
|
+
url = https://github.com/xOpenLee/wmaDecode.git
|
|
7
|
+
[submodule "packages/decode-amr/lib/opencore-amr"]
|
|
8
|
+
path = packages/decode-amr/lib/opencore-amr
|
|
9
|
+
url = https://git.code.sf.net/p/opencore-amr/code
|
|
@@ -1,14 +1,52 @@
|
|
|
1
|
-
|
|
1
|
+
export interface AudioData {
|
|
2
|
+
channelData: Float32Array[];
|
|
3
|
+
sampleRate: number;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface StreamDecoder {
|
|
7
|
+
/** Feed a chunk of encoded audio data, or call empty to flush + free. */
|
|
8
|
+
(chunk?: Uint8Array): Promise<AudioData>;
|
|
9
|
+
/** Flush without freeing. */
|
|
10
|
+
flush(): Promise<AudioData>;
|
|
11
|
+
/** Free resources without flushing. */
|
|
12
|
+
free(): void;
|
|
13
|
+
}
|
|
2
14
|
|
|
3
|
-
|
|
15
|
+
type Format = 'mp3' | 'flac' | 'opus' | 'oga' | 'm4a' | 'wav' | 'qoa' | 'aac' | 'aiff' | 'caf' | 'webm' | 'amr' | 'wma';
|
|
4
16
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
flac: (buf: Uint8Array) => Promise<AudioBuffer>;
|
|
9
|
-
opus: (buf: Uint8Array) => Promise<AudioBuffer>;
|
|
10
|
-
wav: (buf: Uint8Array) => Promise<AudioBuffer>;
|
|
11
|
-
qoa: (buf: Uint8Array) => Promise<AudioBuffer>;
|
|
17
|
+
interface FormatDecoder {
|
|
18
|
+
/** Create a decoder instance. */
|
|
19
|
+
(): Promise<StreamDecoder>;
|
|
12
20
|
}
|
|
13
21
|
|
|
14
|
-
|
|
22
|
+
/** Whole-file decode: auto-detects format. */
|
|
23
|
+
declare function decode(buf: ArrayBuffer | Uint8Array): Promise<AudioData>;
|
|
24
|
+
/** Chunked decode from stream or async iterable. */
|
|
25
|
+
declare function decode(
|
|
26
|
+
source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>,
|
|
27
|
+
format: Format
|
|
28
|
+
): AsyncGenerator<AudioData>;
|
|
29
|
+
|
|
30
|
+
declare namespace decode {
|
|
31
|
+
export const mp3: FormatDecoder;
|
|
32
|
+
export const flac: FormatDecoder;
|
|
33
|
+
export const opus: FormatDecoder;
|
|
34
|
+
export const oga: FormatDecoder;
|
|
35
|
+
export const m4a: FormatDecoder;
|
|
36
|
+
export const wav: FormatDecoder;
|
|
37
|
+
export const qoa: FormatDecoder;
|
|
38
|
+
export const aac: FormatDecoder;
|
|
39
|
+
export const aiff: FormatDecoder;
|
|
40
|
+
export const caf: FormatDecoder;
|
|
41
|
+
export const webm: FormatDecoder;
|
|
42
|
+
export const amr: FormatDecoder;
|
|
43
|
+
export const wma: FormatDecoder;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default decode;
|
|
47
|
+
|
|
48
|
+
/** Chunked decode from stream or async iterable. */
|
|
49
|
+
export function decodeChunked(
|
|
50
|
+
source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>,
|
|
51
|
+
format: Format
|
|
52
|
+
): AsyncGenerator<AudioData>;
|