carta1 1.0.0 → 1.0.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/bin/cli.js +2 -2
- package/codec/browser/interface.js +4 -0
- package/codec/core/constants.js +37 -78
- package/codec/io/serialization.js +1 -1
- package/codec/transforms/qmf.js +1 -25
- package/dist/carta1-worker-interface.min.js +1 -1
- package/dist/carta1-worker-interface.min.js.map +1 -1
- package/dist/carta1-worker.min.js +1 -1
- package/dist/carta1-worker.min.js.map +1 -1
- package/dist/carta1.min.js +1 -1
- package/dist/carta1.min.js.map +1 -1
- package/package.json +1 -1
- /package/codec/{core → io}/bitstream.js +0 -0
package/bin/cli.js
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* real-time progress tracking and streaming processing.
|
|
9
9
|
*
|
|
10
10
|
* Usage:
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* carta1 --encode input.wav output.aea
|
|
12
|
+
* carta1 --decode input.aea output.wav
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { program } from 'commander'
|
package/codec/core/constants.js
CHANGED
|
@@ -35,21 +35,6 @@ export const SPECS_PER_BFU = new Int32Array([
|
|
|
35
35
|
|
|
36
36
|
export const BFU_AMOUNTS = new Int32Array([20, 28, 32, 36, 40, 44, 48, 52])
|
|
37
37
|
export const BFU_BAND_BOUNDARIES = new Int32Array([20, 36, 52])
|
|
38
|
-
export const BFU_TO_BAND = (() => {
|
|
39
|
-
const table = new Uint8Array(52)
|
|
40
|
-
for (let i = 0; i < BFU_BAND_BOUNDARIES[0]; i++) table[i] = 0
|
|
41
|
-
for (let i = BFU_BAND_BOUNDARIES[0]; i < BFU_BAND_BOUNDARIES[1]; i++)
|
|
42
|
-
table[i] = 1
|
|
43
|
-
for (let i = BFU_BAND_BOUNDARIES[1]; i < BFU_BAND_BOUNDARIES[2]; i++)
|
|
44
|
-
table[i] = 2
|
|
45
|
-
return table
|
|
46
|
-
})()
|
|
47
|
-
|
|
48
|
-
// Perceptually important bfus
|
|
49
|
-
export const CRITICAL_BFUS = new Uint8Array([
|
|
50
|
-
20, 21, 22, 19, 23, 18, 24, 17, 25, 16, 26, 15, 27, 14, 28, 32, 33, 34, 35,
|
|
51
|
-
36, 37, 38, 31, 30, 29,
|
|
52
|
-
])
|
|
53
38
|
|
|
54
39
|
// BFU center frequencies (Hz)
|
|
55
40
|
export const BFU_FREQUENCIES = new Float32Array([
|
|
@@ -81,21 +66,6 @@ export const MDCT_SIZE_SHORT = 64
|
|
|
81
66
|
export const MDCT_SIZE_MID = 256
|
|
82
67
|
export const MDCT_SIZE_LONG = 512
|
|
83
68
|
|
|
84
|
-
// Band sizes
|
|
85
|
-
export const BAND_SIZE_LOW = 128
|
|
86
|
-
export const BAND_SIZE_MID = 128
|
|
87
|
-
export const BAND_SIZE_HIGH = 256
|
|
88
|
-
|
|
89
|
-
// Window positions
|
|
90
|
-
export const WINDOW_START_LONG_HIGH = 112
|
|
91
|
-
export const WINDOW_START_LONG_MID = 48
|
|
92
|
-
export const WINDOW_START_SHORT = 0
|
|
93
|
-
|
|
94
|
-
// IMDCT overlap sizes
|
|
95
|
-
export const IMDCT_OVERLAP_SIZE = 16
|
|
96
|
-
export const IMDCT_QUARTER_SIZE = 4
|
|
97
|
-
export const IMDCT_SHORT_BLOCK_SIZE = 32
|
|
98
|
-
|
|
99
69
|
// Window functions
|
|
100
70
|
export const WINDOW_SHORT = (() => {
|
|
101
71
|
const table = new Float32Array(32)
|
|
@@ -105,11 +75,47 @@ export const WINDOW_SHORT = (() => {
|
|
|
105
75
|
return table
|
|
106
76
|
})()
|
|
107
77
|
|
|
108
|
-
// QMF
|
|
78
|
+
// QMF configuration
|
|
109
79
|
export const QMF_TAPS = 48
|
|
110
80
|
export const QMF_DELAY = 46
|
|
111
81
|
export const QMF_HIGH_BAND_DELAY = 39
|
|
112
82
|
|
|
83
|
+
// QMF prototype filter coefficients
|
|
84
|
+
export const QMF_COEFFS = new Float32Array([
|
|
85
|
+
-0.00001461907, -0.00009205479, -0.000056157569, 0.00030117269, 0.0002422519,
|
|
86
|
+
-0.00085293897, -0.0005205574, 0.0020340169, 0.00078333891, -0.0042153862,
|
|
87
|
+
-0.00075614988, 0.0078402944, -0.000061169922, -0.01344162, 0.0024626821,
|
|
88
|
+
0.021736089, -0.007801671, -0.034090221, 0.01880949, 0.054326009,
|
|
89
|
+
-0.043596379, -0.099384367, 0.13207909, 0.46424159,
|
|
90
|
+
])
|
|
91
|
+
|
|
92
|
+
// QMF window function
|
|
93
|
+
export const QMF_WINDOW = (() => {
|
|
94
|
+
const window = new Float32Array(QMF_TAPS)
|
|
95
|
+
for (let i = 0; i < 24; i++) {
|
|
96
|
+
window[i] = QMF_COEFFS[i] * 2.0
|
|
97
|
+
window[47 - i] = QMF_COEFFS[i] * 2.0
|
|
98
|
+
}
|
|
99
|
+
return window
|
|
100
|
+
})()
|
|
101
|
+
|
|
102
|
+
// QMF even/odd taps for optimization
|
|
103
|
+
export const QMF_EVEN = (() => {
|
|
104
|
+
const even = new Float32Array(24)
|
|
105
|
+
for (let i = 0; i < 24; i++) {
|
|
106
|
+
even[i] = QMF_WINDOW[i * 2]
|
|
107
|
+
}
|
|
108
|
+
return even
|
|
109
|
+
})()
|
|
110
|
+
|
|
111
|
+
export const QMF_ODD = (() => {
|
|
112
|
+
const odd = new Float32Array(24)
|
|
113
|
+
for (let i = 0; i < 24; i++) {
|
|
114
|
+
odd[i] = QMF_WINDOW[i * 2 + 1]
|
|
115
|
+
}
|
|
116
|
+
return odd
|
|
117
|
+
})()
|
|
118
|
+
|
|
113
119
|
// Quantization
|
|
114
120
|
export const MAX_WORD_LENGTH_INDEX = 15
|
|
115
121
|
export const WORD_LENGTH_BITS = new Int32Array([
|
|
@@ -155,19 +161,6 @@ export const BARK_SCALE = (() => {
|
|
|
155
161
|
return table
|
|
156
162
|
})()
|
|
157
163
|
|
|
158
|
-
export const ATH_LINEAR = (() => {
|
|
159
|
-
const table = new Float32Array(NUM_BFUS)
|
|
160
|
-
for (let i = 0; i < NUM_BFUS; i++) {
|
|
161
|
-
const freqKhz = BFU_FREQUENCIES[i] / 1000
|
|
162
|
-
const athDb =
|
|
163
|
-
3.64 * Math.pow(freqKhz, -0.8) -
|
|
164
|
-
6.5 * Math.exp(-0.6 * Math.pow(freqKhz - 3.3, 2)) +
|
|
165
|
-
1e-3 * Math.pow(freqKhz, 4)
|
|
166
|
-
table[i] = Math.pow(10, Math.max(-10, Math.min(96, athDb)) / 10)
|
|
167
|
-
}
|
|
168
|
-
return table
|
|
169
|
-
})()
|
|
170
|
-
|
|
171
164
|
export const SPREADING_MATRIX = (() => {
|
|
172
165
|
const matrix = new Float32Array(NUM_BFUS * NUM_BFUS)
|
|
173
166
|
for (let masker = 0; masker < NUM_BFUS; masker++) {
|
|
@@ -194,33 +187,17 @@ export const SPREADING_MATRIX = (() => {
|
|
|
194
187
|
// ISO/IEC 11172-3:1993 Psychoacoustic Model Constants
|
|
195
188
|
export const PSYMODEL_MIN_POWER_DB = -200
|
|
196
189
|
export const PSYMODEL_FFT_SIZE = 2048
|
|
197
|
-
export const PSYMODEL_INPUT_SIZE = 512
|
|
198
|
-
export const PSYMODEL_PN = 90.302
|
|
199
|
-
|
|
200
|
-
// Transient detection
|
|
201
|
-
export const TRANSIENT_DETECTION_THRESHOLD = 0.1
|
|
202
|
-
export const TRANSIENT_FLATNESS_EPSILON = 1e-10
|
|
203
190
|
|
|
204
191
|
// FFT sizes for transient detection
|
|
205
192
|
export const FFT_SIZE_LOW = 256
|
|
206
193
|
export const FFT_SIZE_MID = 256
|
|
207
194
|
export const FFT_SIZE_HIGH = 512
|
|
208
195
|
|
|
209
|
-
// Bit allocation
|
|
210
|
-
export const ALLOCATION_DIMINISHING_RETURNS_THRESHOLD = 0.1
|
|
211
|
-
export const ALLOCATION_MAX_ITERATIONS = 100
|
|
212
|
-
|
|
213
196
|
// Quantization
|
|
214
197
|
export const QUANTIZATION_SIGN_BIT_SHIFT = 1
|
|
215
|
-
export const QUANTIZATION_MAX_RANGE_SHIFT = 1
|
|
216
198
|
|
|
217
199
|
// WAV format
|
|
218
200
|
export const WAV_HEADER_SIZE = 44
|
|
219
|
-
export const WAV_RIFF_CHUNK_ID = 0x46464952
|
|
220
|
-
export const WAV_WAVE_FORMAT = 0x45564157
|
|
221
|
-
export const WAV_FMT_CHUNK_ID = 0x20746d66
|
|
222
|
-
export const WAV_DATA_CHUNK_ID = 0x61746164
|
|
223
|
-
export const WAV_PCM_FORMAT = 1
|
|
224
201
|
export const WAV_BYTES_PER_SAMPLE = 2
|
|
225
202
|
export const WAV_BITS_PER_SAMPLE = 16
|
|
226
203
|
export const WAV_PCM_MAX_POSITIVE = 0x7fff
|
|
@@ -232,11 +209,6 @@ export const FRAME_HEADER_BITS = 16
|
|
|
232
209
|
export const FRAME_WORD_LENGTH_BITS = 4
|
|
233
210
|
export const FRAME_SCALE_FACTOR_BITS = 6
|
|
234
211
|
|
|
235
|
-
// Display formatting
|
|
236
|
-
export const DISPLAY_HEADER_WIDTH = 64
|
|
237
|
-
export const DISPLAY_FRAME_WIDTH = 32
|
|
238
|
-
export const DISPLAY_FORMAT_WIDTH = 16
|
|
239
|
-
|
|
240
212
|
// Tonal analysis flags
|
|
241
213
|
export const PSYMODEL_NOT_EXAMINED = 0
|
|
242
214
|
export const PSYMODEL_TONAL = 1
|
|
@@ -247,19 +219,6 @@ export const PSYMODEL_IRRELEVANT = 3
|
|
|
247
219
|
export const PSYMODEL_LOG10_FACTOR = 10 / Math.LN10
|
|
248
220
|
export const PSYMODEL_POW10_FACTOR = Math.LN10 / 10
|
|
249
221
|
|
|
250
|
-
// Hann window for 512 samples (single-band psychoacoustics)
|
|
251
|
-
export const PSYMODEL_HANN_WINDOW = (() => {
|
|
252
|
-
const table = new Float32Array(512)
|
|
253
|
-
const normalizationFactor = Math.sqrt(8.0 / 3.0)
|
|
254
|
-
|
|
255
|
-
for (let i = 0; i < 512; i++) {
|
|
256
|
-
const hann = 0.5 * (1 - Math.cos((2 * Math.PI * i) / 512))
|
|
257
|
-
const normalized = hann * normalizationFactor
|
|
258
|
-
table[i] = Math.round(normalized * 10000) / 10000
|
|
259
|
-
}
|
|
260
|
-
return table
|
|
261
|
-
})()
|
|
262
|
-
|
|
263
222
|
// Critical band boundaries (0-24)
|
|
264
223
|
export const PSYMODEL_CRITICAL_BANDS = new Uint8Array([
|
|
265
224
|
0, 1, 2, 4, 5, 7, 8, 10, 12, 14, 16, 19, 22, 26, 31, 36, 44, 49, 54, 60, 67,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
FRAME_WORD_LENGTH_BITS,
|
|
27
27
|
FRAME_SCALE_FACTOR_BITS,
|
|
28
28
|
} from '../core/constants.js'
|
|
29
|
-
import { packBits, unpackBits, unpackSignedBits } from '
|
|
29
|
+
import { packBits, unpackBits, unpackSignedBits } from './bitstream.js'
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* Serializes encoded frame data into binary format
|
package/codec/transforms/qmf.js
CHANGED
|
@@ -6,33 +6,9 @@
|
|
|
6
6
|
* bands for independent processing and coding.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { QMF_DELAY, QMF_EVEN, QMF_ODD } from '../core/constants.js'
|
|
10
10
|
import { throwError } from '../utils.js'
|
|
11
11
|
|
|
12
|
-
// QMF prototype filter coefficients
|
|
13
|
-
const QMF_COEFFS = new Float32Array([
|
|
14
|
-
-0.00001461907, -0.00009205479, -0.000056157569, 0.00030117269, 0.0002422519,
|
|
15
|
-
-0.00085293897, -0.0005205574, 0.0020340169, 0.00078333891, -0.0042153862,
|
|
16
|
-
-0.00075614988, 0.0078402944, -0.000061169922, -0.01344162, 0.0024626821,
|
|
17
|
-
0.021736089, -0.007801671, -0.034090221, 0.01880949, 0.054326009,
|
|
18
|
-
-0.043596379, -0.099384367, 0.13207909, 0.46424159,
|
|
19
|
-
])
|
|
20
|
-
|
|
21
|
-
// Build full window
|
|
22
|
-
const QMF_WINDOW = new Float32Array(QMF_TAPS)
|
|
23
|
-
for (let i = 0; i < 24; i++) {
|
|
24
|
-
QMF_WINDOW[i] = QMF_COEFFS[i] * 2.0
|
|
25
|
-
QMF_WINDOW[47 - i] = QMF_COEFFS[i] * 2.0
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// Separate even/odd taps for optimization
|
|
29
|
-
const QMF_EVEN = new Float32Array(24)
|
|
30
|
-
const QMF_ODD = new Float32Array(24)
|
|
31
|
-
for (let i = 0; i < 24; i++) {
|
|
32
|
-
QMF_EVEN[i] = QMF_WINDOW[i * 2]
|
|
33
|
-
QMF_ODD[i] = QMF_WINDOW[i * 2 + 1]
|
|
34
|
-
}
|
|
35
|
-
|
|
36
12
|
/**
|
|
37
13
|
* Perform QMF analysis filtering to split input into low and high frequency bands
|
|
38
14
|
* @param {Float32Array} input - Input audio samples
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Carta1Worker=t():e.Carta1Worker=t()}(this,()=>(()=>{"use strict";var e={r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Carta1Worker=t():e.Carta1Worker=t()}(this,()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function u(r,n,i,a){var u=n&&n.prototype instanceof f?n:f,l=Object.create(u.prototype);return o(l,"_invoke",function(r,n,o){var i,a,u,f=0,l=o||[],s=!1,y={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,a=0,u=e,y.n=r,c}};function p(r,n){for(a=r,u=n,t=0;!s&&f&&!o&&t<l.length;t++){var o,i=l[t],p=y.p,b=i[2];r>3?(o=b===n)&&(u=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=r<2&&p<i[1])?(a=0,y.v=n,y.n=i[1]):p<b&&(o=r<3||i[0]>n||n>b)&&(i[4]=r,i[5]=n,y.n=b,a=0))}if(o||r>1)return c;throw s=!0,n}return function(o,l,b){if(f>1)throw TypeError("Generator is already running");for(s&&1===l&&p(l,b),a=l,u=b;(t=a<2?e:u)||!s;){i||(a?a<3?(a>1&&(y.n=-1),p(a,u)):y.n=u:y.v=u);try{if(f=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(s=y.n<0)?u:r.call(n,y))!==c)break}catch(t){i=e,a=1,u=t}finally{f=1}}return{value:t,done:s}}}(r,i,a),!0),l}var c={};function f(){}function l(){}function s(){}t=Object.getPrototypeOf;var y=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),p=s.prototype=f.prototype=Object.create(y);function b(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,o(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return l.prototype=s,o(p,"constructor",s),o(s,"constructor",l),l.displayName="GeneratorFunction",o(s,a,"GeneratorFunction"),o(p),o(p,a,"Generator"),o(p,i,function(){return this}),o(p,"toString",function(){return"[object Generator]"}),(n=function(){return{w:u,m:b}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){if(t)i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r;else{var a=function(t,r){o(e,t,function(e){return this._invoke(t,r,e)})};a("next",0),a("throw",1),a("return",2)}},o(e,t,r,n)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){u(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e,t,r){return(t=b(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){c(i,n,o,a,u,"next",e)}function u(e){c(i,n,o,a,u,"throw",e)}a(void 0)})}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,f=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(f)throw o}}return u}}(e,t)||s(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,b(n.key),n)}}function b(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}e.r(t),e.d(t,{Carta1Worker:()=>d,default:()=>d});var d=function(){return e=function e(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"carta1-worker.min.js";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.worker=new Worker(r),this.nextJobId=1,this.jobs=new Map,this.worker.onmessage=function(e){var r=e.data,n=r.jobId,o=r.error,i=r.result;if(n)if(t.jobs.has(n)){var a=t.jobs.get(n),u=a.resolve,c=a.reject;t.jobs.delete(n),o?c(new Error(o)):i?u(i):c(new Error("Worker returned no result"))}else console.warn("Received result for unknown job:",n);else console.warn("Received message without jobId:",e.data)},this.worker.onerror=function(e){console.error("Worker crashed:",e);var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=s(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(t.jobs);try{for(n.s();!(r=n.n()).done;)(0,l(r.value,2)[1].reject)(new Error("Worker crashed: "+e.message))}catch(e){n.e(e)}finally{n.f()}t.jobs.clear()}},t=[{key:"encode",value:(c=f(n().m(function e(t){var r,o,i=this,u=arguments;return n().w(function(e){for(;;)if(0===e.n)return r=u.length>1&&void 0!==u[1]?u[1]:{},o=this.nextJobId++,e.a(2,new Promise(function(e,n){i.jobs.set(o,{resolve:e,reject:n});try{var u=a({},r);i.worker.postMessage({jobId:o,type:"encode",pcmData:t,options:u})}catch(e){i.jobs.delete(o),n(e)}}))},e,this)})),function(e){return c.apply(this,arguments)})},{key:"decode",value:(u=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"decode",aea:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return u.apply(this,arguments)})},{key:"parseAeaBlob",value:(i=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"parseAea",blob:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return i.apply(this,arguments)})},{key:"getEncoderOptions",value:(o=f(n().m(function e(){var t,r=this;return n().w(function(e){for(;;)if(0===e.n)return t=this.nextJobId++,e.a(2,new Promise(function(e,n){r.jobs.set(t,{resolve:e,reject:n});try{r.worker.postMessage({jobId:t,type:"getEncoderOptions"})}catch(e){r.jobs.delete(t),n(e)}}))},e,this)})),function(){return o.apply(this,arguments)})},{key:"terminate",value:function(){this.worker&&(this.worker.terminate(),this.worker=null),this.jobs.clear()}}],t&&p(e.prototype,t),r&&p(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,o,i,u,c}();return"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define([],function(){return d}):"undefined"!=typeof window&&(window.Carta1Worker=d),t})());
|
|
2
2
|
//# sourceMappingURL=carta1-worker-interface.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carta1-worker-interface.min.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAsB,aAAID,IAE1BD,EAAmB,aAAIC,GACxB,CATD,CASGK,KAAM,I,mBCRT,IAAIC,EAAsB,CCA1BA,EAAyBL,IACH,oBAAXM,QAA0BA,OAAOC,aAC1CC,OAAOC,eAAeT,EAASM,OAAOC,YAAa,CAAEG,MAAO,WAE7DF,OAAOC,eAAeT,EAAS,aAAc,CAAEU,OAAO,M,0ZCJvD,IAAAC,EAAAC,EAAAC,EAAA,mBAAAP,OAAAA,OAAA,GAAAQ,EAAAD,EAAAE,UAAA,aAAAC,EAAAH,EAAAN,aAAA,yBAAAU,EAAAJ,EAAAC,EAAAE,EAAAC,GAAA,IAAAC,EAAAJ,GAAAA,EAAAK,qBAAAC,EAAAN,EAAAM,EAAAC,EAAAb,OAAAc,OAAAJ,EAAAC,WAAA,OAAAI,EAAAF,EAAA,mBAAAR,EAAAC,EAAAE,GAAA,IAAAC,EAAAC,EAAAG,EAAAG,EAAA,EAAAC,EAAAT,GAAA,GAAAU,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAX,EAAA,EAAAc,EAAAjB,EAAAkB,EAAAC,EAAAN,EAAAM,EAAAC,KAAApB,EAAA,GAAAmB,EAAA,SAAAlB,EAAAC,GAAA,OAAAI,EAAAL,EAAAM,EAAA,EAAAG,EAAAV,EAAAgB,EAAAb,EAAAD,EAAAgB,CAAA,YAAAC,EAAAjB,EAAAC,GAAA,IAAAI,EAAAL,EAAAQ,EAAAP,EAAAF,EAAA,GAAAc,GAAAF,IAAAR,GAAAJ,EAAAa,EAAAO,OAAApB,IAAA,KAAAI,EAAAC,EAAAQ,EAAAb,GAAAkB,EAAAH,EAAAF,EAAAQ,EAAAhB,EAAA,GAAAJ,EAAA,GAAAG,EAAAiB,IAAAnB,KAAAO,EAAAJ,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAN,GAAAM,EAAA,IAAAa,KAAAd,EAAAH,EAAA,GAAAiB,EAAAb,EAAA,KAAAC,EAAA,EAAAS,EAAAC,EAAAd,EAAAa,EAAAb,EAAAG,EAAA,IAAAa,EAAAG,IAAAjB,EAAAH,EAAA,GAAAI,EAAA,GAAAH,GAAAA,EAAAmB,KAAAhB,EAAA,GAAAJ,EAAAI,EAAA,GAAAH,EAAAa,EAAAb,EAAAmB,EAAAf,EAAA,OAAAF,GAAAH,EAAA,SAAAgB,EAAA,MAAAH,GAAA,EAAAZ,CAAA,iBAAAE,EAAAS,EAAAQ,GAAA,GAAAT,EAAA,QAAAU,UAAA,oCAAAR,GAAA,IAAAD,GAAAK,EAAAL,EAAAQ,GAAAf,EAAAO,EAAAJ,EAAAY,GAAArB,EAAAM,EAAA,EAAAP,EAAAU,KAAAK,GAAA,CAAAT,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAS,EAAAb,GAAA,GAAAgB,EAAAZ,EAAAG,IAAAM,EAAAb,EAAAO,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAP,EAAA,IAAAC,IAAAF,EAAA,QAAAJ,EAAAK,EAAAD,GAAA,MAAAJ,EAAAA,EAAAuB,KAAAlB,EAAAI,IAAA,MAAAa,UAAA,wCAAAtB,EAAAwB,KAAA,OAAAxB,EAAAS,EAAAT,EAAAF,MAAAQ,EAAA,IAAAA,EAAA,YAAAA,IAAAN,EAAAK,EAAA,SAAAL,EAAAuB,KAAAlB,GAAAC,EAAA,IAAAG,EAAAa,UAAA,oCAAAlB,EAAA,YAAAE,EAAA,GAAAD,EAAAN,CAAA,UAAAC,GAAAc,EAAAC,EAAAb,EAAA,GAAAO,EAAAR,EAAAsB,KAAArB,EAAAa,MAAAE,EAAA,YAAAjB,GAAAK,EAAAN,EAAAO,EAAA,EAAAG,EAAAT,CAAA,SAAAY,EAAA,UAAAd,MAAAE,EAAAwB,KAAAV,EAAA,GAAAb,EAAAG,EAAAC,IAAA,GAAAI,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAiB,IAAA,UAAAC,IAAA,CAAA1B,EAAAJ,OAAA+B,eAAA,IAAArB,EAAA,GAAAJ,GAAAF,EAAAA,EAAA,GAAAE,QAAAS,EAAAX,EAAA,GAAAE,EAAA,yBAAAF,GAAAS,EAAAiB,EAAAnB,UAAAC,EAAAD,UAAAX,OAAAc,OAAAJ,GAAA,SAAAM,EAAAb,GAAA,OAAAH,OAAAgC,eAAAhC,OAAAgC,eAAA7B,EAAA2B,IAAA3B,EAAA8B,UAAAH,EAAAf,EAAAZ,EAAAK,EAAA,sBAAAL,EAAAQ,UAAAX,OAAAc,OAAAD,GAAAV,CAAA,QAAA0B,EAAAlB,UAAAmB,EAAAf,EAAAF,EAAA,cAAAiB,GAAAf,EAAAe,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAnB,EAAAe,EAAAtB,EAAA,qBAAAO,EAAAF,GAAAE,EAAAF,EAAAL,EAAA,aAAAO,EAAAF,EAAAP,EAAA,yBAAAS,EAAAF,EAAA,oDAAAsB,EAAA,kBAAAC,EAAA3B,EAAA4B,EAAArB,EAAA,cAAAD,EAAAZ,EAAAE,EAAAC,EAAAF,GAAA,IAAAK,EAAAT,OAAAC,eAAA,IAAAQ,EAAA,gBAAAN,GAAAM,EAAA,EAAAM,EAAA,SAAAZ,EAAAE,EAAAC,EAAAF,GAAA,GAAAC,EAAAI,EAAAA,EAAAN,EAAAE,EAAA,CAAAH,MAAAI,EAAAgC,YAAAlC,EAAAmC,cAAAnC,EAAAoC,UAAApC,IAAAD,EAAAE,GAAAC,MAAA,KAAAE,EAAA,SAAAH,EAAAC,GAAAS,EAAAZ,EAAAE,EAAA,SAAAF,GAAA,YAAAsC,QAAApC,EAAAC,EAAAH,EAAA,IAAAK,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAO,EAAAZ,EAAAE,EAAAC,EAAAF,EAAA,UAAAsC,EAAAvC,EAAAE,GAAA,IAAAD,EAAAJ,OAAA2C,KAAAxC,GAAA,GAAAH,OAAA4C,sBAAA,KAAApC,EAAAR,OAAA4C,sBAAAzC,GAAAE,IAAAG,EAAAA,EAAAqC,OAAA,SAAAxC,GAAA,OAAAL,OAAA8C,yBAAA3C,EAAAE,GAAAiC,UAAA,IAAAlC,EAAA2C,KAAAC,MAAA5C,EAAAI,EAAA,QAAAJ,CAAA,UAAA6C,EAAA9C,GAAA,QAAAE,EAAA,EAAAA,EAAA6C,UAAA1B,OAAAnB,IAAA,KAAAD,EAAA,MAAA8C,UAAA7C,GAAA6C,UAAA7C,GAAA,GAAAA,EAAA,EAAAqC,EAAA1C,OAAAI,IAAA,GAAA+C,QAAA,SAAA9C,GAAA+C,EAAAjD,EAAAE,EAAAD,EAAAC,GAAA,GAAAL,OAAAqD,0BAAArD,OAAAsD,iBAAAnD,EAAAH,OAAAqD,0BAAAjD,IAAAsC,EAAA1C,OAAAI,IAAA+C,QAAA,SAAA9C,GAAAL,OAAAC,eAAAE,EAAAE,EAAAL,OAAA8C,yBAAA1C,EAAAC,GAAA,UAAAF,CAAA,UAAAiD,EAAAjD,EAAAE,EAAAD,GAAA,OAAAC,EAAAkD,EAAAlD,MAAAF,EAAAH,OAAAC,eAAAE,EAAAE,EAAA,CAAAH,MAAAE,EAAAkC,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAArC,EAAAE,GAAAD,EAAAD,CAAA,UAAAqD,EAAAlD,EAAAF,EAAAD,EAAAE,EAAAG,EAAAa,EAAAX,GAAA,QAAAD,EAAAH,EAAAe,GAAAX,GAAAG,EAAAJ,EAAAP,KAAA,OAAAI,GAAA,YAAAH,EAAAG,EAAA,CAAAG,EAAAmB,KAAAxB,EAAAS,GAAA4C,QAAAC,QAAA7C,GAAA8C,KAAAtD,EAAAG,EAAA,UAAAoD,EAAAtD,GAAA,sBAAAF,EAAA,KAAAD,EAAA+C,UAAA,WAAAO,QAAA,SAAApD,EAAAG,GAAA,IAAAa,EAAAf,EAAA0C,MAAA5C,EAAAD,GAAA,SAAA0D,EAAAvD,GAAAkD,EAAAnC,EAAAhB,EAAAG,EAAAqD,EAAAC,EAAA,OAAAxD,EAAA,UAAAwD,EAAAxD,GAAAkD,EAAAnC,EAAAhB,EAAAG,EAAAqD,EAAAC,EAAA,QAAAxD,EAAA,CAAAuD,OAAA,eAAAE,EAAA1D,EAAAF,GAAA,gBAAAE,GAAA,GAAA2D,MAAAC,QAAA5D,GAAA,OAAAA,CAAA,CAAA6D,CAAA7D,IAAA,SAAAA,EAAAoB,GAAA,IAAArB,EAAA,MAAAC,EAAA,yBAAAP,QAAAO,EAAAP,OAAAS,WAAAF,EAAA,uBAAAD,EAAA,KAAAD,EAAAG,EAAAG,EAAAI,EAAAQ,EAAA,GAAAL,GAAA,EAAAR,GAAA,SAAAC,GAAAL,EAAAA,EAAAuB,KAAAtB,IAAA8D,KAAA,IAAA1C,EAAA,IAAAzB,OAAAI,KAAAA,EAAA,OAAAY,GAAA,cAAAA,GAAAb,EAAAM,EAAAkB,KAAAvB,IAAAwB,QAAAP,EAAA0B,KAAA5C,EAAAD,OAAAmB,EAAAG,SAAAC,GAAAT,GAAA,UAAAX,GAAAG,GAAA,EAAAF,EAAAD,CAAA,iBAAAW,GAAA,MAAAZ,EAAA,SAAAS,EAAAT,EAAA,SAAAJ,OAAAa,KAAAA,GAAA,kBAAAL,EAAA,MAAAF,CAAA,SAAAe,CAAA,EAAA+C,CAAA/D,EAAAF,IAAAkE,EAAAhE,EAAAF,IAAA,qBAAAuB,UAAA,6IAAA4C,EAAA,UAAAD,EAAAhE,EAAAgB,GAAA,GAAAhB,EAAA,qBAAAA,EAAA,OAAAkE,EAAAlE,EAAAgB,GAAA,IAAAjB,EAAA,GAAAoE,SAAA7C,KAAAtB,GAAAoE,MAAA,uBAAArE,GAAAC,EAAAqE,cAAAtE,EAAAC,EAAAqE,YAAAC,MAAA,QAAAvE,GAAA,QAAAA,EAAA4D,MAAAY,KAAAvE,GAAA,cAAAD,GAAA,2CAAAyE,KAAAzE,GAAAmE,EAAAlE,EAAAgB,QAAA,YAAAkD,EAAAlE,EAAAgB,IAAA,MAAAA,GAAAA,EAAAhB,EAAAmB,UAAAH,EAAAhB,EAAAmB,QAAA,QAAArB,EAAA,EAAAG,EAAA0D,MAAA3C,GAAAlB,EAAAkB,EAAAlB,IAAAG,EAAAH,GAAAE,EAAAF,GAAA,OAAAG,CAAA,UAAAwE,EAAA3E,EAAAE,GAAA,QAAAD,EAAA,EAAAA,EAAAC,EAAAmB,OAAApB,IAAA,KAAAI,EAAAH,EAAAD,GAAAI,EAAA8B,WAAA9B,EAAA8B,aAAA,EAAA9B,EAAA+B,cAAA,YAAA/B,IAAAA,EAAAgC,UAAA,GAAAxC,OAAAC,eAAAE,EAAAoD,EAAA/C,EAAAuE,KAAAvE,EAAA,WAAA+C,EAAAnD,GAAA,IAAAK,EAAA,SAAAL,EAAAC,GAAA,aAAA2E,EAAA5E,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAAN,OAAAmF,aAAA,YAAA9E,EAAA,KAAAM,EAAAN,EAAAwB,KAAAvB,EAAAC,GAAA,wBAAA2E,EAAAvE,GAAA,OAAAA,EAAA,UAAAiB,UAAA,kEAAArB,EAAA6E,OAAAC,QAAA/E,EAAA,CAAAgF,CAAAhF,EAAA,0BAAA4E,EAAAvE,GAAAA,EAAAA,EAAA,G,OADA,IAgBM4E,EAAY,WA+ChB,OA9DFlF,EAqBE,SAAAkF,IAAiD,IAAAC,EAAA,KAArCC,EAAUrC,UAAA1B,OAAA,QAAAgE,IAAAtC,UAAA,GAAAA,UAAA,GAAG,wBArB3B,SAAA7B,EAAAf,GAAA,KAAAe,aAAAf,GAAA,UAAAoB,UAAA,qCAqBiD+D,CAAA,KAAAJ,GAC7CzF,KAAK8F,OAAS,IAAIC,OAAOJ,GACzB3F,KAAKgG,UAAY,EACjBhG,KAAKiG,KAAO,IAAIC,IAGhBlG,KAAK8F,OAAOK,UAAY,SAAC5F,GACvB,IAAA6F,EAAiC7F,EAAE8F,KAA3BC,EAAKF,EAALE,MAAOC,EAAKH,EAALG,MAAOC,EAAMJ,EAANI,OAEtB,GAAKF,EAKL,GAAIZ,EAAKO,KAAKQ,IAAIH,GAAQ,CACxB,IAAAI,EAA4BhB,EAAKO,KAAKU,IAAIL,GAAlCxC,EAAO4C,EAAP5C,QAAS8C,EAAMF,EAANE,OACjBlB,EAAKO,KAAI,OAAQK,GAEbC,EACFK,EAAO,IAAIC,MAAMN,IACRC,EACT1C,EAAQ0C,GAERI,EAAO,IAAIC,MAAM,6BAErB,MACEC,QAAQC,KAAK,mCAAoCT,QAhBjDQ,QAAQC,KAAK,kCAAmCxG,EAAE8F,KAkBtD,EAGArG,KAAK8F,OAAOkB,QAAU,SAACT,GACrBO,QAAQP,MAAM,kBAAmBA,GACjC,IACsCU,EADtCC,EAtDN,SAAAzG,EAAAF,GAAA,IAAAC,EAAA,oBAAAN,QAAAO,EAAAP,OAAAS,WAAAF,EAAA,kBAAAD,EAAA,IAAA4D,MAAAC,QAAA5D,KAAAD,EAAAiE,EAAAhE,KAAAF,GAAAE,GAAA,iBAAAA,EAAAmB,OAAA,CAAApB,IAAAC,EAAAD,GAAA,IAAA2G,EAAA,EAAAC,EAAA,oBAAAC,EAAAD,EAAA1G,EAAA,kBAAAyG,GAAA1G,EAAAmB,OAAA,CAAAI,MAAA,IAAAA,MAAA,EAAA1B,MAAAG,EAAA0G,KAAA,EAAA5G,EAAA,SAAAE,GAAA,MAAAA,CAAA,EAAAW,EAAAgG,EAAA,WAAAtF,UAAA,6IAAAlB,EAAAa,GAAA,EAAAR,GAAA,SAAAoG,EAAA,WAAA7G,EAAAA,EAAAuB,KAAAtB,EAAA,EAAAC,EAAA,eAAAD,EAAAD,EAAA+D,OAAA,OAAA9C,EAAAhB,EAAAuB,KAAAvB,CAAA,EAAAF,EAAA,SAAAE,GAAAQ,GAAA,EAAAL,EAAAH,CAAA,EAAAW,EAAA,eAAAK,GAAA,MAAAjB,EAAA,QAAAA,EAAA,oBAAAS,EAAA,MAAAL,CAAA,IAsDM0G,CAC6B5B,EAAKO,MAAI,IAAtC,IAAAiB,EAAAG,MAAAJ,EAAAC,EAAAxG,KAAAsB,OACE4E,EADsCzC,EAAA8C,EAAA3G,MAAA,GAAlB,GAANsG,QACP,IAAIC,MAAM,mBAAqBN,EAAMgB,SAC7C,OAAAC,GAAAN,EAAA3G,EAAAiH,EAAA,SAAAN,EAAA9F,GAAA,CACDsE,EAAKO,KAAKwB,OACZ,CACF,EA5DFhH,EA8DE,EAAA0E,IAAA,SAAA7E,OAAAoH,EAAA1D,EAAAzB,IAAAE,EAeA,SAAAkF,EAAaC,GAAO,IAAAC,EAAAvB,EAAAwB,EAAA,KAAAC,EAAAzE,UAAA,OAAAf,IAAAC,EAAA,SAAAwF,GAAA,cAAAA,EAAAtH,EACY,OADVmH,EAAOE,EAAAnG,OAAA,QAAAgE,IAAAmC,EAAA,GAAAA,EAAA,GAAG,CAAC,EACzBzB,EAAQtG,KAAKgG,YAAWgC,EAAAvG,EAAA,EACvB,IAAIoC,QAAQ,SAACC,EAAS8C,GAC3BkB,EAAK7B,KAAKgC,IAAI3B,EAAO,CAAExC,QAAAA,EAAS8C,OAAAA,IAChC,IAEE,IAAMsB,EAAY7E,EAAA,GAAQwE,GAC1BC,EAAKhC,OAAOqC,YAAY,CACtB7B,MAAAA,EACA8B,KAAM,SACNR,QAAAA,EACAC,QAASK,GAEb,CAAE,MAAO3B,GACPuB,EAAK7B,KAAI,OAAQK,GACjBM,EAAOL,EACT,CACF,GAAE,EAAAoB,EAAA,SACH,SAlBWU,GAAA,OAAAX,EAAAtE,MAAC,KAADE,UAAA,IAoBZ,CAAA6B,IAAA,SAAA7E,OAAAgI,EAAAtE,EAAAzB,IAAAE,EAWA,SAAA8F,EAAaC,GAAG,IAAAlC,EAAAmC,EAAA,YAAAlG,IAAAC,EAAA,SAAAkG,GAAA,cAAAA,EAAAhI,EACgB,OAAxB4F,EAAQtG,KAAKgG,YAAW0C,EAAAjH,EAAA,EACvB,IAAIoC,QAAQ,SAACC,EAAS8C,GAC3B6B,EAAKxC,KAAKgC,IAAI3B,EAAO,CAAExC,QAAAA,EAAS8C,OAAAA,IAChC,IACE6B,EAAK3C,OAAOqC,YAAY,CAAE7B,MAAAA,EAAO8B,KAAM,SAAUI,IAAAA,GACnD,CAAE,MAAOjC,GACPkC,EAAKxC,KAAI,OAAQK,GACjBM,EAAOL,EACT,CACF,GAAE,EAAAgC,EAAA,SACH,SAXWI,GAAA,OAAAL,EAAAlF,MAAC,KAADE,UAAA,IAaZ,CAAA6B,IAAA,eAAA7E,OAAAsI,EAAA5E,EAAAzB,IAAAE,EASA,SAAAoG,EAAmBC,GAAI,IAAAxC,EAAAyC,EAAA,YAAAxG,IAAAC,EAAA,SAAAwG,GAAA,cAAAA,EAAAtI,EACS,OAAxB4F,EAAQtG,KAAKgG,YAAWgD,EAAAvH,EAAA,EACvB,IAAIoC,QAAQ,SAACC,EAAS8C,GAC3BmC,EAAK9C,KAAKgC,IAAI3B,EAAO,CAAExC,QAAAA,EAAS8C,OAAAA,IAChC,IACEmC,EAAKjD,OAAOqC,YAAY,CAAE7B,MAAAA,EAAO8B,KAAM,WAAYU,KAAAA,GACrD,CAAE,MAAOvC,GACPwC,EAAK9C,KAAI,OAAQK,GACjBM,EAAOL,EACT,CACF,GAAE,EAAAsC,EAAA,SACH,SAXiBI,GAAA,OAAAL,EAAAxF,MAAC,KAADE,UAAA,IAalB,CAAA6B,IAAA,oBAAA7E,OAAA4I,EAAAlF,EAAAzB,IAAAE,EAKA,SAAA0G,IAAA,IAAA7C,EAAA8C,EAAA,YAAA7G,IAAAC,EAAA,SAAA6G,GAAA,cAAAA,EAAA3I,EACgC,OAAxB4F,EAAQtG,KAAKgG,YAAWqD,EAAA5H,EAAA,EACvB,IAAIoC,QAAQ,SAACC,EAAS8C,GAC3BwC,EAAKnD,KAAKgC,IAAI3B,EAAO,CAAExC,QAAAA,EAAS8C,OAAAA,IAChC,IACEwC,EAAKtD,OAAOqC,YAAY,CAAE7B,MAAAA,EAAO8B,KAAM,qBACzC,CAAE,MAAO7B,GACP6C,EAAKnD,KAAI,OAAQK,GACjBM,EAAOL,EACT,CACF,GAAE,EAAA4C,EAAA,SACH,WAXsB,OAAAD,EAAA9F,MAAC,KAADE,UAAA,IAavB,CAAA6B,IAAA,YAAA7E,MAKA,WACMN,KAAK8F,SACP9F,KAAK8F,OAAOwD,YACZtJ,KAAK8F,OAAS,MAEhB9F,KAAKiG,KAAKwB,OACZ,IA5KFhH,GAAAyE,EAAA3E,EAAAQ,UAAAN,GAAAD,GAAA0E,EAAA3E,EAAAC,GAAAJ,OAAAC,eAAAE,EAAA,aAAAqC,UAAA,IAAArC,EAAA,IAAAA,EAAAE,EAAAD,EA+IE0I,EAtBAN,EAxBAN,EAnCAZ,CA8GC,CA7Je,G,MAkKI,oBAAX7H,QAA0BA,OAAOD,QAC1CC,OAAOD,QAAU6F,EACU,mBAAX3F,QAAyBA,OAAOC,IAChDD,OAAO,GAAI,WACT,OAAO2F,CACT,GAC2B,oBAAX8D,SAEhBA,OAAO9D,aAAeA,G","sources":["webpack://Carta1Worker/webpack/universalModuleDefinition","webpack://Carta1Worker/webpack/bootstrap","webpack://Carta1Worker/webpack/runtime/make namespace object","webpack://Carta1Worker/./codec/browser/interface.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Carta1Worker\"] = factory();\n\telse\n\t\troot[\"Carta1Worker\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Carta1 Worker Interface - Client-side API\n *\n * Provides a clean async interface for encoding and decoding ATRAC1 audio\n * using Web Workers for non-blocking operation.\n *\n * Usage:\n * const codec = new Carta1Worker('carta1-worker.min.js')\n * const result = await codec.encode(pcmData, options)\n * codec.terminate()\n *\n * The worker path can be customized to match your deployment:\n * new Carta1Worker('/js/carta1-worker.min.js')\n * new Carta1Worker('https://cdn.example.com/carta1-worker.min.js')\n */\n\nclass Carta1Worker {\n /**\n * Create a new ATRAC1 codec worker\n *\n * @param {string} [workerPath='atrac1-worker.min.js'] - Path to the worker script\n */\n constructor(workerPath = 'carta1-worker.min.js') {\n this.worker = new Worker(workerPath)\n this.nextJobId = 1\n this.jobs = new Map()\n\n // Handle worker responses\n this.worker.onmessage = (e) => {\n const { jobId, error, result } = e.data\n\n if (!jobId) {\n console.warn('Received message without jobId:', e.data)\n return\n }\n\n if (this.jobs.has(jobId)) {\n const { resolve, reject } = this.jobs.get(jobId)\n this.jobs.delete(jobId)\n\n if (error) {\n reject(new Error(error))\n } else if (result) {\n resolve(result)\n } else {\n reject(new Error('Worker returned no result'))\n }\n } else {\n console.warn('Received result for unknown job:', jobId)\n }\n }\n\n // Handle worker errors\n this.worker.onerror = (error) => {\n console.error('Worker crashed:', error)\n // Reject all pending jobs\n for (const [, { reject }] of this.jobs) {\n reject(new Error('Worker crashed: ' + error.message))\n }\n this.jobs.clear()\n }\n }\n\n /**\n * Encode PCM audio to ATRAC1 format\n *\n * @param {Float32Array|Array<Float32Array>} pcmData - PCM audio data\n * - Mono: Float32Array\n * - Stereo: [left, right] Float32Arrays\n * @param {Object} [options={}] - Encoder options\n * @param {number} [options.transientThresholdLow] - Low band transient threshold\n * @param {number} [options.transientThresholdMid] - Mid band transient threshold\n * @param {number} [options.transientThresholdHigh] - High band transient threshold\n * @param {number} [options.normalizationDb] - Normalization level in dB\n * @returns {Promise<Object>} Encoding result\n * @returns {Blob} returns.aeaBlob - ATRAC1 encoded audio blob\n * @returns {Object} returns.shortBlockData - Short block frame indices\n */\n async encode(pcmData, options = {}) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n // Ensure plain object for serialization\n const plainOptions = { ...options }\n this.worker.postMessage({\n jobId,\n type: 'encode',\n pcmData,\n options: plainOptions,\n })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Decode ATRAC1 audio to PCM WAV format\n *\n * @param {Object} aea - ATRAC1 audio data\n * @param {Uint8Array} aea.header - AEA file header\n * @param {Array} aea.aeaData - Encoded frame data\n * @param {Object} [aea.info] - Optional metadata\n * @returns {Promise<Object>} Decoding result\n * @returns {Blob} returns.wavBlob - Decoded WAV audio blob\n * @returns {Object} returns.info - Audio metadata (channels, sample rate)\n */\n async decode(aea) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'decode', aea })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Parse AEA file blob to extract metadata and frame data\n *\n * @param {Blob} blob - AEA file blob\n * @returns {Promise<Object>} Parsed AEA data\n * @returns {Uint8Array} returns.header - AEA file header\n * @returns {Array} returns.aeaData - Encoded frame data\n * @returns {Object} returns.info - Metadata (title, channels, frames)\n */\n async parseAeaBlob(blob) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'parseAea', blob })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Get default encoder options metadata\n *\n * @returns {Promise<Object>} Default encoder options\n */\n async getEncoderOptions() {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'getEncoderOptions' })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Terminate the worker and clean up resources\n *\n * Call this when done using the codec to free memory\n */\n terminate() {\n if (this.worker) {\n this.worker.terminate()\n this.worker = null\n }\n this.jobs.clear()\n }\n}\n\n// Export for different module systems\n/* global define, window */\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Carta1Worker\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return Carta1Worker\n })\n} else if (typeof window !== 'undefined') {\n // Global export for browser\n window.Carta1Worker = Carta1Worker\n}\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","Symbol","toStringTag","Object","defineProperty","value","e","t","r","n","iterator","o","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","enumerable","configurable","writable","_invoke","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","_slicedToArray","Array","isArray","_arrayWithHoles","next","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","from","test","_defineProperties","key","_typeof","toPrimitive","String","Number","_toPrimitive","Carta1Worker","_this","workerPath","undefined","_classCallCheck","worker","Worker","nextJobId","jobs","Map","onmessage","_e$data","data","jobId","error","result","has","_this$jobs$get","get","reject","Error","console","warn","onerror","_step","_iterator","_n","F","s","_createForOfIteratorHelper","message","err","clear","_encode","_callee","pcmData","options","_this2","_args","_context","set","plainOptions","postMessage","type","_x","_decode","_callee2","aea","_this3","_context2","_x2","_parseAeaBlob","_callee3","blob","_this4","_context3","_x3","_getEncoderOptions","_callee4","_this5","_context4","terminate","window"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"carta1-worker-interface.min.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAsB,aAAID,IAE1BD,EAAmB,aAAIC,GACxB,CATD,CASGK,KAAM,I,mBCRT,IAAIC,EAAsB,CCA1BA,EAAwB,CAACL,EAASM,KACjC,IAAI,IAAIC,KAAOD,EACXD,EAAoBG,EAAEF,EAAYC,KAASF,EAAoBG,EAAER,EAASO,IAC5EE,OAAOC,eAAeV,EAASO,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EF,EAAwB,CAACQ,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFT,EAAyBL,IACH,oBAAXkB,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeV,EAASkB,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeV,EAAS,aAAc,CAAEoB,OAAO,M,0ZCJvD,IAAAC,EAAAC,EAAAC,EAAA,mBAAAL,OAAAA,OAAA,GAAAM,EAAAD,EAAAE,UAAA,aAAAjB,EAAAe,EAAAJ,aAAA,yBAAAO,EAAAH,EAAAC,EAAAhB,EAAAkB,GAAA,IAAAC,EAAAH,GAAAA,EAAAT,qBAAAa,EAAAJ,EAAAI,EAAAC,EAAApB,OAAAqB,OAAAH,EAAAZ,WAAA,OAAAgB,EAAAF,EAAA,mBAAAN,EAAAC,EAAAhB,GAAA,IAAAkB,EAAAC,EAAAE,EAAAG,EAAA,EAAAC,EAAAzB,GAAA,GAAA0B,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAT,EAAA,EAAAY,EAAAf,EAAAgB,EAAAC,EAAAN,EAAAM,EAAAC,KAAAlB,EAAA,GAAAiB,EAAA,SAAAhB,EAAAC,GAAA,OAAAG,EAAAJ,EAAAK,EAAA,EAAAE,EAAAR,EAAAc,EAAAX,EAAAD,EAAAc,CAAA,YAAAC,EAAAf,EAAAC,GAAA,IAAAG,EAAAJ,EAAAM,EAAAL,EAAAF,EAAA,GAAAY,GAAAF,IAAAxB,GAAAc,EAAAW,EAAAO,OAAAlB,IAAA,KAAAd,EAAAkB,EAAAO,EAAAX,GAAAgB,EAAAH,EAAAF,EAAAQ,EAAAf,EAAA,GAAAH,EAAA,GAAAf,EAAAiC,IAAAjB,KAAAK,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAL,GAAAK,EAAA,IAAAY,KAAA9B,EAAAe,EAAA,GAAAe,EAAAZ,EAAA,KAAAC,EAAA,EAAAQ,EAAAC,EAAAZ,EAAAW,EAAAX,EAAAE,EAAA,IAAAY,EAAAG,IAAAjC,EAAAe,EAAA,GAAAG,EAAA,GAAAF,GAAAA,EAAAiB,KAAAf,EAAA,GAAAH,EAAAG,EAAA,GAAAF,EAAAW,EAAAX,EAAAiB,EAAAd,EAAA,OAAAnB,GAAAe,EAAA,SAAAc,EAAA,MAAAH,GAAA,EAAAV,CAAA,iBAAAhB,EAAAyB,EAAAQ,GAAA,GAAAT,EAAA,QAAAU,UAAA,oCAAAR,GAAA,IAAAD,GAAAK,EAAAL,EAAAQ,GAAAd,EAAAM,EAAAJ,EAAAY,GAAAnB,EAAAK,EAAA,EAAAN,EAAAQ,KAAAK,GAAA,CAAAR,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAQ,EAAAX,GAAA,GAAAc,EAAAX,EAAAE,IAAAM,EAAAX,EAAAK,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAN,EAAA,IAAAC,IAAAnB,EAAA,QAAAc,EAAAI,EAAAlB,GAAA,MAAAc,EAAAA,EAAAL,KAAAS,EAAAG,IAAA,MAAAa,UAAA,wCAAApB,EAAAqB,KAAA,OAAArB,EAAAO,EAAAP,EAAAF,MAAAO,EAAA,IAAAA,EAAA,YAAAA,IAAAL,EAAAI,EAAA,SAAAJ,EAAAL,KAAAS,GAAAC,EAAA,IAAAE,EAAAa,UAAA,oCAAAlC,EAAA,YAAAmB,EAAA,GAAAD,EAAAL,CAAA,UAAAC,GAAAY,EAAAC,EAAAX,EAAA,GAAAK,EAAAN,EAAAN,KAAAO,EAAAW,MAAAE,EAAA,YAAAf,GAAAI,EAAAL,EAAAM,EAAA,EAAAE,EAAAP,CAAA,SAAAU,EAAA,UAAAZ,MAAAE,EAAAqB,KAAAT,EAAA,GAAAX,EAAAf,EAAAkB,IAAA,GAAAG,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAgB,IAAA,UAAAC,IAAA,CAAAvB,EAAAb,OAAAqC,eAAA,IAAAnB,EAAA,GAAAH,GAAAF,EAAAA,EAAA,GAAAE,QAAAO,EAAAT,EAAA,GAAAE,EAAA,yBAAAF,GAAAO,EAAAgB,EAAA9B,UAAAa,EAAAb,UAAAN,OAAAqB,OAAAH,GAAA,SAAAK,EAAAX,GAAA,OAAAZ,OAAAsC,eAAAtC,OAAAsC,eAAA1B,EAAAwB,IAAAxB,EAAA2B,UAAAH,EAAAd,EAAAV,EAAAb,EAAA,sBAAAa,EAAAN,UAAAN,OAAAqB,OAAAD,GAAAR,CAAA,QAAAuB,EAAA7B,UAAA8B,EAAAd,EAAAF,EAAA,cAAAgB,GAAAd,EAAAc,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAlB,EAAAc,EAAArC,EAAA,qBAAAuB,EAAAF,GAAAE,EAAAF,EAAArB,EAAA,aAAAuB,EAAAF,EAAAL,EAAA,yBAAAO,EAAAF,EAAA,oDAAAqB,EAAA,kBAAAC,EAAAzB,EAAA0B,EAAApB,EAAA,cAAAD,EAAAV,EAAAE,EAAAC,EAAAF,GAAA,IAAAI,EAAAjB,OAAAC,eAAA,IAAAgB,EAAA,gBAAAL,GAAAK,EAAA,EAAAK,EAAA,SAAAV,EAAAE,EAAAC,EAAAF,GAAA,GAAAC,EAAAG,EAAAA,EAAAL,EAAAE,EAAA,CAAAH,MAAAI,EAAAb,YAAAW,EAAA+B,cAAA/B,EAAAgC,UAAAhC,IAAAD,EAAAE,GAAAC,MAAA,KAAAhB,EAAA,SAAAe,EAAAC,GAAAO,EAAAV,EAAAE,EAAA,SAAAF,GAAA,YAAAkC,QAAAhC,EAAAC,EAAAH,EAAA,IAAAb,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAuB,EAAAV,EAAAE,EAAAC,EAAAF,EAAA,UAAAkC,EAAAnC,EAAAE,GAAA,IAAAD,EAAAb,OAAAgD,KAAApC,GAAA,GAAAZ,OAAAiD,sBAAA,KAAAlD,EAAAC,OAAAiD,sBAAArC,GAAAE,IAAAf,EAAAA,EAAAmD,OAAA,SAAApC,GAAA,OAAAd,OAAAmD,yBAAAvC,EAAAE,GAAAZ,UAAA,IAAAW,EAAAuC,KAAAC,MAAAxC,EAAAd,EAAA,QAAAc,CAAA,UAAAyC,EAAA1C,GAAA,QAAAE,EAAA,EAAAA,EAAAyC,UAAAxB,OAAAjB,IAAA,KAAAD,EAAA,MAAA0C,UAAAzC,GAAAyC,UAAAzC,GAAA,GAAAA,EAAA,EAAAiC,EAAA/C,OAAAa,IAAA,GAAA2C,QAAA,SAAA1C,GAAA2C,EAAA7C,EAAAE,EAAAD,EAAAC,GAAA,GAAAd,OAAA0D,0BAAA1D,OAAA2D,iBAAA/C,EAAAZ,OAAA0D,0BAAA7C,IAAAkC,EAAA/C,OAAAa,IAAA2C,QAAA,SAAA1C,GAAAd,OAAAC,eAAAW,EAAAE,EAAAd,OAAAmD,yBAAAtC,EAAAC,GAAA,UAAAF,CAAA,UAAA6C,EAAA7C,EAAAE,EAAAD,GAAA,OAAAC,EAAA8C,EAAA9C,MAAAF,EAAAZ,OAAAC,eAAAW,EAAAE,EAAA,CAAAH,MAAAE,EAAAX,YAAA,EAAA0C,cAAA,EAAAC,UAAA,IAAAjC,EAAAE,GAAAD,EAAAD,CAAA,UAAAiD,EAAA9C,EAAAF,EAAAD,EAAAE,EAAAf,EAAA6B,EAAAV,GAAA,QAAAD,EAAAF,EAAAa,GAAAV,GAAAE,EAAAH,EAAAN,KAAA,OAAAI,GAAA,YAAAH,EAAAG,EAAA,CAAAE,EAAAiB,KAAArB,EAAAO,GAAA0C,QAAAC,QAAA3C,GAAA4C,KAAAlD,EAAAf,EAAA,UAAAkE,EAAAlD,GAAA,sBAAAF,EAAA,KAAAD,EAAA2C,UAAA,WAAAO,QAAA,SAAAhD,EAAAf,GAAA,IAAA6B,EAAAb,EAAAsC,MAAAxC,EAAAD,GAAA,SAAAsD,EAAAnD,GAAA8C,EAAAjC,EAAAd,EAAAf,EAAAmE,EAAAC,EAAA,OAAApD,EAAA,UAAAoD,EAAApD,GAAA8C,EAAAjC,EAAAd,EAAAf,EAAAmE,EAAAC,EAAA,QAAApD,EAAA,CAAAmD,OAAA,eAAAE,EAAAtD,EAAAF,GAAA,gBAAAE,GAAA,GAAAuD,MAAAC,QAAAxD,GAAA,OAAAA,CAAA,CAAAyD,CAAAzD,IAAA,SAAAA,EAAAkB,GAAA,IAAAnB,EAAA,MAAAC,EAAA,yBAAAL,QAAAK,EAAAL,OAAAO,WAAAF,EAAA,uBAAAD,EAAA,KAAAD,EAAAG,EAAAE,EAAAG,EAAAQ,EAAA,GAAAL,GAAA,EAAAxB,GAAA,SAAAkB,GAAAJ,EAAAA,EAAAL,KAAAM,IAAA0D,KAAA,IAAAxC,EAAA,IAAAhC,OAAAa,KAAAA,EAAA,OAAAU,GAAA,cAAAA,GAAAX,EAAAK,EAAAT,KAAAK,IAAAqB,QAAAN,EAAAwB,KAAAxC,EAAAD,OAAAiB,EAAAG,SAAAC,GAAAT,GAAA,UAAAT,GAAAf,GAAA,EAAAgB,EAAAD,CAAA,iBAAAS,GAAA,MAAAV,EAAA,SAAAO,EAAAP,EAAA,SAAAb,OAAAoB,KAAAA,GAAA,kBAAArB,EAAA,MAAAgB,CAAA,SAAAa,CAAA,EAAA6C,CAAA3D,EAAAF,IAAA8D,EAAA5D,EAAAF,IAAA,qBAAAqB,UAAA,6IAAA0C,EAAA,UAAAD,EAAA5D,EAAAc,GAAA,GAAAd,EAAA,qBAAAA,EAAA,OAAA8D,EAAA9D,EAAAc,GAAA,IAAAf,EAAA,GAAAgE,SAAArE,KAAAM,GAAAgE,MAAA,uBAAAjE,GAAAC,EAAAiE,cAAAlE,EAAAC,EAAAiE,YAAAC,MAAA,QAAAnE,GAAA,QAAAA,EAAAwD,MAAAY,KAAAnE,GAAA,cAAAD,GAAA,2CAAAqE,KAAArE,GAAA+D,EAAA9D,EAAAc,QAAA,YAAAgD,EAAA9D,EAAAc,IAAA,MAAAA,GAAAA,EAAAd,EAAAiB,UAAAH,EAAAd,EAAAiB,QAAA,QAAAnB,EAAA,EAAAG,EAAAsD,MAAAzC,GAAAhB,EAAAgB,EAAAhB,IAAAG,EAAAH,GAAAE,EAAAF,GAAA,OAAAG,CAAA,UAAAoE,EAAAvE,EAAAE,GAAA,QAAAD,EAAA,EAAAA,EAAAC,EAAAiB,OAAAlB,IAAA,KAAAd,EAAAe,EAAAD,GAAAd,EAAAG,WAAAH,EAAAG,aAAA,EAAAH,EAAA6C,cAAA,YAAA7C,IAAAA,EAAA8C,UAAA,GAAA7C,OAAAC,eAAAW,EAAAgD,EAAA7D,EAAAD,KAAAC,EAAA,WAAA6D,EAAA/C,GAAA,IAAAI,EAAA,SAAAJ,EAAAC,GAAA,aAAAsE,EAAAvE,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAAJ,OAAA4E,aAAA,YAAAzE,EAAA,KAAAK,EAAAL,EAAAJ,KAAAK,EAAAC,GAAA,wBAAAsE,EAAAnE,GAAA,OAAAA,EAAA,UAAAgB,UAAA,kEAAAnB,EAAAwE,OAAAC,QAAA1E,EAAA,CAAA2E,CAAA3E,EAAA,0BAAAuE,EAAAnE,GAAAA,EAAAA,EAAA,G,iDADA,IAgBMwE,EAAY,WA+ChB,OA9DF7E,EAqBE,SAAA6E,IAAiD,IAAAC,EAAA,KAArCC,EAAUpC,UAAAxB,OAAA,QAAA6D,IAAArC,UAAA,GAAAA,UAAA,GAAG,wBArB3B,SAAA3B,EAAAb,GAAA,KAAAa,aAAAb,GAAA,UAAAkB,UAAA,qCAqBiD4D,CAAA,KAAAJ,GAC7C9F,KAAKmG,OAAS,IAAIC,OAAOJ,GACzBhG,KAAKqG,UAAY,EACjBrG,KAAKsG,KAAO,IAAIC,IAGhBvG,KAAKmG,OAAOK,UAAY,SAACvF,GACvB,IAAAwF,EAAiCxF,EAAEyF,KAA3BC,EAAKF,EAALE,MAAOC,EAAKH,EAALG,MAAOC,EAAMJ,EAANI,OAEtB,GAAKF,EAKL,GAAIZ,EAAKO,KAAKQ,IAAIH,GAAQ,CACxB,IAAAI,EAA4BhB,EAAKO,KAAK9F,IAAImG,GAAlCvC,EAAO2C,EAAP3C,QAAS4C,EAAMD,EAANC,OACjBjB,EAAKO,KAAI,OAAQK,GAEbC,EACFI,EAAO,IAAIC,MAAML,IACRC,EACTzC,EAAQyC,GAERG,EAAO,IAAIC,MAAM,6BAErB,MACEC,QAAQC,KAAK,mCAAoCR,QAhBjDO,QAAQC,KAAK,kCAAmClG,EAAEyF,KAkBtD,EAGA1G,KAAKmG,OAAOiB,QAAU,SAACR,GACrBM,QAAQN,MAAM,kBAAmBA,GACjC,IACsCS,EADtCC,EAtDN,SAAAnG,EAAAF,GAAA,IAAAC,EAAA,oBAAAJ,QAAAK,EAAAL,OAAAO,WAAAF,EAAA,kBAAAD,EAAA,IAAAwD,MAAAC,QAAAxD,KAAAD,EAAA6D,EAAA5D,KAAAF,GAAAE,GAAA,iBAAAA,EAAAiB,OAAA,CAAAlB,IAAAC,EAAAD,GAAA,IAAAqG,EAAA,EAAAC,EAAA,oBAAAC,EAAAD,EAAApG,EAAA,kBAAAmG,GAAApG,EAAAiB,OAAA,CAAAG,MAAA,IAAAA,MAAA,EAAAvB,MAAAG,EAAAoG,KAAA,EAAAtG,EAAA,SAAAE,GAAA,MAAAA,CAAA,EAAAS,EAAA4F,EAAA,WAAAlF,UAAA,6IAAAlC,EAAA6B,GAAA,EAAAR,GAAA,SAAAgG,EAAA,WAAAvG,EAAAA,EAAAL,KAAAM,EAAA,EAAAC,EAAA,eAAAD,EAAAD,EAAA2D,OAAA,OAAA5C,EAAAd,EAAAoB,KAAApB,CAAA,EAAAF,EAAA,SAAAE,GAAAM,GAAA,EAAArB,EAAAe,CAAA,EAAAS,EAAA,eAAAK,GAAA,MAAAf,EAAA,QAAAA,EAAA,oBAAAO,EAAA,MAAArB,CAAA,IAsDMsH,CAC6B3B,EAAKO,MAAI,IAAtC,IAAAgB,EAAAG,MAAAJ,EAAAC,EAAAlG,KAAAmB,OACEyE,EADsCvC,EAAA4C,EAAArG,MAAA,GAAlB,GAANgG,QACP,IAAIC,MAAM,mBAAqBL,EAAMe,SAC7C,OAAAC,GAAAN,EAAArG,EAAA2G,EAAA,SAAAN,EAAA1F,GAAA,CACDmE,EAAKO,KAAKuB,OACZ,CACF,EA5DF1G,EA8DE,EAAAhB,IAAA,SAAAa,OAAA8G,EAAAxD,EAAAxB,IAAAE,EAeA,SAAA+E,EAAaC,GAAO,IAAAC,EAAAtB,EAAAuB,EAAA,KAAAC,EAAAvE,UAAA,OAAAd,IAAAC,EAAA,SAAAqF,GAAA,cAAAA,EAAAhH,EACY,OADV6G,EAAOE,EAAA/F,OAAA,QAAA6D,IAAAkC,EAAA,GAAAA,EAAA,GAAG,CAAC,EACzBxB,EAAQ3G,KAAKqG,YAAW+B,EAAAnG,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAAS4C,GAC3BkB,EAAK5B,KAAK+B,IAAI1B,EAAO,CAAEvC,QAAAA,EAAS4C,OAAAA,IAChC,IAEE,IAAMsB,EAAY3E,EAAA,GAAQsE,GAC1BC,EAAK/B,OAAOoC,YAAY,CACtB5B,MAAAA,EACA6B,KAAM,SACNR,QAAAA,EACAC,QAASK,GAEb,CAAE,MAAO1B,GACPsB,EAAK5B,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAAmB,EAAA,SACH,SAlBWU,GAAA,OAAAX,EAAApE,MAAC,KAADE,UAAA,IAoBZ,CAAAzD,IAAA,SAAAa,OAAA0H,EAAApE,EAAAxB,IAAAE,EAWA,SAAA2F,EAAaC,GAAG,IAAAjC,EAAAkC,EAAA,YAAA/F,IAAAC,EAAA,SAAA+F,GAAA,cAAAA,EAAA1H,EACgB,OAAxBuF,EAAQ3G,KAAKqG,YAAWyC,EAAA7G,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAAS4C,GAC3B6B,EAAKvC,KAAK+B,IAAI1B,EAAO,CAAEvC,QAAAA,EAAS4C,OAAAA,IAChC,IACE6B,EAAK1C,OAAOoC,YAAY,CAAE5B,MAAAA,EAAO6B,KAAM,SAAUI,IAAAA,GACnD,CAAE,MAAOhC,GACPiC,EAAKvC,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAA+B,EAAA,SACH,SAXWI,GAAA,OAAAL,EAAAhF,MAAC,KAADE,UAAA,IAaZ,CAAAzD,IAAA,eAAAa,OAAAgI,EAAA1E,EAAAxB,IAAAE,EASA,SAAAiG,EAAmBC,GAAI,IAAAvC,EAAAwC,EAAA,YAAArG,IAAAC,EAAA,SAAAqG,GAAA,cAAAA,EAAAhI,EACS,OAAxBuF,EAAQ3G,KAAKqG,YAAW+C,EAAAnH,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAAS4C,GAC3BmC,EAAK7C,KAAK+B,IAAI1B,EAAO,CAAEvC,QAAAA,EAAS4C,OAAAA,IAChC,IACEmC,EAAKhD,OAAOoC,YAAY,CAAE5B,MAAAA,EAAO6B,KAAM,WAAYU,KAAAA,GACrD,CAAE,MAAOtC,GACPuC,EAAK7C,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAAqC,EAAA,SACH,SAXiBI,GAAA,OAAAL,EAAAtF,MAAC,KAADE,UAAA,IAalB,CAAAzD,IAAA,oBAAAa,OAAAsI,EAAAhF,EAAAxB,IAAAE,EAKA,SAAAuG,IAAA,IAAA5C,EAAA6C,EAAA,YAAA1G,IAAAC,EAAA,SAAA0G,GAAA,cAAAA,EAAArI,EACgC,OAAxBuF,EAAQ3G,KAAKqG,YAAWoD,EAAAxH,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAAS4C,GAC3BwC,EAAKlD,KAAK+B,IAAI1B,EAAO,CAAEvC,QAAAA,EAAS4C,OAAAA,IAChC,IACEwC,EAAKrD,OAAOoC,YAAY,CAAE5B,MAAAA,EAAO6B,KAAM,qBACzC,CAAE,MAAO5B,GACP4C,EAAKlD,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAA2C,EAAA,SACH,WAXsB,OAAAD,EAAA5F,MAAC,KAADE,UAAA,IAavB,CAAAzD,IAAA,YAAAa,MAKA,WACMhB,KAAKmG,SACPnG,KAAKmG,OAAOuD,YACZ1J,KAAKmG,OAAS,MAEhBnG,KAAKsG,KAAKuB,OACZ,IA5KF1G,GAAAqE,EAAAvE,EAAAN,UAAAQ,GAAAD,GAAAsE,EAAAvE,EAAAC,GAAAb,OAAAC,eAAAW,EAAA,aAAAiC,UAAA,IAAAjC,EAAA,IAAAA,EAAAE,EAAAD,EA+IEoI,EAtBAN,EAxBAN,EAnCAZ,CA8GC,CA7Je,G,MAkKI,oBAAXjI,QAA0BA,OAAOD,QAC1CC,OAAOD,QAAUkG,EACU,mBAAXhG,QAAyBA,OAAOC,IAChDD,OAAO,GAAI,WACT,OAAOgG,CACT,GAC2B,oBAAX6D,SAEhBA,OAAO7D,aAAeA,G","sources":["webpack://Carta1Worker/webpack/universalModuleDefinition","webpack://Carta1Worker/webpack/bootstrap","webpack://Carta1Worker/webpack/runtime/define property getters","webpack://Carta1Worker/webpack/runtime/hasOwnProperty shorthand","webpack://Carta1Worker/webpack/runtime/make namespace object","webpack://Carta1Worker/./codec/browser/interface.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Carta1Worker\"] = factory();\n\telse\n\t\troot[\"Carta1Worker\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Carta1 Worker Interface - Client-side API\n *\n * Provides a clean async interface for encoding and decoding ATRAC1 audio\n * using Web Workers for non-blocking operation.\n *\n * Usage:\n * const codec = new Carta1Worker('carta1-worker.min.js')\n * const result = await codec.encode(pcmData, options)\n * codec.terminate()\n *\n * The worker path can be customized to match your deployment:\n * new Carta1Worker('/js/carta1-worker.min.js')\n * new Carta1Worker('https://cdn.example.com/carta1-worker.min.js')\n */\n\nclass Carta1Worker {\n /**\n * Create a new ATRAC1 codec worker\n *\n * @param {string} [workerPath='atrac1-worker.min.js'] - Path to the worker script\n */\n constructor(workerPath = 'carta1-worker.min.js') {\n this.worker = new Worker(workerPath)\n this.nextJobId = 1\n this.jobs = new Map()\n\n // Handle worker responses\n this.worker.onmessage = (e) => {\n const { jobId, error, result } = e.data\n\n if (!jobId) {\n console.warn('Received message without jobId:', e.data)\n return\n }\n\n if (this.jobs.has(jobId)) {\n const { resolve, reject } = this.jobs.get(jobId)\n this.jobs.delete(jobId)\n\n if (error) {\n reject(new Error(error))\n } else if (result) {\n resolve(result)\n } else {\n reject(new Error('Worker returned no result'))\n }\n } else {\n console.warn('Received result for unknown job:', jobId)\n }\n }\n\n // Handle worker errors\n this.worker.onerror = (error) => {\n console.error('Worker crashed:', error)\n // Reject all pending jobs\n for (const [, { reject }] of this.jobs) {\n reject(new Error('Worker crashed: ' + error.message))\n }\n this.jobs.clear()\n }\n }\n\n /**\n * Encode PCM audio to ATRAC1 format\n *\n * @param {Float32Array|Array<Float32Array>} pcmData - PCM audio data\n * - Mono: Float32Array\n * - Stereo: [left, right] Float32Arrays\n * @param {Object} [options={}] - Encoder options\n * @param {number} [options.transientThresholdLow] - Low band transient threshold\n * @param {number} [options.transientThresholdMid] - Mid band transient threshold\n * @param {number} [options.transientThresholdHigh] - High band transient threshold\n * @param {number} [options.normalizationDb] - Normalization level in dB\n * @returns {Promise<Object>} Encoding result\n * @returns {Blob} returns.aeaBlob - ATRAC1 encoded audio blob\n * @returns {Object} returns.shortBlockData - Short block frame indices\n */\n async encode(pcmData, options = {}) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n // Ensure plain object for serialization\n const plainOptions = { ...options }\n this.worker.postMessage({\n jobId,\n type: 'encode',\n pcmData,\n options: plainOptions,\n })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Decode ATRAC1 audio to PCM WAV format\n *\n * @param {Object} aea - ATRAC1 audio data\n * @param {Uint8Array} aea.header - AEA file header\n * @param {Array} aea.aeaData - Encoded frame data\n * @param {Object} [aea.info] - Optional metadata\n * @returns {Promise<Object>} Decoding result\n * @returns {Blob} returns.wavBlob - Decoded WAV audio blob\n * @returns {Object} returns.info - Audio metadata (channels, sample rate)\n */\n async decode(aea) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'decode', aea })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Parse AEA file blob to extract metadata and frame data\n *\n * @param {Blob} blob - AEA file blob\n * @returns {Promise<Object>} Parsed AEA data\n * @returns {Uint8Array} returns.header - AEA file header\n * @returns {Array} returns.aeaData - Encoded frame data\n * @returns {Object} returns.info - Metadata (title, channels, frames)\n */\n async parseAeaBlob(blob) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'parseAea', blob })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Get default encoder options metadata\n *\n * @returns {Promise<Object>} Default encoder options\n */\n async getEncoderOptions() {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'getEncoderOptions' })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Terminate the worker and clean up resources\n *\n * Call this when done using the codec to free memory\n */\n terminate() {\n if (this.worker) {\n this.worker.terminate()\n this.worker = null\n }\n this.jobs.clear()\n }\n}\n\n// Export for different module systems\n/* global define, window */\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Carta1Worker\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return Carta1Worker\n })\n} else if (typeof window !== 'undefined') {\n // Global export for browser\n window.Carta1Worker = Carta1Worker\n}\n\n// ES module export\nexport { Carta1Worker as default }\nexport { Carta1Worker }\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","e","t","r","n","iterator","i","c","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","configurable","writable","_invoke","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","_slicedToArray","Array","isArray","_arrayWithHoles","next","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","from","test","_defineProperties","_typeof","toPrimitive","String","Number","_toPrimitive","Carta1Worker","_this","workerPath","undefined","_classCallCheck","worker","Worker","nextJobId","jobs","Map","onmessage","_e$data","data","jobId","error","result","has","_this$jobs$get","reject","Error","console","warn","onerror","_step","_iterator","_n","F","s","_createForOfIteratorHelper","message","err","clear","_encode","_callee","pcmData","options","_this2","_args","_context","set","plainOptions","postMessage","type","_x","_decode","_callee2","aea","_this3","_context2","_x2","_parseAeaBlob","_callee3","blob","_this4","_context3","_x3","_getEncoderOptions","_callee4","_this5","_context4","terminate","window"],"sourceRoot":""}
|