carta1 1.1.9 → 1.1.10
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/README.md +149 -75
- package/codec/index.js +3 -1
- package/codec/io/bitstream.js +1 -1
- package/codec/io/processor.js +113 -0
- 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 +16 -16
package/README.md
CHANGED
|
@@ -1,128 +1,202 @@
|
|
|
1
1
|
# Carta1
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Carta1 is an ATRAC1 encoder and decoder in JavaScript. It converts PCM WAVE
|
|
4
|
+
audio to Sony's AEA container, decodes AEA back to PCM WAVE, exposes stateful
|
|
5
|
+
frame and stream APIs, and ships browser Web Worker bundles.
|
|
4
6
|
|
|
5
|
-
##
|
|
7
|
+
## Supported format
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
| Property | Support |
|
|
10
|
+
| ------------------ | --------------------------------------------- |
|
|
11
|
+
| Sample rate | 44.1 kHz |
|
|
12
|
+
| Channels | Mono or stereo |
|
|
13
|
+
| Frame size | 512 PCM samples per channel |
|
|
14
|
+
| Encoded sound unit | 212 bytes per channel |
|
|
15
|
+
| Nominal bitrate | About 146 kbps per channel / 292 kbps stereo |
|
|
16
|
+
| Container | AEA |
|
|
17
|
+
| JavaScript PCM | Planar `Float32Array`, normalized `-1` to `1` |
|
|
18
|
+
|
|
19
|
+
Stereo channels are encoded independently and stored as interleaved AEA sound
|
|
20
|
+
units.
|
|
13
21
|
|
|
14
22
|
## Installation
|
|
15
23
|
|
|
24
|
+
Carta1 is an ES module and requires Node.js 20.16 or newer.
|
|
25
|
+
|
|
16
26
|
```bash
|
|
17
27
|
npm install carta1
|
|
18
28
|
```
|
|
19
29
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### Encoding
|
|
30
|
+
To work from a repository checkout:
|
|
23
31
|
|
|
24
32
|
```bash
|
|
25
|
-
|
|
33
|
+
npm ci
|
|
34
|
+
npm run check
|
|
26
35
|
```
|
|
27
36
|
|
|
28
|
-
|
|
37
|
+
## CLI
|
|
38
|
+
|
|
39
|
+
Run the installed executable directly, or use `npx carta1` from a project that
|
|
40
|
+
depends on Carta1:
|
|
29
41
|
|
|
30
42
|
```bash
|
|
43
|
+
carta1 --encode input.wav output.aea
|
|
31
44
|
carta1 --decode input.aea output.wav
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
### Options
|
|
35
|
-
|
|
36
|
-
- `-e, --encode` - Encode WAV to AEA
|
|
37
|
-
- `-d, --decode` - Decode AEA to WAV
|
|
38
|
-
- `-j, --json` - Dump AEA file structure to JSON
|
|
39
|
-
- `-q, --quiet` - Suppress all output except errors
|
|
40
|
-
- `-f, --force` - Overwrite output file if it exists
|
|
41
|
-
- `-t, --title <title>` - Custom title for AEA file metadata (encoding only)
|
|
45
|
+
carta1 --json input.aea structure.json
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
```html
|
|
46
|
-
<script src="https://unpkg.com/carta1/dist/carta1-worker.min.js"></script>
|
|
47
|
-
<script src="https://unpkg.com/carta1/dist/carta1-worker-interface.min.js"></script>
|
|
47
|
+
npx carta1 --encode input.wav output.aea
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
The encoder accepts mono or stereo PCM WAVE input. Carta1 is designed for
|
|
51
|
+
44.1 kHz audio; it warns when the input sample rate differs. Decoding writes
|
|
52
|
+
signed 16-bit PCM WAVE output.
|
|
53
|
+
|
|
54
|
+
| Option | Meaning |
|
|
55
|
+
| --------------------- | ---------------------------------------------------- |
|
|
56
|
+
| `-e, --encode` | Encode PCM WAVE to AEA. |
|
|
57
|
+
| `-d, --decode` | Decode AEA to PCM WAVE. |
|
|
58
|
+
| `-j, --json` | Write AEA metadata and frame structure as JSON. |
|
|
59
|
+
| `-q, --quiet` | Suppress normal output and progress. |
|
|
60
|
+
| `-f, --force` | Overwrite an existing output file. |
|
|
61
|
+
| `-t, --title <title>` | Set the AEA title while encoding. |
|
|
62
|
+
| `-b, --bias <value>` | Set the bit-allocation bias; defaults to `1.0`. |
|
|
63
|
+
| `-m, --modes <modes>` | Fix low, mid, and high block modes, such as `0,0,0`. |
|
|
64
|
+
| `-V, --version` | Print the Carta1 version. |
|
|
65
|
+
| `-h, --help` | Print command help. |
|
|
66
|
+
|
|
67
|
+
Exactly one of `--encode`, `--decode`, and `--json` is required. The input and
|
|
68
|
+
output are positional paths. Existing output is preserved unless `--force` is
|
|
69
|
+
provided.
|
|
70
|
+
|
|
71
|
+
## JavaScript API
|
|
72
|
+
|
|
73
|
+
### Complete AEA files
|
|
74
|
+
|
|
75
|
+
Use `encodeAeaPcm()` and `decodeAeaPcm()` when the complete input fits in
|
|
76
|
+
memory:
|
|
77
|
+
|
|
78
|
+
```js
|
|
79
|
+
import { decodeAeaPcm, encodeAeaPcm } from 'carta1'
|
|
80
|
+
|
|
81
|
+
const aea = await encodeAeaPcm([left, right], {
|
|
82
|
+
allocationBias: 1.0,
|
|
83
|
+
title: 'Example',
|
|
84
|
+
})
|
|
85
|
+
const [decodedLeft, decodedRight] = await decodeAeaPcm(aea)
|
|
86
|
+
```
|
|
53
87
|
|
|
54
|
-
|
|
55
|
-
|
|
88
|
+
`encodeAeaPcm()` returns a `Uint8Array` containing a complete AEA file.
|
|
89
|
+
`decodeAeaPcm()` accepts AEA bytes or a `Blob` and returns normalized planar
|
|
90
|
+
`Float32Array` channels. A mono input uses `[mono]`. The final partial input
|
|
91
|
+
frame is zero-padded.
|
|
56
92
|
|
|
57
|
-
|
|
58
|
-
const wavData = await codec.decode(aeaData)
|
|
93
|
+
### Stateful frames
|
|
59
94
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
```
|
|
95
|
+
`encode()` and `decode()` create closures for chronological, complete mono
|
|
96
|
+
frames. Reuse each closure for one stream:
|
|
63
97
|
|
|
64
|
-
|
|
98
|
+
```js
|
|
99
|
+
import { decode, encode, EncoderOptions } from 'carta1'
|
|
65
100
|
|
|
66
|
-
|
|
101
|
+
const encodeFrame = encode(new EncoderOptions({ transientThresholdLow: 1.0 }))
|
|
102
|
+
const decodeFrame = decode()
|
|
67
103
|
|
|
68
|
-
|
|
69
|
-
|
|
104
|
+
const encoded = encodeFrame(new Float32Array(512))
|
|
105
|
+
const decoded = decodeFrame(encoded)
|
|
106
|
+
```
|
|
70
107
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
108
|
+
Use separate closures for separate streams and for the left and right channels
|
|
109
|
+
of stereo audio. `AudioProcessor.encodeStream()` and `decodeStream()` handle
|
|
110
|
+
that ownership automatically.
|
|
74
111
|
|
|
75
|
-
|
|
76
|
-
const decoder = decode()
|
|
77
|
-
const pcmFrame = decoder(encodedFrame)
|
|
78
|
-
```
|
|
112
|
+
### Encoder options
|
|
79
113
|
|
|
80
|
-
|
|
114
|
+
`EncoderOptions` validates these settings:
|
|
81
115
|
|
|
82
|
-
|
|
116
|
+
- `transientThresholdLow`, `transientThresholdMid`, and
|
|
117
|
+
`transientThresholdHigh` tune short-block detection per frequency band.
|
|
118
|
+
- `allocationBias` changes how strongly allocation favors louder spectral
|
|
119
|
+
components.
|
|
120
|
+
- `fixedBlockModes` accepts `[low, mid, high]`, where low and mid are `0` or
|
|
121
|
+
`2`, and high is `0` or `3`; this bypasses transient detection.
|
|
83
122
|
|
|
84
|
-
|
|
123
|
+
## Browser worker
|
|
85
124
|
|
|
86
|
-
|
|
125
|
+
The production build writes a worker and an ES module client to `dist/`. Serve
|
|
126
|
+
both from a location allowed by your application's worker and Content Security
|
|
127
|
+
Policy settings:
|
|
87
128
|
|
|
88
|
-
|
|
129
|
+
```js
|
|
130
|
+
import { Carta1Worker } from '/vendor/carta1-worker-interface.min.js'
|
|
89
131
|
|
|
90
|
-
|
|
132
|
+
const codec = new Carta1Worker('/vendor/carta1-worker.min.js')
|
|
91
133
|
|
|
92
|
-
|
|
134
|
+
const { aeaBlob } = await codec.encode([left, right], {
|
|
135
|
+
allocationBias: 1.0,
|
|
136
|
+
})
|
|
137
|
+
const parsed = await codec.parseAeaBlob(aeaBlob)
|
|
138
|
+
const { wavBlob, info } = await codec.decode({
|
|
139
|
+
aeaData: parsed.frameData,
|
|
140
|
+
info: parsed.info,
|
|
141
|
+
})
|
|
142
|
+
const optionMetadata = await codec.getEncoderOptions()
|
|
93
143
|
|
|
94
|
-
|
|
144
|
+
codec.terminate()
|
|
145
|
+
```
|
|
95
146
|
|
|
96
|
-
|
|
147
|
+
Always call `terminate()` when the worker is no longer needed. The build also
|
|
148
|
+
produces `dist/carta1.min.js`, a UMD bundle exposing the main JavaScript API as
|
|
149
|
+
the global `Carta1` object.
|
|
97
150
|
|
|
98
|
-
|
|
151
|
+
## Compatibility and limitations
|
|
99
152
|
|
|
100
|
-
|
|
153
|
+
- Encoding is fixed to the 44.1 kHz ATRAC1 profile described above; Carta1 does
|
|
154
|
+
not resample input.
|
|
155
|
+
- JavaScript APIs use normalized planar PCM. Web Audio channel data already
|
|
156
|
+
follows this convention.
|
|
157
|
+
- Stateful frame APIs must receive frames in order and must not be shared by
|
|
158
|
+
independent streams.
|
|
159
|
+
- AEA stores whole frames rather than an exact source sample count, so a final
|
|
160
|
+
partial frame is represented with zero padding.
|
|
161
|
+
- Browser worker assets must be served from a location permitted by the page's
|
|
162
|
+
worker and Content Security Policy rules.
|
|
101
163
|
|
|
102
164
|
## Development
|
|
103
165
|
|
|
104
|
-
|
|
105
|
-
# Install dependencies
|
|
106
|
-
npm install
|
|
107
|
-
|
|
108
|
-
# Run tests
|
|
109
|
-
npm test
|
|
166
|
+
Implementation concerns are split without hiding the top-level pipeline:
|
|
110
167
|
|
|
111
|
-
|
|
112
|
-
|
|
168
|
+
| Path | Responsibility |
|
|
169
|
+
| ------------------- | --------------------------------------------------- |
|
|
170
|
+
| `codec/pipeline/` | Ordered encoder and decoder stage composition. |
|
|
171
|
+
| `codec/analysis/` | Transient analysis and encoder decisions. |
|
|
172
|
+
| `codec/coding/` | Bit allocation and quantization. |
|
|
173
|
+
| `codec/transforms/` | FFT, QMF, MDCT, and inverse transforms. |
|
|
174
|
+
| `codec/io/` | Bitstreams, AEA serialization, and stream adapters. |
|
|
175
|
+
| `codec/core/` | Constants, options, and reusable buffer ownership. |
|
|
176
|
+
| `codec/browser/` | Web Worker implementation and client. |
|
|
177
|
+
| `bin/` | Command-line boundary. |
|
|
178
|
+
| `tests/` | Unit, serialization, and pipeline tests. |
|
|
113
179
|
|
|
114
|
-
|
|
115
|
-
npm run lint
|
|
180
|
+
Common commands are:
|
|
116
181
|
|
|
117
|
-
|
|
118
|
-
npm
|
|
182
|
+
```bash
|
|
183
|
+
npm test # Run the test suite once
|
|
184
|
+
npm run test:watch # Re-run tests while editing
|
|
185
|
+
npm run lint # Check JavaScript and formatting
|
|
186
|
+
npm run format # Apply repository formatting
|
|
187
|
+
npm run build # Build the three browser bundles
|
|
188
|
+
npm run check # Run lint, tests, and the production build
|
|
119
189
|
```
|
|
120
190
|
|
|
121
|
-
|
|
191
|
+
Run `npm run check` before submitting a change. Pull requests and pushes run
|
|
192
|
+
the same gate in CI.
|
|
122
193
|
|
|
123
|
-
|
|
194
|
+
## Acknowledgements
|
|
124
195
|
|
|
125
|
-
|
|
196
|
+
This project would not have been possible without
|
|
197
|
+
[AtracDEnc](https://github.com/dcherednik/atracdenc) by
|
|
198
|
+
[Daniel Cherednik](https://github.com/dcherednik), the reference ATRAC
|
|
199
|
+
implementation used to understand the ATRAC1 format and codec behavior.
|
|
126
200
|
|
|
127
201
|
## License
|
|
128
202
|
|
package/codec/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import { qmfAnalysisStage, mdctStage } from './pipeline/encoder.js'
|
|
|
14
14
|
import { pipe } from './utils.js'
|
|
15
15
|
import { BufferPool } from './core/buffers.js'
|
|
16
16
|
import { EncoderOptions } from './core/options.js'
|
|
17
|
-
import { AudioProcessor } from './io/processor.js'
|
|
17
|
+
import { AudioProcessor, decodeAeaPcm, encodeAeaPcm } from './io/processor.js'
|
|
18
18
|
import { FFT } from './transforms/fft.js'
|
|
19
19
|
import {
|
|
20
20
|
WORD_LENGTH_BITS,
|
|
@@ -37,6 +37,8 @@ export {
|
|
|
37
37
|
BufferPool,
|
|
38
38
|
EncoderOptions,
|
|
39
39
|
AudioProcessor,
|
|
40
|
+
decodeAeaPcm,
|
|
41
|
+
encodeAeaPcm,
|
|
40
42
|
FFT,
|
|
41
43
|
WORD_LENGTH_BITS,
|
|
42
44
|
SPECS_PER_BFU,
|
package/codec/io/bitstream.js
CHANGED
|
@@ -52,7 +52,7 @@ export function unpackBits(buffer, bitPosition, bitCount) {
|
|
|
52
52
|
let bitOffset = bitPosition % 8
|
|
53
53
|
let value = 0
|
|
54
54
|
|
|
55
|
-
for (let bitsRead = 0; bitsRead < bitCount && byteIndex < buffer.length;
|
|
55
|
+
for (let bitsRead = 0; bitsRead < bitCount && byteIndex < buffer.length;) {
|
|
56
56
|
const bitsAvailable = 8 - bitOffset
|
|
57
57
|
const bitsToRead = Math.min(bitCount - bitsRead, bitsAvailable)
|
|
58
58
|
|
package/codec/io/processor.js
CHANGED
|
@@ -35,6 +35,27 @@ import { serializeFrame, deserializeFrame, AeaFile } from './serialization.js'
|
|
|
35
35
|
* Audio processing utility class providing high-level encoding and decoding operations
|
|
36
36
|
*/
|
|
37
37
|
export class AudioProcessor {
|
|
38
|
+
/**
|
|
39
|
+
* Encode complete planar PCM buffers into an AEA byte image.
|
|
40
|
+
*
|
|
41
|
+
* @param {Float32Array[]} channels One or two normalized PCM channels.
|
|
42
|
+
* @param {Object} [options] Encoder and AEA metadata options.
|
|
43
|
+
* @returns {Promise<Uint8Array>} Complete AEA byte image.
|
|
44
|
+
*/
|
|
45
|
+
static encodeAeaPcm(channels, options = {}) {
|
|
46
|
+
return encodeAeaPcm(channels, options)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Decode a complete AEA byte image into planar PCM buffers.
|
|
51
|
+
*
|
|
52
|
+
* @param {Uint8Array|ArrayBuffer|Blob} input Complete AEA image.
|
|
53
|
+
* @returns {Promise<Float32Array[]>} Decoded normalized PCM channels.
|
|
54
|
+
*/
|
|
55
|
+
static decodeAeaPcm(input) {
|
|
56
|
+
return decodeAeaPcm(input)
|
|
57
|
+
}
|
|
58
|
+
|
|
38
59
|
/**
|
|
39
60
|
* Encodes a stream of audio frames to ATRAC1 format
|
|
40
61
|
* @param {AsyncIterable<Float32Array>|AsyncIterable<[Float32Array, Float32Array]>} audioFrames - Audio frame stream
|
|
@@ -556,3 +577,95 @@ export class AudioProcessor {
|
|
|
556
577
|
}
|
|
557
578
|
}
|
|
558
579
|
}
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* Encode complete planar PCM buffers into an AEA byte image.
|
|
583
|
+
*
|
|
584
|
+
* Encoding options are accepted directly alongside the optional AEA `title`.
|
|
585
|
+
* The final partial PCM frame is zero-padded.
|
|
586
|
+
*
|
|
587
|
+
* @param {Float32Array[]} channels One or two normalized PCM channels.
|
|
588
|
+
* @param {Object} [options] Encoder and AEA metadata options.
|
|
589
|
+
* @param {string} [options.title] AEA title.
|
|
590
|
+
* @param {number} [options.transientThresholdLow] Low-band threshold.
|
|
591
|
+
* @param {number} [options.transientThresholdMid] Mid-band threshold.
|
|
592
|
+
* @param {number} [options.transientThresholdHigh] High-band threshold.
|
|
593
|
+
* @param {number} [options.allocationBias] Bit-allocation bias.
|
|
594
|
+
* @param {number[]} [options.fixedBlockModes] Fixed low, mid, and high modes.
|
|
595
|
+
* @returns {Promise<Uint8Array>} Complete AEA byte image.
|
|
596
|
+
*/
|
|
597
|
+
export async function encodeAeaPcm(channels, options = {}) {
|
|
598
|
+
if (
|
|
599
|
+
!Array.isArray(channels) ||
|
|
600
|
+
(channels.length !== 1 && channels.length !== 2) ||
|
|
601
|
+
channels.some((channel) => !(channel instanceof Float32Array))
|
|
602
|
+
) {
|
|
603
|
+
throw new TypeError('ATRAC1 encoding requires one or two Float32 channels')
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
const { title = 'encoded by carta1', ...encoderValues } = options
|
|
607
|
+
const frames = AudioProcessor.frameBufferToFrames(channels)
|
|
608
|
+
const encodedFrames = AudioProcessor.encodeStream(frames, {
|
|
609
|
+
channelCount: channels.length,
|
|
610
|
+
encoderOptions: new EncoderOptions(encoderValues),
|
|
611
|
+
})
|
|
612
|
+
const blob = await AudioProcessor.createAeaBlob(encodedFrames, {
|
|
613
|
+
title,
|
|
614
|
+
channelCount: channels.length,
|
|
615
|
+
})
|
|
616
|
+
return new Uint8Array(await blob.arrayBuffer())
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* Decode a complete AEA byte image into planar normalized PCM buffers.
|
|
621
|
+
*
|
|
622
|
+
* AEA does not retain the exact source sample count, so returned channels
|
|
623
|
+
* include any zero padding from the final encoded frame.
|
|
624
|
+
*
|
|
625
|
+
* @param {Uint8Array|ArrayBuffer|Blob} input Complete AEA image.
|
|
626
|
+
* @returns {Promise<Float32Array[]>} Decoded normalized PCM channels.
|
|
627
|
+
*/
|
|
628
|
+
export async function decodeAeaPcm(input) {
|
|
629
|
+
let blob
|
|
630
|
+
if (input instanceof Blob) {
|
|
631
|
+
blob = input
|
|
632
|
+
} else if (input instanceof Uint8Array || input instanceof ArrayBuffer) {
|
|
633
|
+
blob = new Blob([input])
|
|
634
|
+
} else {
|
|
635
|
+
throw new TypeError('ATRAC1 decoding requires AEA bytes or a Blob')
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
const { info, frameData } = await AudioProcessor.parseAeaBlob(blob)
|
|
639
|
+
const frames = AudioProcessor.deserializedFrameStream(frameData)
|
|
640
|
+
const decodedFrames = await AudioProcessor.collectFrames(
|
|
641
|
+
AudioProcessor.decodeStream(frames, {
|
|
642
|
+
channelCount: info.channelCount,
|
|
643
|
+
})
|
|
644
|
+
)
|
|
645
|
+
|
|
646
|
+
if (info.channelCount === 1) {
|
|
647
|
+
return [joinChannelFrames(decodedFrames)]
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
return [
|
|
651
|
+
joinChannelFrames(decodedFrames.map(([left]) => left)),
|
|
652
|
+
joinChannelFrames(decodedFrames.map(([, right]) => right)),
|
|
653
|
+
]
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
/**
|
|
657
|
+
* Join complete PCM frames into one channel buffer.
|
|
658
|
+
*
|
|
659
|
+
* @param {Float32Array[]} frames PCM frames for one channel.
|
|
660
|
+
* @returns {Float32Array} Contiguous PCM channel.
|
|
661
|
+
*/
|
|
662
|
+
function joinChannelFrames(frames) {
|
|
663
|
+
const sampleCount = frames.reduce((total, frame) => total + frame.length, 0)
|
|
664
|
+
const channel = new Float32Array(sampleCount)
|
|
665
|
+
let offset = 0
|
|
666
|
+
for (const frame of frames) {
|
|
667
|
+
channel.set(frame, offset)
|
|
668
|
+
offset += frame.length
|
|
669
|
+
}
|
|
670
|
+
return channel
|
|
671
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
const e={d:(t,r)=>{if(Array.isArray(r))for(var n=0;n<r.length;){var o=r[n++],i=r[n++];e.o(t,o)?0===i&&n++:0===i?Object.defineProperty(t,o,{enumerable:!0,value:r[n++]}):Object.defineProperty(t,o,{enumerable:!0,get:i})}else for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};let 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,s=Object.create(u.prototype);return o(s,"_invoke",function(r,n,o){var i,a,u,f=0,s=o||[],l=!1,y={p:0,n:0,v:e,a:b,f:b.bind(e,4),d:function(t,r){return i=t,a=0,u=e,y.n=r,c}};function b(r,n){for(a=r,u=n,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],b=y.p,p=i[2];r>3?(o=p===n)&&(u=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=b&&((o=r<2&&b<i[1])?(a=0,y.v=n,y.n=i[1]):b<p&&(o=r<3||i[0]>n||n>p)&&(i[4]=r,i[5]=n,y.n=p,a=0))}if(o||r>1)return c;throw l=!0,n}return function(o,s,p){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&b(s,p),a=s,u=p;(t=a<2?e:u)||!l;){i||(a?a<3?(a>1&&(y.n=-1),b(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=(l=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:l}}}(r,i,a),!0),s}var c={};function f(){}function s(){}function l(){}t=Object.getPrototypeOf;var y=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),b=l.prototype=f.prototype=Object.create(y);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,o(e,a,"GeneratorFunction")),e.prototype=Object.create(b),e}return s.prototype=l,o(b,"constructor",l),o(l,"constructor",s),s.displayName="GeneratorFunction",o(l,a,"GeneratorFunction"),o(b),o(b,a,"Generator"),o(b,i,function(){return this}),o(b,"toString",function(){return"[object Generator]"}),(n=function(){return{w:u,m:p}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){function a(t,r){o(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(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=p(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 s(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)||l(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 l(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 b(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,p(n.key),n)}}function p(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.d(t,{v:()=>v});var v=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=l(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,s(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&&b(e.prototype,t),r&&b(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,o,i,u,c}();const h=v;e.d(t,["A",0,h]);const d=t.A;export{v as Carta1Worker,d as default};
|
|
2
2
|
//# sourceMappingURL=carta1-worker-interface.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carta1-worker-interface.min.js","mappings":"AACA,IAAIA,EAAsB,CCA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,I,0ZCClF,IAAAI,EAAAC,EAAAC,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAf,EAAAY,EAAAI,aAAA,yBAAAC,EAAAL,EAAAE,EAAAd,EAAAiB,GAAA,IAAAC,EAAAJ,GAAAA,EAAAP,qBAAAY,EAAAL,EAAAK,EAAAC,EAAAnB,OAAAoB,OAAAH,EAAAX,WAAA,OAAAe,EAAAF,EAAA,mBAAAR,EAAAE,EAAAd,GAAA,IAAAiB,EAAAC,EAAAE,EAAAG,EAAA,EAAAC,EAAAxB,GAAA,GAAAyB,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAV,EAAA,EAAAa,EAAAjB,EAAAkB,EAAAC,EAAAN,EAAAM,EAAAC,KAAApB,EAAA,GAAAmB,EAAA,SAAAlB,EAAAC,GAAA,OAAAK,EAAAN,EAAAO,EAAA,EAAAE,EAAAV,EAAAgB,EAAAZ,EAAAF,EAAAgB,CAAA,YAAAC,EAAAjB,EAAAE,GAAA,IAAAI,EAAAN,EAAAQ,EAAAN,EAAAH,EAAA,GAAAc,GAAAF,IAAAvB,GAAAW,EAAAa,EAAAO,OAAApB,IAAA,KAAAX,EAAAiB,EAAAO,EAAAb,GAAAkB,EAAAH,EAAAF,EAAAQ,EAAAf,EAAA,GAAAL,EAAA,GAAAZ,EAAAgC,IAAAlB,KAAAM,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAP,GAAAO,EAAA,IAAAY,KAAA7B,EAAAY,EAAA,GAAAiB,EAAAZ,EAAA,KAAAC,EAAA,EAAAQ,EAAAC,EAAAb,EAAAY,EAAAZ,EAAAG,EAAA,IAAAY,EAAAG,IAAAhC,EAAAY,EAAA,GAAAK,EAAA,GAAAH,GAAAA,EAAAkB,KAAAf,EAAA,GAAAL,EAAAK,EAAA,GAAAH,EAAAY,EAAAZ,EAAAkB,EAAAd,EAAA,OAAAlB,GAAAY,EAAA,SAAAgB,EAAA,MAAAH,GAAA,EAAAX,CAAA,iBAAAd,EAAAwB,EAAAQ,GAAA,GAAAT,EAAA,QAAAU,UAAA,oCAAAR,GAAA,IAAAD,GAAAK,EAAAL,EAAAQ,GAAAd,EAAAM,EAAAJ,EAAAY,GAAArB,EAAAO,EAAA,EAAAR,EAAAU,KAAAK,GAAA,CAAAR,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAQ,EAAAZ,GAAA,GAAAe,EAAAX,EAAAE,IAAAM,EAAAZ,EAAAM,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAN,EAAA,IAAAC,IAAAlB,EAAA,QAAAW,EAAAM,EAAAjB,GAAA,MAAAW,EAAAA,EAAAF,KAAAQ,EAAAG,IAAA,MAAAa,UAAA,wCAAAtB,EAAAuB,KAAA,OAAAvB,EAAAS,EAAAT,EAAAwB,MAAAjB,EAAA,IAAAA,EAAA,YAAAA,IAAAP,EAAAM,EAAA,SAAAN,EAAAF,KAAAQ,GAAAC,EAAA,IAAAE,EAAAa,UAAA,oCAAAjC,EAAA,YAAAkB,EAAA,GAAAD,EAAAP,CAAA,UAAAC,GAAAc,EAAAC,EAAAZ,EAAA,GAAAM,EAAAR,EAAAH,KAAAK,EAAAY,MAAAE,EAAA,YAAAjB,GAAAM,EAAAP,EAAAQ,EAAA,EAAAE,EAAAT,CAAA,SAAAY,EAAA,UAAAY,MAAAxB,EAAAuB,KAAAT,EAAA,GAAAb,EAAAZ,EAAAiB,IAAA,GAAAG,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAiB,IAAA,UAAAC,IAAA,CAAA1B,EAAAV,OAAAqC,eAAA,IAAApB,EAAA,GAAAJ,GAAAH,EAAAA,EAAA,GAAAG,QAAAQ,EAAAX,EAAA,GAAAG,EAAA,yBAAAH,GAAAS,EAAAiB,EAAA9B,UAAAY,EAAAZ,UAAAN,OAAAoB,OAAAH,GAAA,SAAAK,EAAAb,GAAA,OAAAT,OAAAsC,eAAAtC,OAAAsC,eAAA7B,EAAA2B,IAAA3B,EAAA8B,UAAAH,EAAAf,EAAAZ,EAAAV,EAAA,sBAAAU,EAAAH,UAAAN,OAAAoB,OAAAD,GAAAV,CAAA,QAAA0B,EAAA7B,UAAA8B,EAAAf,EAAAF,EAAA,cAAAiB,GAAAf,EAAAe,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAnB,EAAAe,EAAArC,EAAA,qBAAAsB,EAAAF,GAAAE,EAAAF,EAAApB,EAAA,aAAAsB,EAAAF,EAAAN,EAAA,yBAAAQ,EAAAF,EAAA,oDAAAsB,EAAA,kBAAAC,EAAA1B,EAAA2B,EAAArB,EAAA,cAAAD,EAAAZ,EAAAE,EAAAE,EAAAH,GAAA,IAAAM,EAAAhB,OAAAC,eAAA,IAAAe,EAAA,gBAAAP,GAAAO,EAAA,EAAAK,EAAA,SAAAZ,EAAAE,EAAAE,EAAAH,GAAA,GAAAC,EAAAK,EAAAA,EAAAP,EAAAE,EAAA,CAAAuB,MAAArB,EAAAX,YAAAQ,EAAAkC,cAAAlC,EAAAmC,UAAAnC,IAAAD,EAAAE,GAAAE,MAAA,KAAAd,EAAA,SAAAY,EAAAE,GAAAQ,EAAAZ,EAAAE,EAAA,SAAAF,GAAA,YAAAqC,QAAAnC,EAAAE,EAAAJ,EAAA,IAAAV,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAsB,EAAAZ,EAAAE,EAAAE,EAAAH,EAAA,UAAAqC,EAAAtC,EAAAE,GAAA,IAAAD,EAAAV,OAAAgD,KAAAvC,GAAA,GAAAT,OAAAiD,sBAAA,KAAAlD,EAAAC,OAAAiD,sBAAAxC,GAAAE,IAAAZ,EAAAA,EAAAmD,OAAA,SAAAvC,GAAA,OAAAX,OAAAmD,yBAAA1C,EAAAE,GAAAT,UAAA,IAAAQ,EAAA0C,KAAAC,MAAA3C,EAAAX,EAAA,QAAAW,CAAA,UAAA4C,EAAA7C,GAAA,QAAAE,EAAA,EAAAA,EAAA4C,UAAAzB,OAAAnB,IAAA,KAAAD,EAAA,MAAA6C,UAAA5C,GAAA4C,UAAA5C,GAAA,GAAAA,EAAA,EAAAoC,EAAA/C,OAAAU,IAAA,GAAA8C,QAAA,SAAA7C,GAAA8C,EAAAhD,EAAAE,EAAAD,EAAAC,GAAA,GAAAX,OAAA0D,0BAAA1D,OAAA2D,iBAAAlD,EAAAT,OAAA0D,0BAAAhD,IAAAqC,EAAA/C,OAAAU,IAAA8C,QAAA,SAAA7C,GAAAX,OAAAC,eAAAQ,EAAAE,EAAAX,OAAAmD,yBAAAzC,EAAAC,GAAA,UAAAF,CAAA,UAAAgD,EAAAhD,EAAAE,EAAAD,GAAA,OAAAC,EAAAiD,EAAAjD,MAAAF,EAAAT,OAAAC,eAAAQ,EAAAE,EAAA,CAAAuB,MAAAxB,EAAAR,YAAA,EAAA0C,cAAA,EAAAC,UAAA,IAAApC,EAAAE,GAAAD,EAAAD,CAAA,UAAAoD,EAAAhD,EAAAH,EAAAD,EAAAE,EAAAZ,EAAA4B,EAAAV,GAAA,QAAAD,EAAAH,EAAAc,GAAAV,GAAAE,EAAAH,EAAAkB,KAAA,OAAArB,GAAA,YAAAJ,EAAAI,EAAA,CAAAG,EAAAiB,KAAAvB,EAAAS,GAAA2C,QAAAC,QAAA5C,GAAA6C,KAAArD,EAAAZ,EAAA,UAAAkE,EAAApD,GAAA,sBAAAH,EAAA,KAAAD,EAAA8C,UAAA,WAAAO,QAAA,SAAAnD,EAAAZ,GAAA,IAAA4B,EAAAd,EAAAwC,MAAA3C,EAAAD,GAAA,SAAAyD,EAAArD,GAAAgD,EAAAlC,EAAAhB,EAAAZ,EAAAmE,EAAAC,EAAA,OAAAtD,EAAA,UAAAsD,EAAAtD,GAAAgD,EAAAlC,EAAAhB,EAAAZ,EAAAmE,EAAAC,EAAA,QAAAtD,EAAA,CAAAqD,OAAA,eAAAE,EAAAzD,EAAAF,GAAA,gBAAAE,GAAA,GAAA0D,MAAAC,QAAA3D,GAAA,OAAAA,CAAA,CAAA4D,CAAA5D,IAAA,SAAAA,EAAAoB,GAAA,IAAArB,EAAA,MAAAC,EAAA,yBAAAC,QAAAD,EAAAC,OAAAE,WAAAH,EAAA,uBAAAD,EAAA,KAAAD,EAAAI,EAAAG,EAAAG,EAAAQ,EAAA,GAAAL,GAAA,EAAAvB,GAAA,SAAAiB,GAAAN,EAAAA,EAAAF,KAAAG,IAAA6D,KAAA,IAAAzC,EAAA,IAAA/B,OAAAU,KAAAA,EAAA,OAAAY,GAAA,cAAAA,GAAAb,EAAAO,EAAAR,KAAAE,IAAAuB,QAAAN,EAAAyB,KAAA3C,EAAAyB,OAAAP,EAAAG,SAAAC,GAAAT,GAAA,UAAAX,GAAAZ,GAAA,EAAAc,EAAAF,CAAA,iBAAAW,GAAA,MAAAZ,EAAA,SAAAS,EAAAT,EAAA,SAAAV,OAAAmB,KAAAA,GAAA,kBAAApB,EAAA,MAAAc,CAAA,SAAAc,CAAA,EAAA8C,CAAA9D,EAAAF,IAAAiE,EAAA/D,EAAAF,IAAA,qBAAAuB,UAAA,6IAAA2C,EAAA,UAAAD,EAAA/D,EAAAgB,GAAA,GAAAhB,EAAA,qBAAAA,EAAA,OAAAiE,EAAAjE,EAAAgB,GAAA,IAAAjB,EAAA,GAAAmE,SAAArE,KAAAG,GAAAmE,MAAA,uBAAApE,GAAAC,EAAAoE,cAAArE,EAAAC,EAAAoE,YAAAC,MAAA,QAAAtE,GAAA,QAAAA,EAAA2D,MAAAY,KAAAtE,GAAA,cAAAD,GAAA,2CAAAwE,KAAAxE,GAAAkE,EAAAjE,EAAAgB,QAAA,YAAAiD,EAAAjE,EAAAgB,IAAA,MAAAA,GAAAA,EAAAhB,EAAAmB,UAAAH,EAAAhB,EAAAmB,QAAA,QAAArB,EAAA,EAAAI,EAAAwD,MAAA1C,GAAAlB,EAAAkB,EAAAlB,IAAAI,EAAAJ,GAAAE,EAAAF,GAAA,OAAAI,CAAA,UAAAsE,EAAA1E,EAAAE,GAAA,QAAAD,EAAA,EAAAA,EAAAC,EAAAmB,OAAApB,IAAA,KAAAX,EAAAY,EAAAD,GAAAX,EAAAG,WAAAH,EAAAG,aAAA,EAAAH,EAAA6C,cAAA,YAAA7C,IAAAA,EAAA8C,UAAA,GAAA7C,OAAAC,eAAAQ,EAAAmD,EAAA7D,EAAAD,KAAAC,EAAA,WAAA6D,EAAAlD,GAAA,IAAAM,EAAA,SAAAN,EAAAC,GAAA,aAAAyE,EAAA1E,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAAE,OAAAyE,aAAA,YAAA5E,EAAA,KAAAO,EAAAP,EAAAD,KAAAE,EAAAC,GAAA,wBAAAyE,EAAApE,GAAA,OAAAA,EAAA,UAAAgB,UAAA,kEAAArB,EAAA2E,OAAAC,QAAA7E,EAAA,CAAA8E,CAAA9E,EAAA,0BAAA0E,EAAApE,GAAAA,EAAAA,EAAA,G,yBADA,IAgBMyE,EAAY,WA+ChB,OA9DFhF,EAqBE,SAAAgF,IAAiD,IAAAC,EAAA,KAArCC,EAAUpC,UAAAzB,OAAA,QAAA8D,IAAArC,UAAA,GAAAA,UAAA,GAAG,wBArB3B,SAAA5B,EAAAd,GAAA,KAAAc,aAAAd,GAAA,UAAAmB,UAAA,qCAqBiD6D,CAAA,KAAAJ,GAC7CK,KAAKC,OAAS,IAAIC,OAAOL,GACzBG,KAAKG,UAAY,EACjBH,KAAKI,KAAO,IAAIC,IAGhBL,KAAKC,OAAOK,UAAY,SAAC3F,GACvB,IAAA4F,EAAiC5F,EAAE6F,KAA3BC,EAAKF,EAALE,MAAOC,EAAKH,EAALG,MAAOC,EAAMJ,EAANI,OAEtB,GAAKF,EAKL,GAAIb,EAAKQ,KAAKQ,IAAIH,GAAQ,CACxB,IAAAI,EAA4BjB,EAAKQ,KAAK/F,IAAIoG,GAAlCxC,EAAO4C,EAAP5C,QAAS6C,EAAMD,EAANC,OACjBlB,EAAKQ,KAAI,OAAQK,GAEbC,EACFI,EAAO,IAAIC,MAAML,IACRC,EACT1C,EAAQ0C,GAERG,EAAO,IAAIC,MAAM,6BAErB,MACEC,QAAQC,KAAK,mCAAoCR,QAhBjDO,QAAQC,KAAK,kCAAmCtG,EAAE6F,KAkBtD,EAGAR,KAAKC,OAAOiB,QAAU,SAACR,GACrBM,QAAQN,MAAM,kBAAmBA,GACjC,IACsCS,EADtCC,EAtDN,SAAAvG,EAAAF,GAAA,IAAAC,EAAA,oBAAAE,QAAAD,EAAAC,OAAAE,WAAAH,EAAA,kBAAAD,EAAA,IAAA2D,MAAAC,QAAA3D,KAAAD,EAAAgE,EAAA/D,KAAAF,GAAAE,GAAA,iBAAAA,EAAAmB,OAAA,CAAApB,IAAAC,EAAAD,GAAA,IAAAyG,EAAA,EAAAC,EAAA,oBAAAC,EAAAD,EAAAvG,EAAA,kBAAAsG,GAAAxG,EAAAmB,OAAA,CAAAG,MAAA,IAAAA,MAAA,EAAAC,MAAAvB,EAAAwG,KAAA,EAAA1G,EAAA,SAAAE,GAAA,MAAAA,CAAA,EAAAW,EAAA8F,EAAA,WAAApF,UAAA,6IAAAjC,EAAA4B,GAAA,EAAAR,GAAA,SAAAkG,EAAA,WAAA3G,EAAAA,EAAAF,KAAAG,EAAA,EAAAE,EAAA,eAAAF,EAAAD,EAAA8D,OAAA,OAAA7C,EAAAhB,EAAAsB,KAAAtB,CAAA,EAAAF,EAAA,SAAAE,GAAAQ,GAAA,EAAApB,EAAAY,CAAA,EAAAW,EAAA,eAAAK,GAAA,MAAAjB,EAAA,QAAAA,EAAA,oBAAAS,EAAA,MAAApB,CAAA,IAsDMuH,CAC6B5B,EAAKQ,MAAI,IAAtC,IAAAgB,EAAAG,MAAAJ,EAAAC,EAAArG,KAAAoB,OACE2E,EADsCxC,EAAA6C,EAAA/E,MAAA,GAAlB,GAAN0E,QACP,IAAIC,MAAM,mBAAqBL,EAAMe,SAC7C,OAAAC,GAAAN,EAAAzG,EAAA+G,EAAA,SAAAN,EAAA5F,GAAA,CACDoE,EAAKQ,KAAKuB,OACZ,CACF,EA5DF9G,EA8DE,EAAAb,IAAA,SAAAoC,OAAAwF,EAAAzD,EAAAxB,IAAAE,EAcA,SAAAgF,EAAaC,GAAO,IAAAC,EAAAtB,EAAAuB,EAAA,KAAAC,EAAAxE,UAAA,OAAAd,IAAAC,EAAA,SAAAsF,GAAA,cAAAA,EAAAnH,EACY,OADVgH,EAAOE,EAAAjG,OAAA,QAAA8D,IAAAmC,EAAA,GAAAA,EAAA,GAAG,CAAC,EACzBxB,EAAQT,KAAKG,YAAW+B,EAAArG,EAAA,EACvB,IAAImC,QAAQ,SAACC,EAAS6C,GAC3BkB,EAAK5B,KAAK+B,IAAI1B,EAAO,CAAExC,QAAAA,EAAS6C,OAAAA,IAChC,IAEE,IAAMsB,EAAY5E,EAAA,GAAQuE,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,EAAArE,MAAC,KAADE,UAAA,IAoBZ,CAAAzD,IAAA,SAAAoC,OAAAoG,EAAArE,EAAAxB,IAAAE,EAWA,SAAA4F,EAAaC,GAAG,IAAAjC,EAAAkC,EAAA,YAAAhG,IAAAC,EAAA,SAAAgG,GAAA,cAAAA,EAAA7H,EACgB,OAAxB0F,EAAQT,KAAKG,YAAWyC,EAAA/G,EAAA,EACvB,IAAImC,QAAQ,SAACC,EAAS6C,GAC3B6B,EAAKvC,KAAK+B,IAAI1B,EAAO,CAAExC,QAAAA,EAAS6C,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,EAAAjF,MAAC,KAADE,UAAA,IAaZ,CAAAzD,IAAA,eAAAoC,OAAA0G,EAAA3E,EAAAxB,IAAAE,EASA,SAAAkG,EAAmBC,GAAI,IAAAvC,EAAAwC,EAAA,YAAAtG,IAAAC,EAAA,SAAAsG,GAAA,cAAAA,EAAAnI,EACS,OAAxB0F,EAAQT,KAAKG,YAAW+C,EAAArH,EAAA,EACvB,IAAImC,QAAQ,SAACC,EAAS6C,GAC3BmC,EAAK7C,KAAK+B,IAAI1B,EAAO,CAAExC,QAAAA,EAAS6C,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,EAAAvF,MAAC,KAADE,UAAA,IAalB,CAAAzD,IAAA,oBAAAoC,OAAAgH,EAAAjF,EAAAxB,IAAAE,EAKA,SAAAwG,IAAA,IAAA5C,EAAA6C,EAAA,YAAA3G,IAAAC,EAAA,SAAA2G,GAAA,cAAAA,EAAAxI,EACgC,OAAxB0F,EAAQT,KAAKG,YAAWoD,EAAA1H,EAAA,EACvB,IAAImC,QAAQ,SAACC,EAAS6C,GAC3BwC,EAAKlD,KAAK+B,IAAI1B,EAAO,CAAExC,QAAAA,EAAS6C,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,EAAA7F,MAAC,KAADE,UAAA,IAavB,CAAAzD,IAAA,YAAAoC,MAKA,WACM4D,KAAKC,SACPD,KAAKC,OAAOuD,YACZxD,KAAKC,OAAS,MAEhBD,KAAKI,KAAKuB,OACZ,IA3KF9G,GAAAwE,EAAA1E,EAAAH,UAAAK,GAAAD,GAAAyE,EAAA1E,EAAAC,GAAAV,OAAAC,eAAAQ,EAAA,aAAAoC,UAAA,IAAApC,EAAA,IAAAA,EAAAE,EAAAD,EA8IEwI,EAtBAN,EAxBAN,EAlCAZ,CA6GC,CA5Je,GA+JlB,U","sources":["webpack://carta1/webpack/bootstrap","webpack://carta1/webpack/runtime/define property getters","webpack://carta1/webpack/runtime/hasOwnProperty shorthand","webpack://carta1/./codec/browser/interface.js"],"sourcesContent":["// 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))","/**\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 * @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\nexport default Carta1Worker\nexport { Carta1Worker }\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","e","t","r","Symbol","n","iterator","toStringTag","i","c","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","done","value","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","this","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"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"carta1-worker-interface.min.js","mappings":"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","sources":["webpack://carta1/webpack/bootstrap","webpack://carta1/webpack/runtime/define property getters","webpack://carta1/webpack/runtime/hasOwnProperty shorthand","webpack://carta1/./codec/browser/interface.js"],"sourcesContent":["// The require scope\nconst __webpack_require__ = {};\n\n","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\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 * @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\nexport default Carta1Worker\nexport { Carta1Worker }\n"],"names":["__webpack_require__","exports","definition","Array","isArray","i","length","key","binding","o","Object","defineProperty","enumerable","value","get","obj","prop","prototype","hasOwnProperty","call","e","t","r","Symbol","n","iterator","toStringTag","c","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","this","setPrototypeOf","__proto__","displayName","_regenerator","w","m","_invoke","configurable","writable","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","_slicedToArray","_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","__WEBPACK_DEFAULT_EXPORT__"],"sourceRoot":""}
|