@modplayjs/stb-vorbis 0.0.0-stage → 0.2.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/stream.js ADDED
@@ -0,0 +1,233 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ // Ported from stb_vorbis.c (public domain, Sean Barrett) — stream, Ogg page
3
+ // and packet layers (memory-source, pull API).
4
+ // get8 / get32 / getn / skip (stb_vorbis.c:1346-1404)
5
+ export function get8(z) {
6
+ if (z.streamPos >= z.streamEnd) {
7
+ z.eof = true;
8
+ return 0;
9
+ }
10
+ return z.stream[z.streamPos++];
11
+ }
12
+ export function get32(z) {
13
+ let x = get8(z);
14
+ x += get8(z) << 8;
15
+ x += get8(z) << 16;
16
+ x += get8(z) << 24;
17
+ return x >>> 0;
18
+ }
19
+ export function getn(z, data, n) {
20
+ if (z.streamPos + n > z.streamEnd) {
21
+ z.eof = true;
22
+ return false;
23
+ }
24
+ data.set(z.stream.subarray(z.streamPos, z.streamPos + n), 0);
25
+ z.streamPos += n;
26
+ return true;
27
+ }
28
+ export function skip(z, n) {
29
+ z.streamPos += n;
30
+ if (z.streamPos >= z.streamEnd)
31
+ z.eof = true;
32
+ }
33
+ export function getFileOffset(z) {
34
+ return z.streamPos;
35
+ }
36
+ export function setFileOffset(z, loc) {
37
+ z.eof = false;
38
+ if (loc >= z.streamLen) {
39
+ z.streamPos = z.streamEnd;
40
+ z.eof = true;
41
+ return false;
42
+ }
43
+ z.streamPos = z.streamStart + loc;
44
+ return true;
45
+ }
46
+ // Ogg page layer (stb_vorbis.c:1438-1566)
47
+ function capturePattern(z) {
48
+ if (0x4f !== get8(z))
49
+ return false;
50
+ if (0x67 !== get8(z))
51
+ return false;
52
+ if (0x67 !== get8(z))
53
+ return false;
54
+ if (0x53 !== get8(z))
55
+ return false;
56
+ return true;
57
+ }
58
+ const PAGEFLAG_continued_packet = 1;
59
+ const PAGEFLAG_first_page = 2;
60
+ const PAGEFLAG_last_page = 4;
61
+ export function startPageNoCapturePattern(z) {
62
+ if (z.firstDecode) {
63
+ z.firstAudioPageOffset = getFileOffset(z) - 4;
64
+ }
65
+ if (0 !== get8(z)) {
66
+ return error(z, 2);
67
+ }
68
+ z.pageFlag = get8(z);
69
+ const loc0 = get32(z);
70
+ const loc1 = get32(z);
71
+ get32(z); // stream serial — discard
72
+ const n = get32(z);
73
+ z.lastPage = n;
74
+ get32(z); // crc32
75
+ z.segmentCount = get8(z);
76
+ if (!getn(z, z.segments, z.segmentCount))
77
+ return error(z, 10);
78
+ z.endSegWithKnownLoc = -2;
79
+ if (loc0 !== 0xffffffff || loc1 !== 0xffffffff) {
80
+ let i = z.segmentCount - 1;
81
+ for (; i >= 0; --i)
82
+ if (z.segments[i] < 255)
83
+ break;
84
+ if (i >= 0) {
85
+ z.endSegWithKnownLoc = i;
86
+ z.knownLocForPacket = loc0;
87
+ }
88
+ }
89
+ z.nextSeg = 0;
90
+ return true;
91
+ }
92
+ export function error(z, e) {
93
+ z.error = e;
94
+ return false;
95
+ }
96
+ export function startPage(z) {
97
+ if (!capturePattern(z))
98
+ return error(z, 30);
99
+ return startPageNoCapturePattern(z);
100
+ }
101
+ export function startPacket(z) {
102
+ while (z.nextSeg === -1) {
103
+ if (!startPage(z))
104
+ return false;
105
+ if (z.pageFlag & PAGEFLAG_continued_packet)
106
+ return error(z, 9);
107
+ }
108
+ z.lastSeg = false;
109
+ z.validBits = 0;
110
+ z.packetBytes = 0;
111
+ z.bytesInSeg = 0;
112
+ return true;
113
+ }
114
+ export function maybeStartPacket(z) {
115
+ if (z.nextSeg === -1) {
116
+ const x = get8(z);
117
+ if (z.eof)
118
+ return false;
119
+ if (0x4f !== x)
120
+ return error(z, 30);
121
+ if (0x67 !== get8(z))
122
+ return error(z, 30);
123
+ if (0x67 !== get8(z))
124
+ return error(z, 30);
125
+ if (0x53 !== get8(z))
126
+ return error(z, 30);
127
+ if (!startPageNoCapturePattern(z))
128
+ return false;
129
+ if (z.pageFlag & PAGEFLAG_continued_packet) {
130
+ z.lastSeg = false;
131
+ z.bytesInSeg = 0;
132
+ return error(z, 9);
133
+ }
134
+ }
135
+ return startPacket(z);
136
+ }
137
+ export function nextSegment(z) {
138
+ if (z.lastSeg)
139
+ return 0;
140
+ if (z.nextSeg === -1) {
141
+ z.lastSegWhich = z.segmentCount - 1;
142
+ if (!startPage(z)) {
143
+ z.lastSeg = true;
144
+ return 0;
145
+ }
146
+ if (!(z.pageFlag & PAGEFLAG_continued_packet)) {
147
+ error(z, 9);
148
+ return 0;
149
+ }
150
+ }
151
+ const len = z.segments[z.nextSeg++];
152
+ if (len < 255) {
153
+ z.lastSeg = true;
154
+ z.lastSegWhich = z.nextSeg - 1;
155
+ }
156
+ if (z.nextSeg >= z.segmentCount)
157
+ z.nextSeg = -1;
158
+ z.bytesInSeg = len;
159
+ return len;
160
+ }
161
+ export const EOP = -1;
162
+ export const INVALID_BITS = -1;
163
+ export function get8PacketRaw(z) {
164
+ if (z.bytesInSeg === 0) {
165
+ if (z.lastSeg)
166
+ return EOP;
167
+ else if (!nextSegment(z))
168
+ return EOP;
169
+ }
170
+ if (z.bytesInSeg > 0)
171
+ --z.bytesInSeg;
172
+ ++z.packetBytes;
173
+ return get8(z);
174
+ }
175
+ export function get8Packet(z) {
176
+ const x = get8PacketRaw(z);
177
+ z.validBits = 0;
178
+ return x;
179
+ }
180
+ export function get32Packet(z) {
181
+ let x = get8Packet(z);
182
+ x += get8Packet(z) << 8;
183
+ x += get8Packet(z) << 16;
184
+ x += get8Packet(z) << 24;
185
+ return x >>> 0;
186
+ }
187
+ export function flushPacket(z) {
188
+ while (get8PacketRaw(z) !== EOP) { /* drain */ }
189
+ }
190
+ // get_bits (stb_vorbis.c:1608-1662)
191
+ export function getBits(z, n) {
192
+ if (z.validBits < 0)
193
+ return 0;
194
+ if (z.validBits < n) {
195
+ if (n > 24) {
196
+ const zz = getBits(z, 24);
197
+ return (zz + (getBits(z, n - 24) << 24)) >>> 0;
198
+ }
199
+ if (z.validBits === 0)
200
+ z.acc = 0;
201
+ while (z.validBits < n) {
202
+ const b = get8PacketRaw(z);
203
+ if (b === EOP) {
204
+ z.validBits = INVALID_BITS;
205
+ return 0;
206
+ }
207
+ z.acc = (z.acc + (b << z.validBits)) >>> 0;
208
+ z.validBits += 8;
209
+ }
210
+ }
211
+ const mask = (1 << n) - 1;
212
+ const zz = (z.acc & mask) >>> 0;
213
+ z.acc = (z.acc >>> n) >>> 0;
214
+ z.validBits -= n;
215
+ return zz;
216
+ }
217
+ export function prepHuffman(z) {
218
+ if (z.validBits <= 24) {
219
+ if (z.validBits === 0)
220
+ z.acc = 0;
221
+ do {
222
+ if (z.lastSeg && z.bytesInSeg === 0)
223
+ return;
224
+ const b = get8PacketRaw(z);
225
+ if (b === EOP)
226
+ return;
227
+ z.acc = (z.acc + (b << z.validBits)) >>> 0;
228
+ z.validBits += 8;
229
+ } while (z.validBits <= 24);
230
+ }
231
+ }
232
+ export { PAGEFLAG_first_page, PAGEFLAG_last_page, PAGEFLAG_continued_packet };
233
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const INVERSE_DB_TABLE: number[];
2
+ //# sourceMappingURL=tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UAA6hH,CAAC"}
package/dist/tables.js ADDED
@@ -0,0 +1,4 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ // Tables auto-generated from reference/openmpt/include/stb_vorbis/stb_vorbis.c.
3
+ export const INVERSE_DB_TABLE = [1.0649863e-07, 1.1341951e-07, 1.2079015e-07, 1.2863978e-07, 1.3699951e-07, 1.4590251e-07, 1.5538408e-07, 1.6548181e-07, 1.7623575e-07, 1.8768855e-07, 1.9988561e-07, 2.1287530e-07, 2.2670913e-07, 2.4144197e-07, 2.5713223e-07, 2.7384213e-07, 2.9163793e-07, 3.1059021e-07, 3.3077411e-07, 3.5226968e-07, 3.7516214e-07, 3.9954229e-07, 4.2550680e-07, 4.5315863e-07, 4.8260743e-07, 5.1396998e-07, 5.4737065e-07, 5.8294187e-07, 6.2082472e-07, 6.6116941e-07, 7.0413592e-07, 7.4989464e-07, 7.9862701e-07, 8.5052630e-07, 9.0579828e-07, 9.6466216e-07, 1.0273513e-06, 1.0941144e-06, 1.1652161e-06, 1.2409384e-06, 1.3215816e-06, 1.4074654e-06, 1.4989305e-06, 1.5963394e-06, 1.7000785e-06, 1.8105592e-06, 1.9282195e-06, 2.0535261e-06, 2.1869758e-06, 2.3290978e-06, 2.4804557e-06, 2.6416497e-06, 2.8133190e-06, 2.9961443e-06, 3.1908506e-06, 3.3982101e-06, 3.6190449e-06, 3.8542308e-06, 4.1047004e-06, 4.3714470e-06, 4.6555282e-06, 4.9580707e-06, 5.2802740e-06, 5.6234160e-06, 5.9888572e-06, 6.3780469e-06, 6.7925283e-06, 7.2339451e-06, 7.7040476e-06, 8.2047000e-06, 8.7378876e-06, 9.3057248e-06, 9.9104632e-06, 1.0554501e-05, 1.1240392e-05, 1.1970856e-05, 1.2748789e-05, 1.3577278e-05, 1.4459606e-05, 1.5399272e-05, 1.6400004e-05, 1.7465768e-05, 1.8600792e-05, 1.9809576e-05, 2.1096914e-05, 2.2467911e-05, 2.3928002e-05, 2.5482978e-05, 2.7139006e-05, 2.8902651e-05, 3.0780908e-05, 3.2781225e-05, 3.4911534e-05, 3.7180282e-05, 3.9596466e-05, 4.2169667e-05, 4.4910090e-05, 4.7828601e-05, 5.0936773e-05, 5.4246931e-05, 5.7772202e-05, 6.1526565e-05, 6.5524908e-05, 6.9783085e-05, 7.4317983e-05, 7.9147585e-05, 8.4291040e-05, 8.9768747e-05, 9.5602426e-05, 0.00010181521, 0.00010843174, 0.00011547824, 0.00012298267, 0.00013097477, 0.00013948625, 0.00014855085, 0.00015820453, 0.00016848555, 0.00017943469, 0.00019109536, 0.00020351382, 0.00021673929, 0.00023082423, 0.00024582449, 0.00026179955, 0.00027881276, 0.00029693158, 0.00031622787, 0.00033677814, 0.00035866388, 0.00038197188, 0.00040679456, 0.00043323036, 0.00046138411, 0.00049136745, 0.00052329927, 0.00055730621, 0.00059352311, 0.00063209358, 0.00067317058, 0.00071691700, 0.00076350630, 0.00081312324, 0.00086596457, 0.00092223983, 0.00098217216, 0.0010459992, 0.0011139742, 0.0011863665, 0.0012634633, 0.0013455702, 0.0014330129, 0.0015261382, 0.0016253153, 0.0017309374, 0.0018434235, 0.0019632195, 0.0020908006, 0.0022266726, 0.0023713743, 0.0025254795, 0.0026895994, 0.0028643847, 0.0030505286, 0.0032487691, 0.0034598925, 0.0036847358, 0.0039241906, 0.0041792066, 0.0044507950, 0.0047400328, 0.0050480668, 0.0053761186, 0.0057254891, 0.0060975636, 0.0064938176, 0.0069158225, 0.0073652516, 0.0078438871, 0.0083536271, 0.0088964928, 0.009474637, 0.010090352, 0.010746080, 0.011444421, 0.012188144, 0.012980198, 0.013823725, 0.014722068, 0.015678791, 0.016697687, 0.017782797, 0.018938423, 0.020169149, 0.021479854, 0.022875735, 0.024362330, 0.025945531, 0.027631618, 0.029427276, 0.031339626, 0.033376252, 0.035545228, 0.037855157, 0.040315199, 0.042935108, 0.045725273, 0.048696758, 0.051861348, 0.055231591, 0.058820850, 0.062643361, 0.066714279, 0.071049749, 0.075666962, 0.080584227, 0.085821044, 0.091398179, 0.097337747, 0.10366330, 0.11039993, 0.11757434, 0.12521498, 0.13335215, 0.14201813, 0.15124727, 0.16107617, 0.17154380, 0.18269168, 0.19456402, 0.20720788, 0.22067342, 0.23501402, 0.25028656, 0.26655159, 0.28387361, 0.30232132, 0.32196786, 0.34289114, 0.36517414, 0.38890521, 0.41417847, 0.44109412, 0.46975890, 0.50028648, 0.53279791, 0.56742212, 0.60429640, 0.64356699, 0.68538959, 0.72993007, 0.77736504, 0.82788260, 0.88168307, 0.9389798, 1.0];
4
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC"}
@@ -0,0 +1,147 @@
1
+ export declare const MAX_BLOCKSIZE_LOG = 13;
2
+ export declare const MAX_BLOCKSIZE: number;
3
+ export declare const FAST_HUFFMAN_TABLE_SIZE: number;
4
+ export declare const FAST_HUFFMAN_TABLE_MASK: number;
5
+ export declare const STB_VORBIS_FAST_HUFFMAN_LENGTH = 10;
6
+ export declare const NO_CODE = 255;
7
+ export declare const VORBIS: {
8
+ no_error: number;
9
+ need_more_data: number;
10
+ invalid_stream_structure_version: number;
11
+ invalid_first_page: number;
12
+ invalid_stream: number;
13
+ missing_capture_pattern: number;
14
+ unexpected_eof: number;
15
+ continued_packet_flag_invalid: number;
16
+ invalid_setup: number;
17
+ outofmem: number;
18
+ feature_not_supported: number;
19
+ too_many_channels: number;
20
+ };
21
+ export interface Codebook {
22
+ dimensions: number;
23
+ entries: number;
24
+ codewordLengths: Uint8Array | null;
25
+ minimumValue: number;
26
+ deltaValue: number;
27
+ valueBits: number;
28
+ lookupType: number;
29
+ sequenceP: number;
30
+ sparse: number;
31
+ lookupValues: number;
32
+ multiplicands: Float32Array | null;
33
+ codewords: Uint32Array | null;
34
+ fastHuffman: Int32Array;
35
+ sortedCodewords: Uint32Array | null;
36
+ sortedValues: Int32Array | null;
37
+ sortedEntries: number;
38
+ }
39
+ export interface Floor0 {
40
+ order: number;
41
+ rate: number;
42
+ barkMapSize: number;
43
+ amplitudeBits: number;
44
+ amplitudeOffset: number;
45
+ numberOfBooks: number;
46
+ bookList: number[];
47
+ }
48
+ export interface Floor1 {
49
+ partitions: number;
50
+ partitionClassList: number[];
51
+ classDimensions: number[];
52
+ classSubclasses: number[];
53
+ classMasterbooks: number[];
54
+ subclassBooks: number[][];
55
+ Xlist: number[];
56
+ sortedOrder: number[];
57
+ neighbors: number[][];
58
+ floor1Multiplier: number;
59
+ rangebits: number;
60
+ values: number;
61
+ }
62
+ export interface Residue {
63
+ begin: number;
64
+ end: number;
65
+ partSize: number;
66
+ classifications: number;
67
+ classbook: number;
68
+ classdata: Uint8Array[] | null;
69
+ residueBooks: Int16Array[] | null;
70
+ }
71
+ export interface MappingChannel {
72
+ magnitude: number;
73
+ angle: number;
74
+ mux: number;
75
+ }
76
+ export interface Mapping {
77
+ couplingSteps: number;
78
+ chan: MappingChannel[];
79
+ submaps: number;
80
+ submapFloor: number[];
81
+ submapResidue: number[];
82
+ }
83
+ export interface Mode {
84
+ blockflag: number;
85
+ mapping: number;
86
+ windowtype: number;
87
+ transformtype: number;
88
+ }
89
+ export interface Vorb {
90
+ stream: Uint8Array;
91
+ streamStart: number;
92
+ streamEnd: number;
93
+ streamPos: number;
94
+ streamLen: number;
95
+ eof: boolean;
96
+ error: number;
97
+ sampleRate: number;
98
+ channels: number;
99
+ blocksize: number[];
100
+ blocksize0: number;
101
+ blocksize1: number;
102
+ codebookCount: number;
103
+ codebooks: Codebook[];
104
+ floorCount: number;
105
+ floorTypes: number[];
106
+ floor0Config: Floor0[];
107
+ floor1Config: Floor1[];
108
+ residueCount: number;
109
+ residueTypes: number[];
110
+ residueConfig: Residue[];
111
+ mappingCount: number;
112
+ mapping: Mapping[];
113
+ modeCount: number;
114
+ modeConfig: Mode[];
115
+ channelBuffers: Float32Array[];
116
+ outputs: Float32Array[];
117
+ previousWindow: Float32Array[];
118
+ previousLength: number;
119
+ finalY: Int16Array[];
120
+ currentLoc: number;
121
+ currentLocValid: boolean;
122
+ A: Float32Array[];
123
+ B: Float32Array[];
124
+ C: Float32Array[];
125
+ window: Float32Array[];
126
+ bitReverse: Uint16Array[];
127
+ firstDecode: boolean;
128
+ nextSeg: number;
129
+ lastSeg: boolean;
130
+ lastSegWhich: number;
131
+ acc: number;
132
+ validBits: number;
133
+ packetBytes: number;
134
+ endSegWithKnownLoc: number;
135
+ knownLocForPacket: number;
136
+ discardSamplesDeferred: number;
137
+ samplesOutput: number;
138
+ lastPage: number;
139
+ segmentCount: number;
140
+ segments: Uint8Array;
141
+ pageFlag: number;
142
+ bytesInSeg: number;
143
+ channelBufferStart: number;
144
+ channelBufferEnd: number;
145
+ firstAudioPageOffset: number;
146
+ }
147
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,25 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ // Ported from: OpenMPT's bundled stb_vorbis (reference/openmpt/include/
3
+ // stb_vorbis/stb_vorbis.c, public domain by Sean Barrett et al.).
4
+ // Memory-source pull-API subset: no stdio, no push mode, no seeking.
5
+ export const MAX_BLOCKSIZE_LOG = 13;
6
+ export const MAX_BLOCKSIZE = 1 << MAX_BLOCKSIZE_LOG;
7
+ export const FAST_HUFFMAN_TABLE_SIZE = 1 << 10; // STB_VORBIS_FAST_HUFFMAN_LENGTH = 10
8
+ export const FAST_HUFFMAN_TABLE_MASK = FAST_HUFFMAN_TABLE_SIZE - 1;
9
+ export const STB_VORBIS_FAST_HUFFMAN_LENGTH = 10;
10
+ export const NO_CODE = 255;
11
+ export const VORBIS = {
12
+ no_error: 0,
13
+ need_more_data: 1,
14
+ invalid_stream_structure_version: 2,
15
+ invalid_first_page: 4,
16
+ invalid_stream: 11,
17
+ missing_capture_pattern: 30,
18
+ unexpected_eof: 10,
19
+ continued_packet_flag_invalid: 9,
20
+ invalid_setup: 20,
21
+ outofmem: 14,
22
+ feature_not_supported: 26,
23
+ too_many_channels: 31,
24
+ };
25
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,wEAAwE;AACxE,kEAAkE;AAClE,qEAAqE;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,sCAAsC;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,GAAG,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,CAAC;IACX,cAAc,EAAE,CAAC;IACjB,gCAAgC,EAAE,CAAC;IACnC,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,EAAE;IAClB,uBAAuB,EAAE,EAAE;IAC3B,cAAc,EAAE,EAAE;IAClB,6BAA6B,EAAE,CAAC;IAChC,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,EAAE;IACZ,qBAAqB,EAAE,EAAE;IACzB,iBAAiB,EAAE,EAAE;CACtB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Vorb } from './types.js';
2
+ import { setFileOffset, getFileOffset, EOP, INVALID_BITS } from './stream.js';
3
+ import { ilog, bitReverse } from './codebook.js';
4
+ export declare function vorbisValidate(data: Uint8Array): boolean;
5
+ export declare function stbVorbisOpenMemory(data: Uint8Array, errorOut: {
6
+ v: number;
7
+ }): Vorb | null;
8
+ export declare function stbVorbisGetFrameFloat(f: Vorb, len: {
9
+ v: number;
10
+ }): Float32Array[] | null;
11
+ export { bitReverse, ilog, setFileOffset, getFileOffset, EOP, INVALID_BITS };
12
+ //# sourceMappingURL=vorbis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vorbis.d.ts","sourceRoot":"","sources":["../src/vorbis.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,IAAI,EAEV,MAAM,YAAY,CAAC;AACpB,OAAO,EAGW,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAChE,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,IAAI,EACkB,UAAU,EACjC,MAAM,eAAe,CAAC;AAavB,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAKxD;AAy2BD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,IAAI,CA6D1F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAgBzF;AAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC"}