node-av 2.0.0 → 2.4.0
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 +18 -5
- package/binding.gyp +12 -0
- package/dist/api/bitstream-filter.d.ts +132 -0
- package/dist/api/bitstream-filter.js +198 -0
- package/dist/api/bitstream-filter.js.map +1 -1
- package/dist/api/decoder.d.ts +194 -0
- package/dist/api/decoder.js +313 -0
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/encoder.d.ts +263 -0
- package/dist/api/encoder.js +427 -0
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-presets.d.ts +92 -0
- package/dist/api/filter-presets.js +92 -0
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/filter.d.ts +234 -9
- package/dist/api/filter.js +372 -9
- package/dist/api/filter.js.map +1 -1
- package/dist/api/hardware.d.ts +17 -0
- package/dist/api/hardware.js +28 -17
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/io-stream.d.ts +6 -0
- package/dist/api/io-stream.js +2 -0
- package/dist/api/io-stream.js.map +1 -1
- package/dist/api/media-input.d.ts +214 -1
- package/dist/api/media-input.js +341 -0
- package/dist/api/media-input.js.map +1 -1
- package/dist/api/media-output.d.ts +132 -1
- package/dist/api/media-output.js +339 -0
- package/dist/api/media-output.js.map +1 -1
- package/dist/api/pipeline.d.ts +73 -8
- package/dist/api/pipeline.js +61 -0
- package/dist/api/pipeline.js.map +1 -1
- package/dist/api/types.d.ts +7 -0
- package/dist/api/utils.js +2 -0
- package/dist/api/utils.js.map +1 -1
- package/dist/lib/audio-fifo.d.ts +103 -0
- package/dist/lib/audio-fifo.js +109 -0
- package/dist/lib/audio-fifo.js.map +1 -1
- package/dist/lib/binding.d.ts +1 -0
- package/dist/lib/binding.js +32 -7
- package/dist/lib/binding.js.map +1 -1
- package/dist/lib/bitstream-filter-context.d.ts +79 -0
- package/dist/lib/bitstream-filter-context.js +83 -0
- package/dist/lib/bitstream-filter-context.js.map +1 -1
- package/dist/lib/bitstream-filter.d.ts +2 -0
- package/dist/lib/bitstream-filter.js +2 -0
- package/dist/lib/bitstream-filter.js.map +1 -1
- package/dist/lib/codec-context.d.ts +168 -0
- package/dist/lib/codec-context.js +178 -0
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/codec-parameters.d.ts +3 -0
- package/dist/lib/codec-parameters.js +3 -0
- package/dist/lib/codec-parameters.js.map +1 -1
- package/dist/lib/codec-parser.d.ts +6 -0
- package/dist/lib/codec-parser.js +6 -0
- package/dist/lib/codec-parser.js.map +1 -1
- package/dist/lib/codec.d.ts +12 -0
- package/dist/lib/codec.js +12 -0
- package/dist/lib/codec.js.map +1 -1
- package/dist/lib/dictionary.d.ts +16 -0
- package/dist/lib/dictionary.js +16 -0
- package/dist/lib/dictionary.js.map +1 -1
- package/dist/lib/error.d.ts +8 -0
- package/dist/lib/error.js +9 -0
- package/dist/lib/error.js.map +1 -1
- package/dist/lib/filter-context.d.ts +100 -0
- package/dist/lib/filter-context.js +104 -0
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/filter-graph.d.ts +80 -0
- package/dist/lib/filter-graph.js +84 -0
- package/dist/lib/filter-graph.js.map +1 -1
- package/dist/lib/filter-inout.d.ts +1 -0
- package/dist/lib/filter-inout.js +1 -0
- package/dist/lib/filter-inout.js.map +1 -1
- package/dist/lib/filter.d.ts +2 -0
- package/dist/lib/filter.js +2 -0
- package/dist/lib/filter.js.map +1 -1
- package/dist/lib/format-context.d.ts +338 -2
- package/dist/lib/format-context.js +355 -3
- package/dist/lib/format-context.js.map +1 -1
- package/dist/lib/frame.d.ts +41 -0
- package/dist/lib/frame.js +43 -0
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/hardware-device-context.d.ts +8 -0
- package/dist/lib/hardware-device-context.js +8 -0
- package/dist/lib/hardware-device-context.js.map +1 -1
- package/dist/lib/hardware-frames-context.d.ts +55 -0
- package/dist/lib/hardware-frames-context.js +57 -0
- package/dist/lib/hardware-frames-context.js.map +1 -1
- package/dist/lib/input-format.d.ts +43 -3
- package/dist/lib/input-format.js +48 -0
- package/dist/lib/input-format.js.map +1 -1
- package/dist/lib/io-context.d.ts +218 -0
- package/dist/lib/io-context.js +234 -0
- package/dist/lib/io-context.js.map +1 -1
- package/dist/lib/log.d.ts +2 -0
- package/dist/lib/log.js +2 -0
- package/dist/lib/log.js.map +1 -1
- package/dist/lib/native-types.d.ts +39 -1
- package/dist/lib/option.d.ts +90 -0
- package/dist/lib/option.js +97 -0
- package/dist/lib/option.js.map +1 -1
- package/dist/lib/output-format.d.ts +4 -0
- package/dist/lib/output-format.js +4 -0
- package/dist/lib/output-format.js.map +1 -1
- package/dist/lib/packet.d.ts +7 -0
- package/dist/lib/packet.js +7 -0
- package/dist/lib/packet.js.map +1 -1
- package/dist/lib/rational.d.ts +1 -0
- package/dist/lib/rational.js +1 -0
- package/dist/lib/rational.js.map +1 -1
- package/dist/lib/software-resample-context.d.ts +64 -0
- package/dist/lib/software-resample-context.js +66 -0
- package/dist/lib/software-resample-context.js.map +1 -1
- package/dist/lib/software-scale-context.d.ts +98 -0
- package/dist/lib/software-scale-context.js +102 -0
- package/dist/lib/software-scale-context.js.map +1 -1
- package/dist/lib/stream.d.ts +1 -0
- package/dist/lib/stream.js +1 -0
- package/dist/lib/stream.js.map +1 -1
- package/dist/lib/utilities.d.ts +60 -0
- package/dist/lib/utilities.js +60 -0
- package/dist/lib/utilities.js.map +1 -1
- package/package.json +19 -17
package/dist/api/types.d.ts
CHANGED
|
@@ -196,6 +196,7 @@ export interface IOInputCallbacks {
|
|
|
196
196
|
* Read callback - called when FFmpeg needs to read data.
|
|
197
197
|
*
|
|
198
198
|
* @param size - Number of bytes to read
|
|
199
|
+
*
|
|
199
200
|
* @returns Buffer with data, null for EOF, or negative error code
|
|
200
201
|
*/
|
|
201
202
|
read: (size: number) => Buffer | null | number;
|
|
@@ -203,7 +204,9 @@ export interface IOInputCallbacks {
|
|
|
203
204
|
* Seek callback - called when FFmpeg needs to seek in the stream.
|
|
204
205
|
*
|
|
205
206
|
* @param offset - Offset to seek to
|
|
207
|
+
*
|
|
206
208
|
* @param whence - Seek origin (AVSEEK_SET, AVSEEK_CUR, AVSEEK_END, or AVSEEK_SIZE)
|
|
209
|
+
*
|
|
207
210
|
* @returns New position or negative error code
|
|
208
211
|
*/
|
|
209
212
|
seek?: (offset: bigint, whence: number) => bigint | number;
|
|
@@ -220,6 +223,7 @@ export interface IOOutputCallbacks {
|
|
|
220
223
|
* Write callback - called when FFmpeg needs to write data.
|
|
221
224
|
*
|
|
222
225
|
* @param buffer - Buffer containing data to write
|
|
226
|
+
*
|
|
223
227
|
* @returns Number of bytes written or void
|
|
224
228
|
*/
|
|
225
229
|
write: (buffer: Buffer) => number | void;
|
|
@@ -227,7 +231,9 @@ export interface IOOutputCallbacks {
|
|
|
227
231
|
* Seek callback - called when FFmpeg needs to seek in the output.
|
|
228
232
|
*
|
|
229
233
|
* @param offset - Offset to seek to
|
|
234
|
+
*
|
|
230
235
|
* @param whence - Seek origin (AVSEEK_SET, AVSEEK_CUR, AVSEEK_END)
|
|
236
|
+
*
|
|
231
237
|
* @returns New position or negative error code
|
|
232
238
|
*/
|
|
233
239
|
seek?: (offset: bigint, whence: number) => bigint | number;
|
|
@@ -235,6 +241,7 @@ export interface IOOutputCallbacks {
|
|
|
235
241
|
* Read callback - some formats may need to read back data.
|
|
236
242
|
*
|
|
237
243
|
* @param size - Number of bytes to read
|
|
244
|
+
*
|
|
238
245
|
* @returns Buffer with data, null for EOF, or negative error code
|
|
239
246
|
*/
|
|
240
247
|
read?: (size: number) => Buffer | null | number;
|
package/dist/api/utils.js
CHANGED
|
@@ -59,7 +59,9 @@ class BitWriter {
|
|
|
59
59
|
* Get a specific bit value from a number.
|
|
60
60
|
*
|
|
61
61
|
* @param bits - The number to extract bits from
|
|
62
|
+
*
|
|
62
63
|
* @param startIndex - The starting bit index (0-based)
|
|
64
|
+
*
|
|
63
65
|
* @param length - The number of bits to extract
|
|
64
66
|
*
|
|
65
67
|
* @returns The extracted bit value
|
package/dist/api/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/api/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/api/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/audio-fifo.d.ts
CHANGED
|
@@ -62,7 +62,9 @@ export declare class AudioFifo implements Disposable, NativeWrapper<NativeAudioF
|
|
|
62
62
|
* Direct mapping to av_audio_fifo_alloc().
|
|
63
63
|
*
|
|
64
64
|
* @param sampleFmt - Sample format (e.g., AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_FLTP)
|
|
65
|
+
*
|
|
65
66
|
* @param channels - Number of audio channels
|
|
67
|
+
*
|
|
66
68
|
* @param nbSamples - Initial buffer size in samples
|
|
67
69
|
*
|
|
68
70
|
* @throws {Error} If allocation fails (ENOMEM)
|
|
@@ -112,6 +114,7 @@ export declare class AudioFifo implements Disposable, NativeWrapper<NativeAudioF
|
|
|
112
114
|
* Direct mapping to av_audio_fifo_write().
|
|
113
115
|
*
|
|
114
116
|
* @param data - Audio data buffer(s). Array for planar, single Buffer for interleaved
|
|
117
|
+
*
|
|
115
118
|
* @param nbSamples - Number of samples to write
|
|
116
119
|
*
|
|
117
120
|
* @returns Number of samples written, or negative AVERROR:
|
|
@@ -139,6 +142,39 @@ export declare class AudioFifo implements Disposable, NativeWrapper<NativeAudioF
|
|
|
139
142
|
* @see {@link space} To check available space
|
|
140
143
|
*/
|
|
141
144
|
write(data: Buffer | Buffer[], nbSamples: number): Promise<number>;
|
|
145
|
+
/**
|
|
146
|
+
* Write samples to the FIFO synchronously.
|
|
147
|
+
* Synchronous version of write.
|
|
148
|
+
*
|
|
149
|
+
* Adds audio samples to the FIFO buffer.
|
|
150
|
+
* The FIFO automatically handles format and layout conversions.
|
|
151
|
+
* Can write fewer samples than requested if space is limited.
|
|
152
|
+
*
|
|
153
|
+
* Direct mapping to av_audio_fifo_write().
|
|
154
|
+
*
|
|
155
|
+
* @param data - Audio data buffer(s). Array for planar, single Buffer for interleaved
|
|
156
|
+
*
|
|
157
|
+
* @param nbSamples - Number of samples to write per channel
|
|
158
|
+
*
|
|
159
|
+
* @returns Number of samples written, or negative AVERROR:
|
|
160
|
+
* - AVERROR_EINVAL: Invalid parameters
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* import { FFmpegError } from 'node-av';
|
|
165
|
+
*
|
|
166
|
+
* // Interleaved stereo data (2 channels * 1024 samples * 4 bytes)
|
|
167
|
+
* const buffer = Buffer.alloc(2 * 1024 * 4);
|
|
168
|
+
* // Fill with audio data...
|
|
169
|
+
*
|
|
170
|
+
* const written = fifo.writeSync(buffer, 1024);
|
|
171
|
+
* FFmpegError.throwIfError(written, 'writeSync');
|
|
172
|
+
* console.log(`Wrote ${written} samples`);
|
|
173
|
+
* ```
|
|
174
|
+
*
|
|
175
|
+
* @see {@link write} For async version
|
|
176
|
+
*/
|
|
177
|
+
writeSync(data: Buffer | Buffer[], nbSamples: number): number;
|
|
142
178
|
/**
|
|
143
179
|
* Read and remove samples from the FIFO.
|
|
144
180
|
*
|
|
@@ -149,6 +185,7 @@ export declare class AudioFifo implements Disposable, NativeWrapper<NativeAudioF
|
|
|
149
185
|
* Direct mapping to av_audio_fifo_read().
|
|
150
186
|
*
|
|
151
187
|
* @param data - Pre-allocated buffer(s) to read into. Array for planar, single Buffer for interleaved
|
|
188
|
+
*
|
|
152
189
|
* @param nbSamples - Maximum number of samples to read
|
|
153
190
|
*
|
|
154
191
|
* @returns Number of samples read, or negative AVERROR:
|
|
@@ -174,6 +211,39 @@ export declare class AudioFifo implements Disposable, NativeWrapper<NativeAudioF
|
|
|
174
211
|
* @see {@link size} To check available samples
|
|
175
212
|
*/
|
|
176
213
|
read(data: Buffer | Buffer[], nbSamples: number): Promise<number>;
|
|
214
|
+
/**
|
|
215
|
+
* Read and remove samples from the FIFO synchronously.
|
|
216
|
+
* Synchronous version of read.
|
|
217
|
+
*
|
|
218
|
+
* Reads up to the specified number of samples from the FIFO.
|
|
219
|
+
* The samples are removed from the FIFO after reading.
|
|
220
|
+
* Buffers must be pre-allocated with sufficient size.
|
|
221
|
+
*
|
|
222
|
+
* Direct mapping to av_audio_fifo_read().
|
|
223
|
+
*
|
|
224
|
+
* @param data - Pre-allocated buffer(s) to read into. Array for planar, single Buffer for interleaved
|
|
225
|
+
*
|
|
226
|
+
* @param nbSamples - Maximum number of samples to read
|
|
227
|
+
*
|
|
228
|
+
* @returns Number of samples read, or negative AVERROR:
|
|
229
|
+
* - AVERROR_EINVAL: Invalid parameters
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* ```typescript
|
|
233
|
+
* import { FFmpegError } from 'node-av';
|
|
234
|
+
*
|
|
235
|
+
* // Read up to 1024 samples
|
|
236
|
+
* const readBuffer = Buffer.alloc(2 * 1024 * 4); // stereo float32
|
|
237
|
+
* const read = fifo.readSync(readBuffer, 1024);
|
|
238
|
+
* FFmpegError.throwIfError(read, 'readSync');
|
|
239
|
+
*
|
|
240
|
+
* console.log(`Read ${read} samples from FIFO`);
|
|
241
|
+
* console.log(`FIFO now has ${fifo.size} samples remaining`);
|
|
242
|
+
* ```
|
|
243
|
+
*
|
|
244
|
+
* @see {@link read} For async version
|
|
245
|
+
*/
|
|
246
|
+
readSync(data: Buffer | Buffer[], nbSamples: number): number;
|
|
177
247
|
/**
|
|
178
248
|
* Read samples from the FIFO without removing them.
|
|
179
249
|
*
|
|
@@ -183,6 +253,7 @@ export declare class AudioFifo implements Disposable, NativeWrapper<NativeAudioF
|
|
|
183
253
|
* Direct mapping to av_audio_fifo_peek().
|
|
184
254
|
*
|
|
185
255
|
* @param data - Pre-allocated buffer(s) to peek into. Array for planar, single Buffer for interleaved
|
|
256
|
+
*
|
|
186
257
|
* @param nbSamples - Maximum number of samples to peek
|
|
187
258
|
*
|
|
188
259
|
* @returns Number of samples peeked, or negative AVERROR:
|
|
@@ -204,6 +275,38 @@ export declare class AudioFifo implements Disposable, NativeWrapper<NativeAudioF
|
|
|
204
275
|
* @see {@link read} To read and remove samples
|
|
205
276
|
*/
|
|
206
277
|
peek(data: Buffer | Buffer[], nbSamples: number): Promise<number>;
|
|
278
|
+
/**
|
|
279
|
+
* Read samples from the FIFO without removing them synchronously.
|
|
280
|
+
* Synchronous version of peek.
|
|
281
|
+
*
|
|
282
|
+
* Similar to readSync() but leaves the samples in the FIFO.
|
|
283
|
+
* Useful for inspecting upcoming data without consuming it.
|
|
284
|
+
*
|
|
285
|
+
* Direct mapping to av_audio_fifo_peek().
|
|
286
|
+
*
|
|
287
|
+
* @param data - Pre-allocated buffer(s) to peek into. Array for planar, single Buffer for interleaved
|
|
288
|
+
*
|
|
289
|
+
* @param nbSamples - Maximum number of samples to peek
|
|
290
|
+
*
|
|
291
|
+
* @returns Number of samples peeked, or negative AVERROR:
|
|
292
|
+
* - AVERROR_EINVAL: Invalid parameters
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* ```typescript
|
|
296
|
+
* import { FFmpegError } from 'node-av';
|
|
297
|
+
*
|
|
298
|
+
* // Peek at next samples without removing them
|
|
299
|
+
* const peekBuffer = Buffer.alloc(256 * 4);
|
|
300
|
+
* const peeked = fifo.peekSync(peekBuffer, 256);
|
|
301
|
+
* FFmpegError.throwIfError(peeked, 'peekSync');
|
|
302
|
+
*
|
|
303
|
+
* // Samples are still in FIFO
|
|
304
|
+
* console.log(`FIFO still has ${fifo.size} samples`);
|
|
305
|
+
* ```
|
|
306
|
+
*
|
|
307
|
+
* @see {@link peek} For async version
|
|
308
|
+
*/
|
|
309
|
+
peekSync(data: Buffer | Buffer[], nbSamples: number): number;
|
|
207
310
|
/**
|
|
208
311
|
* Remove samples from the FIFO without reading them.
|
|
209
312
|
*
|
package/dist/lib/audio-fifo.js
CHANGED
|
@@ -67,7 +67,9 @@ export class AudioFifo {
|
|
|
67
67
|
* Direct mapping to av_audio_fifo_alloc().
|
|
68
68
|
*
|
|
69
69
|
* @param sampleFmt - Sample format (e.g., AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_FLTP)
|
|
70
|
+
*
|
|
70
71
|
* @param channels - Number of audio channels
|
|
72
|
+
*
|
|
71
73
|
* @param nbSamples - Initial buffer size in samples
|
|
72
74
|
*
|
|
73
75
|
* @throws {Error} If allocation fails (ENOMEM)
|
|
@@ -121,6 +123,7 @@ export class AudioFifo {
|
|
|
121
123
|
* Direct mapping to av_audio_fifo_write().
|
|
122
124
|
*
|
|
123
125
|
* @param data - Audio data buffer(s). Array for planar, single Buffer for interleaved
|
|
126
|
+
*
|
|
124
127
|
* @param nbSamples - Number of samples to write
|
|
125
128
|
*
|
|
126
129
|
* @returns Number of samples written, or negative AVERROR:
|
|
@@ -150,6 +153,41 @@ export class AudioFifo {
|
|
|
150
153
|
async write(data, nbSamples) {
|
|
151
154
|
return await this.native.write(data, nbSamples);
|
|
152
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Write samples to the FIFO synchronously.
|
|
158
|
+
* Synchronous version of write.
|
|
159
|
+
*
|
|
160
|
+
* Adds audio samples to the FIFO buffer.
|
|
161
|
+
* The FIFO automatically handles format and layout conversions.
|
|
162
|
+
* Can write fewer samples than requested if space is limited.
|
|
163
|
+
*
|
|
164
|
+
* Direct mapping to av_audio_fifo_write().
|
|
165
|
+
*
|
|
166
|
+
* @param data - Audio data buffer(s). Array for planar, single Buffer for interleaved
|
|
167
|
+
*
|
|
168
|
+
* @param nbSamples - Number of samples to write per channel
|
|
169
|
+
*
|
|
170
|
+
* @returns Number of samples written, or negative AVERROR:
|
|
171
|
+
* - AVERROR_EINVAL: Invalid parameters
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* import { FFmpegError } from 'node-av';
|
|
176
|
+
*
|
|
177
|
+
* // Interleaved stereo data (2 channels * 1024 samples * 4 bytes)
|
|
178
|
+
* const buffer = Buffer.alloc(2 * 1024 * 4);
|
|
179
|
+
* // Fill with audio data...
|
|
180
|
+
*
|
|
181
|
+
* const written = fifo.writeSync(buffer, 1024);
|
|
182
|
+
* FFmpegError.throwIfError(written, 'writeSync');
|
|
183
|
+
* console.log(`Wrote ${written} samples`);
|
|
184
|
+
* ```
|
|
185
|
+
*
|
|
186
|
+
* @see {@link write} For async version
|
|
187
|
+
*/
|
|
188
|
+
writeSync(data, nbSamples) {
|
|
189
|
+
return this.native.writeSync(data, nbSamples);
|
|
190
|
+
}
|
|
153
191
|
/**
|
|
154
192
|
* Read and remove samples from the FIFO.
|
|
155
193
|
*
|
|
@@ -160,6 +198,7 @@ export class AudioFifo {
|
|
|
160
198
|
* Direct mapping to av_audio_fifo_read().
|
|
161
199
|
*
|
|
162
200
|
* @param data - Pre-allocated buffer(s) to read into. Array for planar, single Buffer for interleaved
|
|
201
|
+
*
|
|
163
202
|
* @param nbSamples - Maximum number of samples to read
|
|
164
203
|
*
|
|
165
204
|
* @returns Number of samples read, or negative AVERROR:
|
|
@@ -187,6 +226,41 @@ export class AudioFifo {
|
|
|
187
226
|
async read(data, nbSamples) {
|
|
188
227
|
return await this.native.read(data, nbSamples);
|
|
189
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Read and remove samples from the FIFO synchronously.
|
|
231
|
+
* Synchronous version of read.
|
|
232
|
+
*
|
|
233
|
+
* Reads up to the specified number of samples from the FIFO.
|
|
234
|
+
* The samples are removed from the FIFO after reading.
|
|
235
|
+
* Buffers must be pre-allocated with sufficient size.
|
|
236
|
+
*
|
|
237
|
+
* Direct mapping to av_audio_fifo_read().
|
|
238
|
+
*
|
|
239
|
+
* @param data - Pre-allocated buffer(s) to read into. Array for planar, single Buffer for interleaved
|
|
240
|
+
*
|
|
241
|
+
* @param nbSamples - Maximum number of samples to read
|
|
242
|
+
*
|
|
243
|
+
* @returns Number of samples read, or negative AVERROR:
|
|
244
|
+
* - AVERROR_EINVAL: Invalid parameters
|
|
245
|
+
*
|
|
246
|
+
* @example
|
|
247
|
+
* ```typescript
|
|
248
|
+
* import { FFmpegError } from 'node-av';
|
|
249
|
+
*
|
|
250
|
+
* // Read up to 1024 samples
|
|
251
|
+
* const readBuffer = Buffer.alloc(2 * 1024 * 4); // stereo float32
|
|
252
|
+
* const read = fifo.readSync(readBuffer, 1024);
|
|
253
|
+
* FFmpegError.throwIfError(read, 'readSync');
|
|
254
|
+
*
|
|
255
|
+
* console.log(`Read ${read} samples from FIFO`);
|
|
256
|
+
* console.log(`FIFO now has ${fifo.size} samples remaining`);
|
|
257
|
+
* ```
|
|
258
|
+
*
|
|
259
|
+
* @see {@link read} For async version
|
|
260
|
+
*/
|
|
261
|
+
readSync(data, nbSamples) {
|
|
262
|
+
return this.native.readSync(data, nbSamples);
|
|
263
|
+
}
|
|
190
264
|
/**
|
|
191
265
|
* Read samples from the FIFO without removing them.
|
|
192
266
|
*
|
|
@@ -196,6 +270,7 @@ export class AudioFifo {
|
|
|
196
270
|
* Direct mapping to av_audio_fifo_peek().
|
|
197
271
|
*
|
|
198
272
|
* @param data - Pre-allocated buffer(s) to peek into. Array for planar, single Buffer for interleaved
|
|
273
|
+
*
|
|
199
274
|
* @param nbSamples - Maximum number of samples to peek
|
|
200
275
|
*
|
|
201
276
|
* @returns Number of samples peeked, or negative AVERROR:
|
|
@@ -219,6 +294,40 @@ export class AudioFifo {
|
|
|
219
294
|
async peek(data, nbSamples) {
|
|
220
295
|
return await this.native.peek(data, nbSamples);
|
|
221
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Read samples from the FIFO without removing them synchronously.
|
|
299
|
+
* Synchronous version of peek.
|
|
300
|
+
*
|
|
301
|
+
* Similar to readSync() but leaves the samples in the FIFO.
|
|
302
|
+
* Useful for inspecting upcoming data without consuming it.
|
|
303
|
+
*
|
|
304
|
+
* Direct mapping to av_audio_fifo_peek().
|
|
305
|
+
*
|
|
306
|
+
* @param data - Pre-allocated buffer(s) to peek into. Array for planar, single Buffer for interleaved
|
|
307
|
+
*
|
|
308
|
+
* @param nbSamples - Maximum number of samples to peek
|
|
309
|
+
*
|
|
310
|
+
* @returns Number of samples peeked, or negative AVERROR:
|
|
311
|
+
* - AVERROR_EINVAL: Invalid parameters
|
|
312
|
+
*
|
|
313
|
+
* @example
|
|
314
|
+
* ```typescript
|
|
315
|
+
* import { FFmpegError } from 'node-av';
|
|
316
|
+
*
|
|
317
|
+
* // Peek at next samples without removing them
|
|
318
|
+
* const peekBuffer = Buffer.alloc(256 * 4);
|
|
319
|
+
* const peeked = fifo.peekSync(peekBuffer, 256);
|
|
320
|
+
* FFmpegError.throwIfError(peeked, 'peekSync');
|
|
321
|
+
*
|
|
322
|
+
* // Samples are still in FIFO
|
|
323
|
+
* console.log(`FIFO still has ${fifo.size} samples`);
|
|
324
|
+
* ```
|
|
325
|
+
*
|
|
326
|
+
* @see {@link peek} For async version
|
|
327
|
+
*/
|
|
328
|
+
peekSync(data, nbSamples) {
|
|
329
|
+
return this.native.peekSync(data, nbSamples);
|
|
330
|
+
}
|
|
222
331
|
/**
|
|
223
332
|
* Remove samples from the FIFO without reading them.
|
|
224
333
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-fifo.js","sourceRoot":"","sources":["../../src/lib/audio-fifo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAKxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAkB;IAEhC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"audio-fifo.js","sourceRoot":"","sources":["../../src/lib/audio-fifo.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/binding.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ interface NativeInputFormatConstructor {
|
|
|
34
34
|
findInputFormat(shortName: string): NativeInputFormat | null;
|
|
35
35
|
probe(buffer: Buffer, filename?: string): NativeInputFormat | null;
|
|
36
36
|
probeBuffer(ioContext: NativeIOContext, maxProbeSize?: number): Promise<NativeInputFormat | null>;
|
|
37
|
+
probeBufferSync(ioContext: NativeIOContext, maxProbeSize?: number): NativeInputFormat | null;
|
|
37
38
|
}
|
|
38
39
|
interface NativeOutputFormatConstructor {
|
|
39
40
|
new (): NativeOutputFormat;
|
package/dist/lib/binding.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { existsSync } from 'node:fs';
|
|
8
8
|
import { createRequire } from 'node:module';
|
|
9
|
+
import { type } from 'node:os';
|
|
9
10
|
import { dirname, resolve } from 'node:path';
|
|
10
11
|
import { fileURLToPath } from 'node:url';
|
|
11
12
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -37,15 +38,39 @@ function loadBinding() {
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
catch (err) {
|
|
40
|
-
errors.push(new Error(`Local build
|
|
41
|
+
errors.push(new Error(`Local build loading failed: ${err}`));
|
|
41
42
|
}
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
43
|
+
// For Windows, detect MinGW vs MSVC environment
|
|
44
|
+
if (platform === 'win32') {
|
|
45
|
+
const useMSVC = type() === 'Windows_NT';
|
|
46
|
+
// Try MinGW version first if in MinGW environment
|
|
47
|
+
if (!useMSVC) {
|
|
48
|
+
try {
|
|
49
|
+
const packageName = `@seydx/node-av-${platformArch}-mingw`;
|
|
50
|
+
return require(`${packageName}/node-av.node`);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
errors.push(new Error(`MinGW package not found or loading failed: ${err}`));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Try MSVC version (default for Windows)
|
|
57
|
+
try {
|
|
58
|
+
const packageName = `@seydx/node-av-${platformArch}-msvc`;
|
|
59
|
+
return require(`${packageName}/node-av.node`);
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
errors.push(new Error(`MSVC package not found or loading failed: ${err}`));
|
|
63
|
+
}
|
|
46
64
|
}
|
|
47
|
-
|
|
48
|
-
|
|
65
|
+
else {
|
|
66
|
+
// Non-Windows platforms
|
|
67
|
+
try {
|
|
68
|
+
const packageName = `@seydx/node-av-${platformArch}`;
|
|
69
|
+
return require(`${packageName}/node-av.node`);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
errors.push(new Error(`Platform package not found or loading failed: ${err}`));
|
|
73
|
+
}
|
|
49
74
|
}
|
|
50
75
|
// All attempts failed
|
|
51
76
|
const errorMessages = errors.map((e) => e.message).join('\n ');
|
package/dist/lib/binding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/lib/binding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAoCzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/lib/binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,7 @@ export declare class BitStreamFilterContext extends OptionMember<NativeBitStream
|
|
|
114
114
|
* Direct mapping to av_bsf_alloc().
|
|
115
115
|
*
|
|
116
116
|
* @param filter - The bitstream filter to use
|
|
117
|
+
*
|
|
117
118
|
* @returns 0 on success, negative AVERROR on error:
|
|
118
119
|
* - AVERROR_ENOMEM: Memory allocation failure
|
|
119
120
|
* - AVERROR_EINVAL: Invalid filter
|
|
@@ -210,6 +211,7 @@ export declare class BitStreamFilterContext extends OptionMember<NativeBitStream
|
|
|
210
211
|
* Direct mapping to av_bsf_send_packet().
|
|
211
212
|
*
|
|
212
213
|
* @param packet - Packet to filter, or null to signal EOF
|
|
214
|
+
*
|
|
213
215
|
* @returns 0 on success, negative AVERROR on error:
|
|
214
216
|
* - AVERROR_EAGAIN: Filter needs output to be consumed first
|
|
215
217
|
* - AVERROR_EOF: Filter has been flushed
|
|
@@ -237,6 +239,45 @@ export declare class BitStreamFilterContext extends OptionMember<NativeBitStream
|
|
|
237
239
|
* @see {@link receivePacket} To retrieve filtered packets
|
|
238
240
|
*/
|
|
239
241
|
sendPacket(packet: Packet | null): Promise<number>;
|
|
242
|
+
/**
|
|
243
|
+
* Send a packet to the bitstream filter synchronously.
|
|
244
|
+
* Synchronous version of sendPacket.
|
|
245
|
+
*
|
|
246
|
+
* Submits a packet for filtering. The filter may buffer packets
|
|
247
|
+
* internally and produce output with different timing.
|
|
248
|
+
*
|
|
249
|
+
* Direct mapping to av_bsf_send_packet().
|
|
250
|
+
*
|
|
251
|
+
* @param packet - Packet to filter (null to drain)
|
|
252
|
+
*
|
|
253
|
+
* @returns 0 on success, negative AVERROR on error:
|
|
254
|
+
* - AVERROR_EAGAIN: Need to receive packets first
|
|
255
|
+
* - AVERROR_EOF: Filter has been flushed
|
|
256
|
+
* - AVERROR_EINVAL: Invalid state
|
|
257
|
+
* - AVERROR(ENOMEM): Memory allocation failure
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```typescript
|
|
261
|
+
* import { FFmpegError } from 'node-av';
|
|
262
|
+
* import { AVERROR_EAGAIN } from 'node-av/constants';
|
|
263
|
+
*
|
|
264
|
+
* // Send packet to filter
|
|
265
|
+
* const ret = ctx.sendPacketSync(inputPacket);
|
|
266
|
+
* if (ret === AVERROR_EAGAIN) {
|
|
267
|
+
* // Need to receive output first
|
|
268
|
+
* const outputPacket = new Packet();
|
|
269
|
+
* ctx.receivePacketSync(outputPacket);
|
|
270
|
+
* } else {
|
|
271
|
+
* FFmpegError.throwIfError(ret, 'sendPacketSync');
|
|
272
|
+
* }
|
|
273
|
+
*
|
|
274
|
+
* // Drain filter
|
|
275
|
+
* ctx.sendPacketSync(null);
|
|
276
|
+
* ```
|
|
277
|
+
*
|
|
278
|
+
* @see {@link sendPacket} For async version
|
|
279
|
+
*/
|
|
280
|
+
sendPacketSync(packet: Packet | null): number;
|
|
240
281
|
/**
|
|
241
282
|
* Receive a filtered packet from the bitstream filter.
|
|
242
283
|
*
|
|
@@ -246,6 +287,7 @@ export declare class BitStreamFilterContext extends OptionMember<NativeBitStream
|
|
|
246
287
|
* Direct mapping to av_bsf_receive_packet().
|
|
247
288
|
*
|
|
248
289
|
* @param packet - Packet to receive filtered data into
|
|
290
|
+
*
|
|
249
291
|
* @returns 0 on success, negative AVERROR on error:
|
|
250
292
|
* - AVERROR_EAGAIN: Need more input
|
|
251
293
|
* - AVERROR_EOF: No more packets available
|
|
@@ -272,6 +314,43 @@ export declare class BitStreamFilterContext extends OptionMember<NativeBitStream
|
|
|
272
314
|
* @see {@link sendPacket} To submit packets for filtering
|
|
273
315
|
*/
|
|
274
316
|
receivePacket(packet: Packet): Promise<number>;
|
|
317
|
+
/**
|
|
318
|
+
* Receive a filtered packet from the bitstream filter synchronously.
|
|
319
|
+
* Synchronous version of receivePacket.
|
|
320
|
+
*
|
|
321
|
+
* Retrieves a packet that has been processed by the filter.
|
|
322
|
+
* May need to be called multiple times after each sendPacketSync().
|
|
323
|
+
*
|
|
324
|
+
* Direct mapping to av_bsf_receive_packet().
|
|
325
|
+
*
|
|
326
|
+
* @param packet - Packet to receive filtered data into
|
|
327
|
+
*
|
|
328
|
+
* @returns 0 on success, negative AVERROR on error:
|
|
329
|
+
* - AVERROR_EAGAIN: Need more input
|
|
330
|
+
* - AVERROR_EOF: No more packets available
|
|
331
|
+
*
|
|
332
|
+
* @example
|
|
333
|
+
* ```typescript
|
|
334
|
+
* import { FFmpegError } from 'node-av';
|
|
335
|
+
* import { AVERROR_EAGAIN, AVERROR_EOF } from 'node-av/constants';
|
|
336
|
+
*
|
|
337
|
+
* // Receive filtered packets
|
|
338
|
+
* const outputPacket = new Packet();
|
|
339
|
+
* let ret;
|
|
340
|
+
* while ((ret = ctx.receivePacketSync(outputPacket)) >= 0) {
|
|
341
|
+
* // Process filtered packet
|
|
342
|
+
* console.log(`Filtered packet size: ${outputPacket.size}`);
|
|
343
|
+
* outputPacket.unref();
|
|
344
|
+
* }
|
|
345
|
+
*
|
|
346
|
+
* if (ret !== AVERROR_EAGAIN && ret !== AVERROR_EOF) {
|
|
347
|
+
* FFmpegError.throwIfError(ret, 'receivePacketSync');
|
|
348
|
+
* }
|
|
349
|
+
* ```
|
|
350
|
+
*
|
|
351
|
+
* @see {@link receivePacket} For async version
|
|
352
|
+
*/
|
|
353
|
+
receivePacketSync(packet: Packet): number;
|
|
275
354
|
/**
|
|
276
355
|
* Get the underlying native BitStreamFilterContext object.
|
|
277
356
|
*
|