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.
- package/dist/api/filter-complex.d.ts +2 -1
- package/dist/api/filter-complex.js +3 -1
- package/dist/api/filter-complex.js.map +1 -1
- package/dist/api/filter-presets.d.ts +107 -0
- package/dist/api/filter-presets.js +115 -0
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/index.d.ts +3 -2
- package/dist/api/index.js +4 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/pipeline.d.ts +50 -0
- package/dist/api/pipeline.js +132 -16
- package/dist/api/pipeline.js.map +1 -1
- package/dist/api/probe.d.ts +128 -0
- package/dist/api/probe.js +227 -0
- package/dist/api/probe.js.map +1 -0
- package/dist/lib/error.d.ts +69 -0
- package/dist/lib/error.js +92 -0
- package/dist/lib/error.js.map +1 -1
- package/package.json +9 -9
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACtJ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAyFvC;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,OAAO,CAAC;QACjB,KAAK,kBAAkB;YACrB,OAAO,OAAO,CAAC;QACjB,KAAK,qBAAqB;YACxB,OAAO,UAAU,CAAC;QACpB,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC;QAChB,KAAK,uBAAuB;YAC1B,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAEjD,MAAM,IAAI,GAAgB;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI;QACJ,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS;QAC/B,aAAa,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE;QACpC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,QAAQ;QACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;KAC7C,CAAC;IAEF,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,MAAuB,CAAC,IAAI,SAAS,CAAC;QAC7E,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC;QAClC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAwB,CAAC,IAAI,SAAS,CAAC;IACpF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,OAAgB;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEtD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,UAAU;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3C,SAAS,EAAE,OAAO,CAAC,MAAM;QACzB,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QAC9C,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,KAAsB,EACtB,OAAyB;;;QAEzB,MAAY,OAAO,kCAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,OAAA,CAAC;QACzD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;;;;;;;;;;;CAClC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,uDAAuD;AACvD,MAAM,UAAU,SAAS,CAAgF,KAAsB,EAAE,OAAyB;;;QACxJ,MAAM,OAAO,kCAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAA,CAAC;QACjD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;;;;;;;;;CAClC"}
|
package/dist/lib/error.d.ts
CHANGED
|
@@ -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
|
*
|
package/dist/lib/error.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
89
|
-
"@seydx/node-av-darwin-x64": "^6.0.0-beta.
|
|
90
|
-
"@seydx/node-av-linux-arm64": "^6.0.0-beta.
|
|
91
|
-
"@seydx/node-av-linux-x64": "^6.0.0-beta.
|
|
92
|
-
"@seydx/node-av-win32-arm64-mingw": "^6.0.0-beta.
|
|
93
|
-
"@seydx/node-av-win32-arm64-msvc": "^6.0.0-beta.
|
|
94
|
-
"@seydx/node-av-win32-x64-mingw": "^6.0.0-beta.
|
|
95
|
-
"@seydx/node-av-win32-x64-msvc": "^6.0.0-beta.
|
|
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",
|