Skip to content

Commit 7fe59ac

Browse files
committed
codec-atom manifests — encode halves for all 10 codecs
audio.js per package: { codec: fmt, encode(opts) → callable enc } adapting the { encode, flush, free } streaming shape (enc(chunk) → bytes, enc() → flush+free). Hosts merge with @audio/decode-* halves by format name. Minor bumps.
1 parent f4a8d90 commit 7fe59ac

20 files changed

Lines changed: 250 additions & 30 deletions

File tree

packages/encode-aac/audio.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// audio.js manifest — codec atom, encode half: opts → callable encoder
2+
// (enc(chunk) → bytes, enc() → flush+free), adapting the package's
3+
// { encode, flush, free } streaming shape. Hosts merge with the decode half
4+
// (@audio/decode-aac) by format name.
5+
6+
import init from './aac-encode.js'
7+
8+
export const aac = {
9+
codec: 'aac',
10+
encode: async (opts) => {
11+
const c = await init(opts)
12+
return (chunk) => {
13+
if (chunk) return c.encode(chunk)
14+
const out = c.flush()
15+
c.free?.()
16+
return out
17+
}
18+
},
19+
}

packages/encode-aac/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
{
22
"name": "@audio/encode-aac",
3-
"version": "1.0.0",
3+
"version": "1.1.0",
44
"description": "Encode PCM audio samples to AAC (ADTS) via WebCodecs",
55
"type": "module",
66
"main": "aac-encode.js",
77
"types": "aac-encode.d.ts",
88
"exports": {
99
".": "./aac-encode.js",
10+
"./audio": "./audio.js",
1011
"./package.json": "./package.json"
1112
},
1213
"files": [
1314
"aac-encode.js",
1415
"aac-encode.d.ts",
15-
"LICENSE"
16+
"LICENSE",
17+
"audio.js"
1618
],
1719
"keywords": [
1820
"aac",
@@ -41,5 +43,6 @@
4143
"bugs": "https://github.com/audiojs/encode/issues",
4244
"scripts": {
4345
"test": "node test.js"
44-
}
46+
},
47+
"audio": "./audio.js"
4548
}

packages/encode-aiff/audio.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// audio.js manifest — codec atom, encode half: opts → callable encoder
2+
// (enc(chunk) → bytes, enc() → flush+free), adapting the package's
3+
// { encode, flush, free } streaming shape. Hosts merge with the decode half
4+
// (@audio/decode-aiff) by format name.
5+
6+
import init from './aiff-encode.js'
7+
8+
export const aiff = {
9+
codec: 'aiff',
10+
encode: async (opts) => {
11+
const c = await init(opts)
12+
return (chunk) => {
13+
if (chunk) return c.encode(chunk)
14+
const out = c.flush()
15+
c.free?.()
16+
return out
17+
}
18+
},
19+
}

packages/encode-aiff/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
{
22
"name": "@audio/encode-aiff",
3-
"version": "1.1.1",
3+
"version": "1.2.0",
44
"description": "Encode PCM audio samples to AIFF format",
55
"type": "module",
66
"main": "aiff-encode.js",
77
"types": "aiff-encode.d.ts",
88
"exports": {
99
".": "./aiff-encode.js",
1010
"./meta": "./meta.js",
11+
"./audio": "./audio.js",
1112
"./package.json": "./package.json"
1213
},
1314
"files": [
1415
"aiff-encode.js",
1516
"aiff-encode.d.ts",
1617
"meta.js",
17-
"LICENSE"
18+
"LICENSE",
19+
"audio.js"
1820
],
1921
"keywords": [
2022
"aiff",
@@ -40,5 +42,6 @@
4042
"bugs": "https://github.com/audiojs/encode/issues",
4143
"scripts": {
4244
"test": "node test.js"
43-
}
45+
},
46+
"audio": "./audio.js"
4447
}

packages/encode-caf/audio.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// audio.js manifest — codec atom, encode half: opts → callable encoder
2+
// (enc(chunk) → bytes, enc() → flush+free), adapting the package's
3+
// { encode, flush, free } streaming shape. Hosts merge with the decode half
4+
// (@audio/decode-caf) by format name.
5+
6+
import init from './caf-encode.js'
7+
8+
export const caf = {
9+
codec: 'caf',
10+
encode: async (opts) => {
11+
const c = await init(opts)
12+
return (chunk) => {
13+
if (chunk) return c.encode(chunk)
14+
const out = c.flush()
15+
c.free?.()
16+
return out
17+
}
18+
},
19+
}

packages/encode-caf/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
{
22
"name": "@audio/encode-caf",
3-
"version": "1.0.0",
3+
"version": "1.1.0",
44
"description": "Encode PCM audio samples to CAF (Core Audio Format) LPCM",
55
"type": "module",
66
"main": "caf-encode.js",
77
"types": "caf-encode.d.ts",
88
"exports": {
99
".": "./caf-encode.js",
10+
"./audio": "./audio.js",
1011
"./package.json": "./package.json"
1112
},
1213
"files": [
1314
"caf-encode.js",
1415
"caf-encode.d.ts",
15-
"LICENSE"
16+
"LICENSE",
17+
"audio.js"
1618
],
1719
"keywords": [
1820
"caf",
@@ -40,5 +42,6 @@
4042
"bugs": "https://github.com/audiojs/encode/issues",
4143
"scripts": {
4244
"test": "node test.js"
43-
}
45+
},
46+
"audio": "./audio.js"
4447
}

packages/encode-flac/audio.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// audio.js manifest — codec atom, encode half: opts → callable encoder
2+
// (enc(chunk) → bytes, enc() → flush+free), adapting the package's
3+
// { encode, flush, free } streaming shape. Hosts merge with the decode half
4+
// (@audio/decode-flac) by format name.
5+
6+
import init from './flac-encode.js'
7+
8+
export const flac = {
9+
codec: 'flac',
10+
encode: async (opts) => {
11+
const c = await init(opts)
12+
return (chunk) => {
13+
if (chunk) return c.encode(chunk)
14+
const out = c.flush()
15+
c.free?.()
16+
return out
17+
}
18+
},
19+
}

packages/encode-flac/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
{
22
"name": "@audio/encode-flac",
3-
"version": "1.1.2",
3+
"version": "1.2.0",
44
"description": "Encode PCM audio samples to FLAC format via WASM",
55
"type": "module",
66
"main": "flac-encode.js",
77
"types": "flac-encode.d.ts",
88
"exports": {
99
".": "./flac-encode.js",
1010
"./meta": "./meta.js",
11+
"./audio": "./audio.js",
1112
"./package.json": "./package.json"
1213
},
1314
"files": [
1415
"flac-encode.js",
1516
"flac-encode.d.ts",
1617
"meta.js",
17-
"LICENSE"
18+
"LICENSE",
19+
"audio.js"
1820
],
1921
"keywords": [
2022
"flac",
@@ -44,5 +46,6 @@
4446
},
4547
"scripts": {
4648
"test": "node test.js"
47-
}
49+
},
50+
"audio": "./audio.js"
4851
}

packages/encode-mp3/audio.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// audio.js manifest — codec atom, encode half: opts → callable encoder
2+
// (enc(chunk) → bytes, enc() → flush+free), adapting the package's
3+
// { encode, flush, free } streaming shape. Hosts merge with the decode half
4+
// (@audio/decode-mp3) by format name.
5+
6+
import init from './mp3-encode.js'
7+
8+
export const mp3 = {
9+
codec: 'mp3',
10+
encode: async (opts) => {
11+
const c = await init(opts)
12+
return (chunk) => {
13+
if (chunk) return c.encode(chunk)
14+
const out = c.flush()
15+
c.free?.()
16+
return out
17+
}
18+
},
19+
}

packages/encode-mp3/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
{
22
"name": "@audio/encode-mp3",
3-
"version": "1.1.2",
3+
"version": "1.2.0",
44
"description": "Encode PCM audio samples to MP3 format via WASM",
55
"type": "module",
66
"main": "mp3-encode.js",
77
"types": "mp3-encode.d.ts",
88
"exports": {
99
".": "./mp3-encode.js",
1010
"./meta": "./meta.js",
11+
"./audio": "./audio.js",
1112
"./package.json": "./package.json"
1213
},
1314
"files": [
1415
"mp3-encode.js",
1516
"mp3-encode.d.ts",
1617
"meta.js",
17-
"LICENSE"
18+
"LICENSE",
19+
"audio.js"
1820
],
1921
"keywords": [
2022
"mp3",
@@ -46,5 +48,6 @@
4648
},
4749
"dependencies": {
4850
"wasm-media-encoders": "^0.7.0"
49-
}
51+
},
52+
"audio": "./audio.js"
5053
}

0 commit comments

Comments
 (0)