node-av 2.5.0 → 2.5.1
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/decoder.d.ts +4 -2
- package/dist/api/decoder.js +23 -10
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/types.d.ts +30 -28
- package/package.json +9 -9
package/dist/api/decoder.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export declare class Decoder implements Disposable {
|
|
|
50
50
|
private stream;
|
|
51
51
|
private initialized;
|
|
52
52
|
private isClosed;
|
|
53
|
-
private
|
|
53
|
+
private options;
|
|
54
54
|
/**
|
|
55
55
|
* @param codecContext - Configured codec context
|
|
56
56
|
*
|
|
@@ -58,7 +58,8 @@ export declare class Decoder implements Disposable {
|
|
|
58
58
|
*
|
|
59
59
|
* @param stream - Media stream being decoded
|
|
60
60
|
*
|
|
61
|
-
* @param
|
|
61
|
+
* @param options - Decoder options
|
|
62
|
+
*
|
|
62
63
|
* Use {@link create} factory method
|
|
63
64
|
*
|
|
64
65
|
* @internal
|
|
@@ -106,6 +107,7 @@ export declare class Decoder implements Disposable {
|
|
|
106
107
|
* using decoder = await Decoder.create(stream, {
|
|
107
108
|
* hardware: hw,
|
|
108
109
|
* threads: 0 // Auto-detect thread count
|
|
110
|
+
* exitOnError: false // Continue on decode errors (default: true)
|
|
109
111
|
* });
|
|
110
112
|
* ```
|
|
111
113
|
*
|
package/dist/api/decoder.js
CHANGED
|
@@ -49,7 +49,7 @@ export class Decoder {
|
|
|
49
49
|
stream;
|
|
50
50
|
initialized = true;
|
|
51
51
|
isClosed = false;
|
|
52
|
-
|
|
52
|
+
options;
|
|
53
53
|
/**
|
|
54
54
|
* @param codecContext - Configured codec context
|
|
55
55
|
*
|
|
@@ -57,16 +57,17 @@ export class Decoder {
|
|
|
57
57
|
*
|
|
58
58
|
* @param stream - Media stream being decoded
|
|
59
59
|
*
|
|
60
|
-
* @param
|
|
60
|
+
* @param options - Decoder options
|
|
61
|
+
*
|
|
61
62
|
* Use {@link create} factory method
|
|
62
63
|
*
|
|
63
64
|
* @internal
|
|
64
65
|
*/
|
|
65
|
-
constructor(codecContext, codec, stream,
|
|
66
|
+
constructor(codecContext, codec, stream, options = {}) {
|
|
66
67
|
this.codecContext = codecContext;
|
|
67
68
|
this.codec = codec;
|
|
68
69
|
this.stream = stream;
|
|
69
|
-
this.
|
|
70
|
+
this.options = options;
|
|
70
71
|
this.frame = new Frame();
|
|
71
72
|
this.frame.alloc();
|
|
72
73
|
}
|
|
@@ -112,6 +113,7 @@ export class Decoder {
|
|
|
112
113
|
* using decoder = await Decoder.create(stream, {
|
|
113
114
|
* hardware: hw,
|
|
114
115
|
* threads: 0 // Auto-detect thread count
|
|
116
|
+
* exitOnError: false // Continue on decode errors (default: true)
|
|
115
117
|
* });
|
|
116
118
|
* ```
|
|
117
119
|
*
|
|
@@ -149,6 +151,10 @@ export class Decoder {
|
|
|
149
151
|
if (isHWDecoder && options.hardware) {
|
|
150
152
|
codecContext.hwDeviceCtx = options.hardware.deviceContext;
|
|
151
153
|
}
|
|
154
|
+
else {
|
|
155
|
+
options.hardware = undefined;
|
|
156
|
+
}
|
|
157
|
+
options.exitOnError = options.exitOnError ?? true;
|
|
152
158
|
const opts = options.options ? Dictionary.fromObject(options.options) : undefined;
|
|
153
159
|
// Open codec
|
|
154
160
|
const openRet = await codecContext.open2(codec, opts);
|
|
@@ -156,7 +162,7 @@ export class Decoder {
|
|
|
156
162
|
codecContext.freeContext();
|
|
157
163
|
FFmpegError.throwIfError(openRet, 'Failed to open codec');
|
|
158
164
|
}
|
|
159
|
-
return new Decoder(codecContext, codec, stream,
|
|
165
|
+
return new Decoder(codecContext, codec, stream, options);
|
|
160
166
|
}
|
|
161
167
|
/**
|
|
162
168
|
* Create a decoder for a media stream synchronously.
|
|
@@ -237,6 +243,9 @@ export class Decoder {
|
|
|
237
243
|
if (isHWDecoder && options.hardware) {
|
|
238
244
|
codecContext.hwDeviceCtx = options.hardware.deviceContext;
|
|
239
245
|
}
|
|
246
|
+
else {
|
|
247
|
+
options.hardware = undefined;
|
|
248
|
+
}
|
|
240
249
|
const opts = options.options ? Dictionary.fromObject(options.options) : undefined;
|
|
241
250
|
// Open codec synchronously
|
|
242
251
|
const openRet = codecContext.open2Sync(codec, opts);
|
|
@@ -244,7 +253,7 @@ export class Decoder {
|
|
|
244
253
|
codecContext.freeContext();
|
|
245
254
|
FFmpegError.throwIfError(openRet, 'Failed to open codec');
|
|
246
255
|
}
|
|
247
|
-
return new Decoder(codecContext, codec, stream,
|
|
256
|
+
return new Decoder(codecContext, codec, stream, options);
|
|
248
257
|
}
|
|
249
258
|
/**
|
|
250
259
|
* Check if decoder is open.
|
|
@@ -294,7 +303,7 @@ export class Decoder {
|
|
|
294
303
|
* @see {@link HardwareContext} For hardware setup
|
|
295
304
|
*/
|
|
296
305
|
isHardware() {
|
|
297
|
-
return !!this.hardware && this.codec.isHardwareAcceleratedDecoder();
|
|
306
|
+
return !!this.options.hardware && this.codec.isHardwareAcceleratedDecoder();
|
|
298
307
|
}
|
|
299
308
|
/**
|
|
300
309
|
* Check if decoder is ready for processing.
|
|
@@ -367,7 +376,7 @@ export class Decoder {
|
|
|
367
376
|
return frame;
|
|
368
377
|
}
|
|
369
378
|
// If still failing, it's an error
|
|
370
|
-
if (sendRet !== AVERROR_EAGAIN) {
|
|
379
|
+
if (sendRet !== AVERROR_EAGAIN && this.options.exitOnError) {
|
|
371
380
|
FFmpegError.throwIfError(sendRet, 'Failed to send packet');
|
|
372
381
|
}
|
|
373
382
|
}
|
|
@@ -737,7 +746,9 @@ export class Decoder {
|
|
|
737
746
|
}
|
|
738
747
|
else {
|
|
739
748
|
// Error
|
|
740
|
-
|
|
749
|
+
if (this.options.exitOnError) {
|
|
750
|
+
FFmpegError.throwIfError(ret, 'Failed to receive frame');
|
|
751
|
+
}
|
|
741
752
|
return null;
|
|
742
753
|
}
|
|
743
754
|
}
|
|
@@ -791,7 +802,9 @@ export class Decoder {
|
|
|
791
802
|
}
|
|
792
803
|
else {
|
|
793
804
|
// Error
|
|
794
|
-
|
|
805
|
+
if (this.options.exitOnError) {
|
|
806
|
+
FFmpegError.throwIfError(ret, 'Failed to receive frame');
|
|
807
|
+
}
|
|
795
808
|
return null;
|
|
796
809
|
}
|
|
797
810
|
}
|
package/dist/api/decoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/api/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/api/decoder.ts"],"names":[],"mappings":"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"}
|
package/dist/api/types.d.ts
CHANGED
|
@@ -73,6 +73,34 @@ export interface MediaInputOptions {
|
|
|
73
73
|
*/
|
|
74
74
|
options?: Record<string, string | number>;
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Options for MediaOutput creation.
|
|
78
|
+
*
|
|
79
|
+
* Configures output container format and buffering.
|
|
80
|
+
*/
|
|
81
|
+
export interface MediaOutputOptions {
|
|
82
|
+
/**
|
|
83
|
+
* Preferred output format.
|
|
84
|
+
*
|
|
85
|
+
* If not specified, format is guessed from file extension.
|
|
86
|
+
* Use this to override automatic format detection.
|
|
87
|
+
*
|
|
88
|
+
*/
|
|
89
|
+
format?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Buffer size for I/O operations.
|
|
92
|
+
*
|
|
93
|
+
* This option controls the size of the internal buffer used for
|
|
94
|
+
* reading and writing data. A larger buffer may improve performance
|
|
95
|
+
* by reducing the number of I/O operations, but will also increase
|
|
96
|
+
* memory usage.
|
|
97
|
+
*
|
|
98
|
+
* @default 4096
|
|
99
|
+
*
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
bufferSize?: number;
|
|
103
|
+
}
|
|
76
104
|
/**
|
|
77
105
|
* Options for decoder creation.
|
|
78
106
|
*
|
|
@@ -83,6 +111,8 @@ export interface MediaInputOptions {
|
|
|
83
111
|
export interface DecoderOptions {
|
|
84
112
|
/** Number of threads to use (0 for auto) */
|
|
85
113
|
threads?: number;
|
|
114
|
+
/** Exit immediately on first decode error (default: true) */
|
|
115
|
+
exitOnError?: boolean;
|
|
86
116
|
/** Additional codec-specific options (passed to AVOptions) */
|
|
87
117
|
options?: Record<string, string | number>;
|
|
88
118
|
/** Hardware acceleration: Pass a HardwareContext instance */
|
|
@@ -117,34 +147,6 @@ export interface EncoderOptions {
|
|
|
117
147
|
/** Additional codec-specific options (passed to AVOptions) */
|
|
118
148
|
options?: Record<string, string | number>;
|
|
119
149
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Options for MediaOutput creation.
|
|
122
|
-
*
|
|
123
|
-
* Configures output container format and buffering.
|
|
124
|
-
*/
|
|
125
|
-
export interface MediaOutputOptions {
|
|
126
|
-
/**
|
|
127
|
-
* Preferred output format.
|
|
128
|
-
*
|
|
129
|
-
* If not specified, format is guessed from file extension.
|
|
130
|
-
* Use this to override automatic format detection.
|
|
131
|
-
*
|
|
132
|
-
*/
|
|
133
|
-
format?: string;
|
|
134
|
-
/**
|
|
135
|
-
* Buffer size for I/O operations.
|
|
136
|
-
*
|
|
137
|
-
* This option controls the size of the internal buffer used for
|
|
138
|
-
* reading and writing data. A larger buffer may improve performance
|
|
139
|
-
* by reducing the number of I/O operations, but will also increase
|
|
140
|
-
* memory usage.
|
|
141
|
-
*
|
|
142
|
-
* @default 4096
|
|
143
|
-
*
|
|
144
|
-
* ```
|
|
145
|
-
*/
|
|
146
|
-
bufferSize?: number;
|
|
147
|
-
}
|
|
148
150
|
/**
|
|
149
151
|
* Options for creating a filter instance.
|
|
150
152
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-av",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "FFmpeg bindings for Node.js",
|
|
5
5
|
"author": "seydx (https://github.com/seydx/av)",
|
|
6
6
|
"type": "module",
|
|
@@ -61,14 +61,14 @@
|
|
|
61
61
|
"update": "updates --update ./"
|
|
62
62
|
},
|
|
63
63
|
"optionalDependencies": {
|
|
64
|
-
"@seydx/node-av-darwin-arm64": "^2.5.
|
|
65
|
-
"@seydx/node-av-darwin-x64": "^2.5.
|
|
66
|
-
"@seydx/node-av-linux-arm64": "^2.5.
|
|
67
|
-
"@seydx/node-av-linux-x64": "^2.5.
|
|
68
|
-
"@seydx/node-av-win32-arm64-mingw": "^2.5.
|
|
69
|
-
"@seydx/node-av-win32-arm64-msvc": "^2.5.
|
|
70
|
-
"@seydx/node-av-win32-x64-mingw": "^2.5.
|
|
71
|
-
"@seydx/node-av-win32-x64-msvc": "^2.5.
|
|
64
|
+
"@seydx/node-av-darwin-arm64": "^2.5.1",
|
|
65
|
+
"@seydx/node-av-darwin-x64": "^2.5.1",
|
|
66
|
+
"@seydx/node-av-linux-arm64": "^2.5.1",
|
|
67
|
+
"@seydx/node-av-linux-x64": "^2.5.1",
|
|
68
|
+
"@seydx/node-av-win32-arm64-mingw": "^2.5.1",
|
|
69
|
+
"@seydx/node-av-win32-arm64-msvc": "^2.5.1",
|
|
70
|
+
"@seydx/node-av-win32-x64-mingw": "^2.5.1",
|
|
71
|
+
"@seydx/node-av-win32-x64-msvc": "^2.5.1"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@camera.ui/ffmpeg": "^0.0.14",
|