@kenzuya/mediabunny 1.26.0 → 1.28.6
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 +1 -1
- package/dist/bundles/{mediabunny.mjs → mediabunny.js} +21963 -21390
- package/dist/bundles/mediabunny.min.js +490 -0
- package/dist/modules/shared/mp3-misc.d.ts.map +1 -1
- package/dist/modules/src/adts/adts-demuxer.d.ts +6 -6
- package/dist/modules/src/adts/adts-demuxer.d.ts.map +1 -1
- package/dist/modules/src/adts/adts-muxer.d.ts +4 -4
- package/dist/modules/src/adts/adts-muxer.d.ts.map +1 -1
- package/dist/modules/src/adts/adts-reader.d.ts +1 -1
- package/dist/modules/src/adts/adts-reader.d.ts.map +1 -1
- package/dist/modules/src/avi/avi-demuxer.d.ts +44 -0
- package/dist/modules/src/avi/avi-demuxer.d.ts.map +1 -0
- package/dist/modules/src/avi/avi-misc.d.ts +88 -0
- package/dist/modules/src/avi/avi-misc.d.ts.map +1 -0
- package/dist/modules/src/avi/avi-muxer.d.ts +45 -0
- package/dist/modules/src/avi/avi-muxer.d.ts.map +1 -0
- package/dist/modules/src/avi/riff-writer.d.ts +26 -0
- package/dist/modules/src/avi/riff-writer.d.ts.map +1 -0
- package/dist/modules/src/codec-data.d.ts +8 -3
- package/dist/modules/src/codec-data.d.ts.map +1 -1
- package/dist/modules/src/codec.d.ts +10 -10
- package/dist/modules/src/codec.d.ts.map +1 -1
- package/dist/modules/src/conversion.d.ts +33 -16
- package/dist/modules/src/conversion.d.ts.map +1 -1
- package/dist/modules/src/custom-coder.d.ts +8 -8
- package/dist/modules/src/custom-coder.d.ts.map +1 -1
- package/dist/modules/src/demuxer.d.ts +3 -3
- package/dist/modules/src/demuxer.d.ts.map +1 -1
- package/dist/modules/src/encode.d.ts +8 -8
- package/dist/modules/src/encode.d.ts.map +1 -1
- package/dist/modules/src/flac/flac-demuxer.d.ts +7 -7
- package/dist/modules/src/flac/flac-demuxer.d.ts.map +1 -1
- package/dist/modules/src/flac/flac-misc.d.ts +3 -3
- package/dist/modules/src/flac/flac-misc.d.ts.map +1 -1
- package/dist/modules/src/flac/flac-muxer.d.ts +5 -5
- package/dist/modules/src/flac/flac-muxer.d.ts.map +1 -1
- package/dist/modules/src/id3.d.ts +3 -3
- package/dist/modules/src/id3.d.ts.map +1 -1
- package/dist/modules/src/index.d.ts +20 -20
- package/dist/modules/src/index.d.ts.map +1 -1
- package/dist/modules/src/input-format.d.ts +22 -0
- package/dist/modules/src/input-format.d.ts.map +1 -1
- package/dist/modules/src/input-track.d.ts +8 -8
- package/dist/modules/src/input-track.d.ts.map +1 -1
- package/dist/modules/src/input.d.ts +12 -12
- package/dist/modules/src/isobmff/isobmff-boxes.d.ts +2 -2
- package/dist/modules/src/isobmff/isobmff-boxes.d.ts.map +1 -1
- package/dist/modules/src/isobmff/isobmff-demuxer.d.ts +12 -12
- package/dist/modules/src/isobmff/isobmff-demuxer.d.ts.map +1 -1
- package/dist/modules/src/isobmff/isobmff-misc.d.ts.map +1 -1
- package/dist/modules/src/isobmff/isobmff-muxer.d.ts +11 -11
- package/dist/modules/src/isobmff/isobmff-muxer.d.ts.map +1 -1
- package/dist/modules/src/isobmff/isobmff-reader.d.ts +2 -2
- package/dist/modules/src/isobmff/isobmff-reader.d.ts.map +1 -1
- package/dist/modules/src/matroska/ebml.d.ts +3 -3
- package/dist/modules/src/matroska/ebml.d.ts.map +1 -1
- package/dist/modules/src/matroska/matroska-demuxer.d.ts +13 -13
- package/dist/modules/src/matroska/matroska-demuxer.d.ts.map +1 -1
- package/dist/modules/src/matroska/matroska-input.d.ts +33 -0
- package/dist/modules/src/matroska/matroska-input.d.ts.map +1 -0
- package/dist/modules/src/matroska/matroska-misc.d.ts.map +1 -1
- package/dist/modules/src/matroska/matroska-muxer.d.ts +5 -5
- package/dist/modules/src/matroska/matroska-muxer.d.ts.map +1 -1
- package/dist/modules/src/media-sink.d.ts +5 -5
- package/dist/modules/src/media-sink.d.ts.map +1 -1
- package/dist/modules/src/media-source.d.ts +22 -4
- package/dist/modules/src/media-source.d.ts.map +1 -1
- package/dist/modules/src/metadata.d.ts +2 -2
- package/dist/modules/src/metadata.d.ts.map +1 -1
- package/dist/modules/src/misc.d.ts +5 -4
- package/dist/modules/src/misc.d.ts.map +1 -1
- package/dist/modules/src/mp3/mp3-demuxer.d.ts +7 -7
- package/dist/modules/src/mp3/mp3-demuxer.d.ts.map +1 -1
- package/dist/modules/src/mp3/mp3-muxer.d.ts +4 -4
- package/dist/modules/src/mp3/mp3-muxer.d.ts.map +1 -1
- package/dist/modules/src/mp3/mp3-reader.d.ts +2 -2
- package/dist/modules/src/mp3/mp3-reader.d.ts.map +1 -1
- package/dist/modules/src/mp3/mp3-writer.d.ts +1 -1
- package/dist/modules/src/mp3/mp3-writer.d.ts.map +1 -1
- package/dist/modules/src/muxer.d.ts +4 -4
- package/dist/modules/src/muxer.d.ts.map +1 -1
- package/dist/modules/src/ogg/ogg-demuxer.d.ts +7 -7
- package/dist/modules/src/ogg/ogg-demuxer.d.ts.map +1 -1
- package/dist/modules/src/ogg/ogg-misc.d.ts +1 -1
- package/dist/modules/src/ogg/ogg-misc.d.ts.map +1 -1
- package/dist/modules/src/ogg/ogg-muxer.d.ts +5 -5
- package/dist/modules/src/ogg/ogg-muxer.d.ts.map +1 -1
- package/dist/modules/src/ogg/ogg-reader.d.ts +1 -1
- package/dist/modules/src/ogg/ogg-reader.d.ts.map +1 -1
- package/dist/modules/src/output-format.d.ts +51 -6
- package/dist/modules/src/output-format.d.ts.map +1 -1
- package/dist/modules/src/output.d.ts +13 -13
- package/dist/modules/src/output.d.ts.map +1 -1
- package/dist/modules/src/packet.d.ts +1 -1
- package/dist/modules/src/packet.d.ts.map +1 -1
- package/dist/modules/src/pcm.d.ts.map +1 -1
- package/dist/modules/src/reader.d.ts +2 -2
- package/dist/modules/src/reader.d.ts.map +1 -1
- package/dist/modules/src/sample.d.ts +57 -15
- package/dist/modules/src/sample.d.ts.map +1 -1
- package/dist/modules/src/source.d.ts +3 -3
- package/dist/modules/src/source.d.ts.map +1 -1
- package/dist/modules/src/subtitles.d.ts +1 -1
- package/dist/modules/src/subtitles.d.ts.map +1 -1
- package/dist/modules/src/target.d.ts +2 -2
- package/dist/modules/src/target.d.ts.map +1 -1
- package/dist/modules/src/tsconfig.tsbuildinfo +1 -1
- package/dist/modules/src/wave/riff-writer.d.ts +1 -1
- package/dist/modules/src/wave/riff-writer.d.ts.map +1 -1
- package/dist/modules/src/wave/wave-demuxer.d.ts +6 -6
- package/dist/modules/src/wave/wave-demuxer.d.ts.map +1 -1
- package/dist/modules/src/wave/wave-muxer.d.ts +4 -4
- package/dist/modules/src/wave/wave-muxer.d.ts.map +1 -1
- package/dist/modules/src/writer.d.ts +1 -1
- package/dist/modules/src/writer.d.ts.map +1 -1
- package/dist/packages/eac3/eac3.wasm +0 -0
- package/dist/packages/eac3/mediabunny-eac3.js +1058 -0
- package/dist/packages/eac3/mediabunny-eac3.min.js +44 -0
- package/dist/packages/mp3-encoder/mediabunny-mp3-encoder.js +694 -0
- package/dist/packages/mp3-encoder/mediabunny-mp3-encoder.min.js +58 -0
- package/dist/packages/mpeg4/mediabunny-mpeg4.js +1198 -0
- package/dist/packages/mpeg4/mediabunny-mpeg4.min.js +44 -0
- package/dist/packages/mpeg4/xvid.wasm +0 -0
- package/package.json +18 -57
- package/dist/bundles/mediabunny.cjs +0 -26140
- package/dist/bundles/mediabunny.min.cjs +0 -147
- package/dist/bundles/mediabunny.min.mjs +0 -146
- package/dist/mediabunny.d.ts +0 -3319
- package/dist/modules/shared/mp3-misc.js +0 -147
- package/dist/modules/src/adts/adts-demuxer.js +0 -239
- package/dist/modules/src/adts/adts-muxer.js +0 -80
- package/dist/modules/src/adts/adts-reader.js +0 -63
- package/dist/modules/src/codec-data.js +0 -1730
- package/dist/modules/src/codec.js +0 -869
- package/dist/modules/src/conversion.js +0 -1459
- package/dist/modules/src/custom-coder.js +0 -117
- package/dist/modules/src/demuxer.js +0 -12
- package/dist/modules/src/encode.js +0 -442
- package/dist/modules/src/flac/flac-demuxer.js +0 -504
- package/dist/modules/src/flac/flac-misc.js +0 -135
- package/dist/modules/src/flac/flac-muxer.js +0 -222
- package/dist/modules/src/id3.js +0 -848
- package/dist/modules/src/index.js +0 -28
- package/dist/modules/src/input-format.js +0 -480
- package/dist/modules/src/input-track.js +0 -372
- package/dist/modules/src/input.js +0 -188
- package/dist/modules/src/isobmff/isobmff-boxes.js +0 -1480
- package/dist/modules/src/isobmff/isobmff-demuxer.js +0 -2618
- package/dist/modules/src/isobmff/isobmff-misc.js +0 -20
- package/dist/modules/src/isobmff/isobmff-muxer.js +0 -966
- package/dist/modules/src/isobmff/isobmff-reader.js +0 -72
- package/dist/modules/src/matroska/ebml.js +0 -653
- package/dist/modules/src/matroska/matroska-demuxer.js +0 -2133
- package/dist/modules/src/matroska/matroska-misc.js +0 -20
- package/dist/modules/src/matroska/matroska-muxer.js +0 -1017
- package/dist/modules/src/media-sink.js +0 -1736
- package/dist/modules/src/media-source.js +0 -1825
- package/dist/modules/src/metadata.js +0 -193
- package/dist/modules/src/misc.js +0 -623
- package/dist/modules/src/mp3/mp3-demuxer.js +0 -285
- package/dist/modules/src/mp3/mp3-muxer.js +0 -123
- package/dist/modules/src/mp3/mp3-reader.js +0 -26
- package/dist/modules/src/mp3/mp3-writer.js +0 -78
- package/dist/modules/src/muxer.js +0 -50
- package/dist/modules/src/node.d.ts +0 -9
- package/dist/modules/src/node.d.ts.map +0 -1
- package/dist/modules/src/node.js +0 -9
- package/dist/modules/src/ogg/ogg-demuxer.js +0 -763
- package/dist/modules/src/ogg/ogg-misc.js +0 -78
- package/dist/modules/src/ogg/ogg-muxer.js +0 -353
- package/dist/modules/src/ogg/ogg-reader.js +0 -65
- package/dist/modules/src/output-format.js +0 -527
- package/dist/modules/src/output.js +0 -300
- package/dist/modules/src/packet.js +0 -182
- package/dist/modules/src/pcm.js +0 -85
- package/dist/modules/src/reader.js +0 -236
- package/dist/modules/src/sample.js +0 -1056
- package/dist/modules/src/source.js +0 -1182
- package/dist/modules/src/subtitles.js +0 -575
- package/dist/modules/src/target.js +0 -140
- package/dist/modules/src/wave/riff-writer.js +0 -30
- package/dist/modules/src/wave/wave-demuxer.js +0 -447
- package/dist/modules/src/wave/wave-muxer.js +0 -318
- package/dist/modules/src/writer.js +0 -370
- package/src/adts/adts-demuxer.ts +0 -331
- package/src/adts/adts-muxer.ts +0 -111
- package/src/adts/adts-reader.ts +0 -85
- package/src/codec-data.ts +0 -2078
- package/src/codec.ts +0 -1092
- package/src/conversion.ts +0 -2112
- package/src/custom-coder.ts +0 -197
- package/src/demuxer.ts +0 -24
- package/src/encode.ts +0 -739
- package/src/flac/flac-demuxer.ts +0 -730
- package/src/flac/flac-misc.ts +0 -164
- package/src/flac/flac-muxer.ts +0 -320
- package/src/id3.ts +0 -925
- package/src/index.ts +0 -221
- package/src/input-format.ts +0 -541
- package/src/input-track.ts +0 -529
- package/src/input.ts +0 -235
- package/src/isobmff/isobmff-boxes.ts +0 -1719
- package/src/isobmff/isobmff-demuxer.ts +0 -3190
- package/src/isobmff/isobmff-misc.ts +0 -29
- package/src/isobmff/isobmff-muxer.ts +0 -1348
- package/src/isobmff/isobmff-reader.ts +0 -91
- package/src/matroska/ebml.ts +0 -730
- package/src/matroska/matroska-demuxer.ts +0 -2481
- package/src/matroska/matroska-misc.ts +0 -29
- package/src/matroska/matroska-muxer.ts +0 -1276
- package/src/media-sink.ts +0 -2179
- package/src/media-source.ts +0 -2243
- package/src/metadata.ts +0 -320
- package/src/misc.ts +0 -798
- package/src/mp3/mp3-demuxer.ts +0 -383
- package/src/mp3/mp3-muxer.ts +0 -166
- package/src/mp3/mp3-reader.ts +0 -34
- package/src/mp3/mp3-writer.ts +0 -120
- package/src/muxer.ts +0 -88
- package/src/node.ts +0 -11
- package/src/ogg/ogg-demuxer.ts +0 -1053
- package/src/ogg/ogg-misc.ts +0 -116
- package/src/ogg/ogg-muxer.ts +0 -497
- package/src/ogg/ogg-reader.ts +0 -93
- package/src/output-format.ts +0 -945
- package/src/output.ts +0 -488
- package/src/packet.ts +0 -263
- package/src/pcm.ts +0 -112
- package/src/reader.ts +0 -323
- package/src/sample.ts +0 -1461
- package/src/source.ts +0 -1688
- package/src/subtitles.ts +0 -711
- package/src/target.ts +0 -204
- package/src/tsconfig.json +0 -16
- package/src/wave/riff-writer.ts +0 -36
- package/src/wave/wave-demuxer.ts +0 -529
- package/src/wave/wave-muxer.ts +0 -371
- package/src/writer.ts +0 -490
package/src/target.ts
DELETED
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2025-present, Vanilagy and contributors
|
|
3
|
-
*
|
|
4
|
-
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
5
|
-
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
6
|
-
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { FileHandle } from 'node:fs/promises';
|
|
10
|
-
import { BufferTargetWriter, NullTargetWriter, StreamTargetWriter, Writer } from './writer';
|
|
11
|
-
import { Output } from './output';
|
|
12
|
-
import * as nodeAlias from './node';
|
|
13
|
-
import { assert } from './misc';
|
|
14
|
-
|
|
15
|
-
const node = typeof nodeAlias !== 'undefined'
|
|
16
|
-
? nodeAlias // Aliasing it prevents some bundler warnings
|
|
17
|
-
: undefined!;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Base class for targets, specifying where output files are written.
|
|
21
|
-
* @group Output targets
|
|
22
|
-
* @public
|
|
23
|
-
*/
|
|
24
|
-
export abstract class Target {
|
|
25
|
-
/** @internal */
|
|
26
|
-
_output: Output | null = null;
|
|
27
|
-
|
|
28
|
-
/** @internal */
|
|
29
|
-
abstract _createWriter(): Writer;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Called each time data is written to the target. Will be called with the byte range into which data was written.
|
|
33
|
-
*
|
|
34
|
-
* Use this callback to track the size of the output file as it grows. But be warned, this function is chatty and
|
|
35
|
-
* gets called *extremely* often.
|
|
36
|
-
*/
|
|
37
|
-
onwrite: ((start: number, end: number) => unknown) | null = null;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* A target that writes data directly into an ArrayBuffer in memory. Great for performance, but not suitable for very
|
|
42
|
-
* large files. The buffer will be available once the output has been finalized.
|
|
43
|
-
* @group Output targets
|
|
44
|
-
* @public
|
|
45
|
-
*/
|
|
46
|
-
export class BufferTarget extends Target {
|
|
47
|
-
/** Stores the final output buffer. Until the output is finalized, this will be `null`. */
|
|
48
|
-
buffer: ArrayBuffer | null = null;
|
|
49
|
-
|
|
50
|
-
/** @internal */
|
|
51
|
-
_createWriter() {
|
|
52
|
-
return new BufferTargetWriter(this);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* A data chunk for {@link StreamTarget}.
|
|
58
|
-
* @group Output targets
|
|
59
|
-
* @public
|
|
60
|
-
*/
|
|
61
|
-
export type StreamTargetChunk = {
|
|
62
|
-
/** The operation type. */
|
|
63
|
-
type: 'write'; // This ensures automatic compatibility with FileSystemWritableFileStream
|
|
64
|
-
/** The data to write. */
|
|
65
|
-
data: Uint8Array;
|
|
66
|
-
/** The byte offset in the output file at which to write the data. */
|
|
67
|
-
position: number;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Options for {@link StreamTarget}.
|
|
72
|
-
* @group Output targets
|
|
73
|
-
* @public
|
|
74
|
-
*/
|
|
75
|
-
export type StreamTargetOptions = {
|
|
76
|
-
/**
|
|
77
|
-
* When setting this to true, data created by the output will first be accumulated and only written out
|
|
78
|
-
* once it has reached sufficient size, using a default chunk size of 16 MiB. This is useful for reducing the total
|
|
79
|
-
* amount of writes, at the cost of latency.
|
|
80
|
-
*/
|
|
81
|
-
chunked?: boolean;
|
|
82
|
-
/** When using `chunked: true`, this specifies the maximum size of each chunk. Defaults to 16 MiB. */
|
|
83
|
-
chunkSize?: number;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* This target writes data to a [`WritableStream`](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream),
|
|
88
|
-
* making it a general-purpose target for writing data anywhere. It is also compatible with
|
|
89
|
-
* [`FileSystemWritableFileStream`](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream) for
|
|
90
|
-
* use with the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API). The
|
|
91
|
-
* `WritableStream` can also apply backpressure, which will propagate to the output and throttle the encoders.
|
|
92
|
-
* @group Output targets
|
|
93
|
-
* @public
|
|
94
|
-
*/
|
|
95
|
-
export class StreamTarget extends Target {
|
|
96
|
-
/** @internal */
|
|
97
|
-
_writable: WritableStream<StreamTargetChunk>;
|
|
98
|
-
/** @internal */
|
|
99
|
-
_options: StreamTargetOptions;
|
|
100
|
-
|
|
101
|
-
/** Creates a new {@link StreamTarget} which writes to the specified `writable`. */
|
|
102
|
-
constructor(
|
|
103
|
-
writable: WritableStream<StreamTargetChunk>,
|
|
104
|
-
options: StreamTargetOptions = {},
|
|
105
|
-
) {
|
|
106
|
-
super();
|
|
107
|
-
|
|
108
|
-
if (!(writable instanceof WritableStream)) {
|
|
109
|
-
throw new TypeError('StreamTarget requires a WritableStream instance.');
|
|
110
|
-
}
|
|
111
|
-
if (options != null && typeof options !== 'object') {
|
|
112
|
-
throw new TypeError('StreamTarget options, when provided, must be an object.');
|
|
113
|
-
}
|
|
114
|
-
if (options.chunked !== undefined && typeof options.chunked !== 'boolean') {
|
|
115
|
-
throw new TypeError('options.chunked, when provided, must be a boolean.');
|
|
116
|
-
}
|
|
117
|
-
if (options.chunkSize !== undefined && (!Number.isInteger(options.chunkSize) || options.chunkSize < 1024)) {
|
|
118
|
-
throw new TypeError('options.chunkSize, when provided, must be an integer and not smaller than 1024.');
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
this._writable = writable;
|
|
122
|
-
this._options = options;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/** @internal */
|
|
126
|
-
_createWriter() {
|
|
127
|
-
return new StreamTargetWriter(this);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Options for {@link FilePathTarget}.
|
|
133
|
-
* @group Output targets
|
|
134
|
-
* @public
|
|
135
|
-
*/
|
|
136
|
-
export type FilePathTargetOptions = StreamTargetOptions;
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* A target that writes to a file at the specified path. Intended for server-side usage in Node, Bun, or Deno.
|
|
140
|
-
*
|
|
141
|
-
* Writing is chunked by default. The internally held file handle will be closed when `.finalize()` or `.cancel()` are
|
|
142
|
-
* called on the corresponding {@link Output}.
|
|
143
|
-
* @group Output targets
|
|
144
|
-
* @public
|
|
145
|
-
*/
|
|
146
|
-
export class FilePathTarget extends Target {
|
|
147
|
-
/** @internal */
|
|
148
|
-
_streamTarget: StreamTarget;
|
|
149
|
-
/** @internal */
|
|
150
|
-
_fileHandle: FileHandle | null = null;
|
|
151
|
-
|
|
152
|
-
/** Creates a new {@link FilePathTarget} that writes to the file at the specified file path. */
|
|
153
|
-
constructor(filePath: string, options: FilePathTargetOptions = {}) {
|
|
154
|
-
if (typeof filePath !== 'string') {
|
|
155
|
-
throw new TypeError('filePath must be a string.');
|
|
156
|
-
}
|
|
157
|
-
if (!options || typeof options !== 'object') {
|
|
158
|
-
throw new TypeError('options must be an object.');
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
super();
|
|
162
|
-
|
|
163
|
-
// Let's back this target with a StreamTarget, makes the implementation very simple
|
|
164
|
-
const writable = new WritableStream<StreamTargetChunk>({
|
|
165
|
-
start: async () => {
|
|
166
|
-
this._fileHandle = await node.fs.open(filePath, 'w');
|
|
167
|
-
},
|
|
168
|
-
write: async (chunk) => {
|
|
169
|
-
assert(this._fileHandle);
|
|
170
|
-
await this._fileHandle.write(chunk.data, 0, chunk.data.byteLength, chunk.position);
|
|
171
|
-
},
|
|
172
|
-
close: async () => {
|
|
173
|
-
if (this._fileHandle) {
|
|
174
|
-
await this._fileHandle.close();
|
|
175
|
-
this._fileHandle = null;
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
this._streamTarget = new StreamTarget(writable, {
|
|
181
|
-
chunked: true,
|
|
182
|
-
...options,
|
|
183
|
-
});
|
|
184
|
-
this._streamTarget._output = this._output;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/** @internal */
|
|
188
|
-
_createWriter(): Writer {
|
|
189
|
-
return this._streamTarget._createWriter();
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* This target just discards all incoming data. It is useful for when you need an {@link Output} but extract data from
|
|
195
|
-
* it differently, for example through format-specific callbacks (`onMoof`, `onMdat`, ...) or encoder events.
|
|
196
|
-
* @group Output targets
|
|
197
|
-
* @public
|
|
198
|
-
*/
|
|
199
|
-
export class NullTarget extends Target {
|
|
200
|
-
/** @internal */
|
|
201
|
-
_createWriter() {
|
|
202
|
-
return new NullTargetWriter(this);
|
|
203
|
-
}
|
|
204
|
-
}
|
package/src/tsconfig.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "../dist/modules",
|
|
5
|
-
"rootDir": "..",
|
|
6
|
-
"declaration": true,
|
|
7
|
-
"declarationMap": true,
|
|
8
|
-
"stripInternal": true,
|
|
9
|
-
"noEmit": false,
|
|
10
|
-
"composite": true
|
|
11
|
-
},
|
|
12
|
-
"include": [
|
|
13
|
-
"**/*",
|
|
14
|
-
"../shared/**/*"
|
|
15
|
-
]
|
|
16
|
-
}
|
package/src/wave/riff-writer.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2025-present, Vanilagy and contributors
|
|
3
|
-
*
|
|
4
|
-
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
5
|
-
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
6
|
-
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { Writer } from '../writer';
|
|
10
|
-
|
|
11
|
-
export class RiffWriter {
|
|
12
|
-
private helper = new Uint8Array(8);
|
|
13
|
-
private helperView = new DataView(this.helper.buffer);
|
|
14
|
-
|
|
15
|
-
constructor(private writer: Writer) {}
|
|
16
|
-
|
|
17
|
-
writeU16(value: number) {
|
|
18
|
-
this.helperView.setUint16(0, value, true);
|
|
19
|
-
this.writer.write(this.helper.subarray(0, 2));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
writeU32(value: number) {
|
|
23
|
-
this.helperView.setUint32(0, value, true);
|
|
24
|
-
this.writer.write(this.helper.subarray(0, 4));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
writeU64(value: number) {
|
|
28
|
-
this.helperView.setUint32(0, value, true);
|
|
29
|
-
this.helperView.setUint32(4, Math.floor(value / 2 ** 32), true);
|
|
30
|
-
this.writer.write(this.helper);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
writeAscii(text: string) {
|
|
34
|
-
this.writer.write(new TextEncoder().encode(text));
|
|
35
|
-
}
|
|
36
|
-
}
|