node-av 6.0.0-beta.4 → 6.0.0-beta.5

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.
@@ -0,0 +1,227 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { AVMEDIA_TYPE_ATTACHMENT, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA, AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_VIDEO } from '../constants/constants.js';
54
+ import { Codec } from '../lib/codec.js';
55
+ import { avGetPixFmtName, avGetSampleFmtName } from '../lib/utilities.js';
56
+ import { Demuxer } from './demuxer.js';
57
+ /**
58
+ * Map an `AVMediaType` to a readable stream type.
59
+ *
60
+ * @param codecType - The `AVMediaType` value
61
+ *
62
+ * @returns Readable stream type
63
+ *
64
+ * @internal
65
+ */
66
+ function mediaTypeToString(codecType) {
67
+ switch (codecType) {
68
+ case AVMEDIA_TYPE_VIDEO:
69
+ return 'video';
70
+ case AVMEDIA_TYPE_AUDIO:
71
+ return 'audio';
72
+ case AVMEDIA_TYPE_SUBTITLE:
73
+ return 'subtitle';
74
+ case AVMEDIA_TYPE_DATA:
75
+ return 'data';
76
+ case AVMEDIA_TYPE_ATTACHMENT:
77
+ return 'attachment';
78
+ default:
79
+ return 'unknown';
80
+ }
81
+ }
82
+ /**
83
+ * Build a {@link ProbeStream} from a low-level stream.
84
+ *
85
+ * @param stream - The low-level stream to summarize
86
+ *
87
+ * @returns Structured stream info
88
+ *
89
+ * @internal
90
+ */
91
+ function buildProbeStream(stream) {
92
+ const par = stream.codecpar;
93
+ const type = mediaTypeToString(par.codecType);
94
+ const codec = Codec.findDecoder(par.codecId);
95
+ const metadata = stream.metadata?.getAll() ?? {};
96
+ const info = {
97
+ index: stream.index,
98
+ type,
99
+ codec: codec?.name ?? 'unknown',
100
+ codecLongName: codec?.longName ?? '',
101
+ codecId: par.codecId,
102
+ bitrate: par.bitRate > 0n ? Number(par.bitRate) : 0,
103
+ metadata,
104
+ language: metadata.language,
105
+ default: (stream.disposition & 0x0001) !== 0,
106
+ };
107
+ if (type === 'video') {
108
+ info.width = par.width;
109
+ info.height = par.height;
110
+ info.pixelFormat = avGetPixFmtName(par.format) ?? undefined;
111
+ const fr = stream.avgFrameRate;
112
+ info.frameRate = fr && fr.den > 0 ? fr.num / fr.den : 0;
113
+ const sar = par.sampleAspectRatio;
114
+ if (sar && sar.num > 0 && sar.den > 0) {
115
+ info.sampleAspectRatio = { num: sar.num, den: sar.den };
116
+ }
117
+ }
118
+ else if (type === 'audio') {
119
+ info.sampleRate = par.sampleRate;
120
+ info.channels = par.channels;
121
+ info.sampleFormat = avGetSampleFmtName(par.format) ?? undefined;
122
+ }
123
+ return info;
124
+ }
125
+ /**
126
+ * Build the full {@link ProbeResult} from an open demuxer.
127
+ *
128
+ * @param demuxer - An open demuxer with stream info read
129
+ *
130
+ * @returns Structured probe result
131
+ *
132
+ * @internal
133
+ */
134
+ function buildProbeResult(demuxer) {
135
+ const streams = demuxer.streams.map(buildProbeStream);
136
+ return {
137
+ format: demuxer.formatName,
138
+ formatLongName: demuxer.formatLongName,
139
+ duration: demuxer.duration,
140
+ startTime: demuxer.startTime,
141
+ bitrate: Math.round(demuxer.bitRate * 1000),
142
+ nbStreams: streams.length,
143
+ streams,
144
+ metadata: demuxer.metadata,
145
+ video: streams.find((s) => s.type === 'video'),
146
+ audio: streams.find((s) => s.type === 'audio'),
147
+ };
148
+ }
149
+ /**
150
+ * Probe a media source and return structured metadata.
151
+ *
152
+ * Opens the input, reads stream information, builds a typed summary, and closes
153
+ * the input again. Equivalent to `ffprobe -show_format -show_streams`, but as a
154
+ * plain object.
155
+ *
156
+ * @param input - Media source: a file path/URL or an in-memory buffer
157
+ *
158
+ * @param options - Optional format hint and demuxer options
159
+ *
160
+ * @returns Structured probe result
161
+ *
162
+ * @throws {FFmpegError} If the input cannot be opened or has no stream info
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * const info = await probe('input.mkv');
167
+ * if (info.video) {
168
+ * console.log(`${info.video.codec} ${info.video.width}x${info.video.height} @ ${info.video.frameRate}fps`);
169
+ * }
170
+ * ```
171
+ *
172
+ * @see {@link probeSync} For the synchronous version
173
+ * @see {@link Demuxer} For full streaming access
174
+ */
175
+ // eslint-disable-next-line space-before-function-paren
176
+ export async function probe(input, options) {
177
+ const env_1 = { stack: [], error: void 0, hasError: false };
178
+ try {
179
+ const demuxer = __addDisposableResource(env_1, await Demuxer.open(input, options), true);
180
+ return buildProbeResult(demuxer);
181
+ }
182
+ catch (e_1) {
183
+ env_1.error = e_1;
184
+ env_1.hasError = true;
185
+ }
186
+ finally {
187
+ const result_1 = __disposeResources(env_1);
188
+ if (result_1)
189
+ await result_1;
190
+ }
191
+ }
192
+ /**
193
+ * Probe a media source and return structured metadata synchronously.
194
+ * Synchronous version of {@link probe}.
195
+ *
196
+ * @param input - Media source: a file path/URL or an in-memory buffer
197
+ *
198
+ * @param options - Optional format hint and demuxer options
199
+ *
200
+ * @returns Structured probe result
201
+ *
202
+ * @throws {FFmpegError} If the input cannot be opened or has no stream info
203
+ *
204
+ * @example
205
+ * ```typescript
206
+ * const info = probeSync('input.mkv');
207
+ * console.log(info.duration, info.streams.length);
208
+ * ```
209
+ *
210
+ * @see {@link probe} For the asynchronous version
211
+ */
212
+ // eslint-disable-next-line space-before-function-paren
213
+ export function probeSync(input, options) {
214
+ const env_2 = { stack: [], error: void 0, hasError: false };
215
+ try {
216
+ const demuxer = __addDisposableResource(env_2, Demuxer.openSync(input, options), false);
217
+ return buildProbeResult(demuxer);
218
+ }
219
+ catch (e_2) {
220
+ env_2.error = e_2;
221
+ env_2.hasError = true;
222
+ }
223
+ finally {
224
+ __disposeResources(env_2);
225
+ }
226
+ }
227
+ //# sourceMappingURL=probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/api/probe.ts"],"names":[],"mappings":"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"}
@@ -231,6 +231,75 @@ export declare class FFmpegError extends Error implements NativeWrapper<NativeFF
231
231
  * Human-readable description of the error.
232
232
  */
233
233
  get message(): string;
234
+ /**
235
+ * Whether this is EAGAIN (resource temporarily unavailable).
236
+ *
237
+ * In codec/filter contexts this means "output not available yet, feed more
238
+ * input" rather than a hard failure.
239
+ *
240
+ * @example
241
+ * ```typescript
242
+ * const error = FFmpegError.fromCode(ret);
243
+ * if (error?.isEAGAIN) {
244
+ * // send more input, then retry
245
+ * }
246
+ * ```
247
+ */
248
+ get isEAGAIN(): boolean;
249
+ /**
250
+ * Whether this is the end of stream (AVERROR_EOF).
251
+ */
252
+ get isEOF(): boolean;
253
+ /**
254
+ * Whether this is invalid data found while processing input (AVERROR_INVALIDDATA).
255
+ */
256
+ get isInvalidData(): boolean;
257
+ /**
258
+ * Whether this is EINVAL (invalid argument).
259
+ */
260
+ get isEINVAL(): boolean;
261
+ /**
262
+ * Whether this is ENOMEM (out of memory).
263
+ */
264
+ get isENOMEM(): boolean;
265
+ /**
266
+ * Whether this is ENOENT (no such file or directory).
267
+ */
268
+ get isENOENT(): boolean;
269
+ /**
270
+ * Whether this is EACCES (permission denied).
271
+ */
272
+ get isEACCES(): boolean;
273
+ /**
274
+ * Whether this is EIO (I/O error).
275
+ */
276
+ get isEIO(): boolean;
277
+ /**
278
+ * Whether this is EPIPE (broken pipe).
279
+ */
280
+ get isEPIPE(): boolean;
281
+ /**
282
+ * Whether this is the immediate-exit request (AVERROR_EXIT).
283
+ */
284
+ get isExit(): boolean;
285
+ /**
286
+ * Check if this error matches a specific code.
287
+ *
288
+ * @param errorCode - FFmpeg error code to compare against
289
+ *
290
+ * @returns True if this error's code matches
291
+ *
292
+ * @example
293
+ * ```typescript
294
+ * import { AVERROR_DECODER_NOT_FOUND } from 'node-av/constants';
295
+ *
296
+ * const error = FFmpegError.fromCode(ret);
297
+ * if (error?.is(AVERROR_DECODER_NOT_FOUND)) {
298
+ * // handle missing decoder
299
+ * }
300
+ * ```
301
+ */
302
+ is(errorCode: number): boolean;
234
303
  /**
235
304
  * Get the underlying native FFmpegError object.
236
305
  *
package/dist/lib/error.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { AVERROR_EOF, AVERROR_EXIT, AVERROR_INVALIDDATA } from '../constants/constants.js';
1
2
  import { bindings } from './binding.js';
2
3
  /**
3
4
  * POSIX error names that can be converted to FFmpeg error codes.
@@ -289,6 +290,97 @@ export class FFmpegError extends Error {
289
290
  get message() {
290
291
  return this.native.message;
291
292
  }
293
+ /**
294
+ * Whether this is EAGAIN (resource temporarily unavailable).
295
+ *
296
+ * In codec/filter contexts this means "output not available yet, feed more
297
+ * input" rather than a hard failure.
298
+ *
299
+ * @example
300
+ * ```typescript
301
+ * const error = FFmpegError.fromCode(ret);
302
+ * if (error?.isEAGAIN) {
303
+ * // send more input, then retry
304
+ * }
305
+ * ```
306
+ */
307
+ get isEAGAIN() {
308
+ return this.native.code === AVERROR_EAGAIN;
309
+ }
310
+ /**
311
+ * Whether this is the end of stream (AVERROR_EOF).
312
+ */
313
+ get isEOF() {
314
+ return this.native.code === AVERROR_EOF;
315
+ }
316
+ /**
317
+ * Whether this is invalid data found while processing input (AVERROR_INVALIDDATA).
318
+ */
319
+ get isInvalidData() {
320
+ return this.native.code === AVERROR_INVALIDDATA;
321
+ }
322
+ /**
323
+ * Whether this is EINVAL (invalid argument).
324
+ */
325
+ get isEINVAL() {
326
+ return this.native.code === AVERROR_EINVAL;
327
+ }
328
+ /**
329
+ * Whether this is ENOMEM (out of memory).
330
+ */
331
+ get isENOMEM() {
332
+ return this.native.code === AVERROR_ENOMEM;
333
+ }
334
+ /**
335
+ * Whether this is ENOENT (no such file or directory).
336
+ */
337
+ get isENOENT() {
338
+ return this.native.code === AVERROR_ENOENT;
339
+ }
340
+ /**
341
+ * Whether this is EACCES (permission denied).
342
+ */
343
+ get isEACCES() {
344
+ return this.native.code === AVERROR_EACCES;
345
+ }
346
+ /**
347
+ * Whether this is EIO (I/O error).
348
+ */
349
+ get isEIO() {
350
+ return this.native.code === AVERROR_EIO;
351
+ }
352
+ /**
353
+ * Whether this is EPIPE (broken pipe).
354
+ */
355
+ get isEPIPE() {
356
+ return this.native.code === AVERROR_EPIPE;
357
+ }
358
+ /**
359
+ * Whether this is the immediate-exit request (AVERROR_EXIT).
360
+ */
361
+ get isExit() {
362
+ return this.native.code === AVERROR_EXIT;
363
+ }
364
+ /**
365
+ * Check if this error matches a specific code.
366
+ *
367
+ * @param errorCode - FFmpeg error code to compare against
368
+ *
369
+ * @returns True if this error's code matches
370
+ *
371
+ * @example
372
+ * ```typescript
373
+ * import { AVERROR_DECODER_NOT_FOUND } from 'node-av/constants';
374
+ *
375
+ * const error = FFmpegError.fromCode(ret);
376
+ * if (error?.is(AVERROR_DECODER_NOT_FOUND)) {
377
+ * // handle missing decoder
378
+ * }
379
+ * ```
380
+ */
381
+ is(errorCode) {
382
+ return this.native.code === errorCode;
383
+ }
292
384
  /**
293
385
  * Get the underlying native FFmpegError object.
294
386
  *
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/lib/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAKxC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,UAiBX;AAjBD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,yBAAW,CAAA;IACX,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EAjBW,UAAU,KAAV,UAAU,QAiBrB;AAED,uDAAuD;AACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;AAE/C;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,IAAgB;IACtC,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gDAAgD;AAChD,8DAA8D;AAC9D,iFAAiF;AAEjF,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAE1D,gDAAgD;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAE9D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,uDAAuD;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAE9D,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,oDAAoD;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAElE,oDAAoD;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAE9D,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC5B,MAAM,CAAoB;IAElC,YAAY,IAAa;QACvB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAE1B,oFAAoF;QACpF,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAc;QAC5B,OAAO,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,CAAC,SAAqB;QAClC,OAAO,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,aAAa,CAAC,IAAY;QAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,SAAkB;QAClD,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,SAAS,EAAE,CAAC;gBACb,KAAa,CAAC,OAAO,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5D,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,EAAE,CAAC,IAAY,EAAE,SAAiB;QACvC,OAAO,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/lib/error.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-av",
3
- "version": "6.0.0-beta.4",
3
+ "version": "6.0.0-beta.5",
4
4
  "description": "FFmpeg bindings for Node.js",
5
5
  "author": "seydx (https://github.com/seydx/node-av)",
6
6
  "type": "module",
@@ -85,14 +85,14 @@
85
85
  },
86
86
  "optionalDependencies": {
87
87
  "werift": "^0.23.0",
88
- "@seydx/node-av-darwin-arm64": "^6.0.0-beta.4",
89
- "@seydx/node-av-darwin-x64": "^6.0.0-beta.4",
90
- "@seydx/node-av-linux-arm64": "^6.0.0-beta.4",
91
- "@seydx/node-av-linux-x64": "^6.0.0-beta.4",
92
- "@seydx/node-av-win32-arm64-mingw": "^6.0.0-beta.4",
93
- "@seydx/node-av-win32-arm64-msvc": "^6.0.0-beta.4",
94
- "@seydx/node-av-win32-x64-mingw": "^6.0.0-beta.4",
95
- "@seydx/node-av-win32-x64-msvc": "^6.0.0-beta.4"
88
+ "@seydx/node-av-darwin-arm64": "^6.0.0-beta.5",
89
+ "@seydx/node-av-darwin-x64": "^6.0.0-beta.5",
90
+ "@seydx/node-av-linux-arm64": "^6.0.0-beta.5",
91
+ "@seydx/node-av-linux-x64": "^6.0.0-beta.5",
92
+ "@seydx/node-av-win32-arm64-mingw": "^6.0.0-beta.5",
93
+ "@seydx/node-av-win32-arm64-msvc": "^6.0.0-beta.5",
94
+ "@seydx/node-av-win32-x64-mingw": "^6.0.0-beta.5",
95
+ "@seydx/node-av-win32-x64-msvc": "^6.0.0-beta.5"
96
96
  },
97
97
  "devDependencies": {
98
98
  "@stylistic/eslint-plugin": "^5.10.0",