node-av 3.0.2 → 3.0.4

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.
Files changed (38) hide show
  1. package/README.md +38 -1
  2. package/binding.gyp +1 -0
  3. package/dist/api/encoder.d.ts +26 -1
  4. package/dist/api/encoder.js +52 -7
  5. package/dist/api/encoder.js.map +1 -1
  6. package/dist/api/filter-presets.js +25 -44
  7. package/dist/api/filter-presets.js.map +1 -1
  8. package/dist/api/filter.d.ts +4 -1
  9. package/dist/api/filter.js +77 -54
  10. package/dist/api/filter.js.map +1 -1
  11. package/dist/api/hardware.js +0 -9
  12. package/dist/api/hardware.js.map +1 -1
  13. package/dist/api/media-output.js +77 -6
  14. package/dist/api/media-output.js.map +1 -1
  15. package/dist/api/types.d.ts +10 -9
  16. package/dist/api/utilities/streaming.js +1 -1
  17. package/dist/api/utilities/streaming.js.map +1 -1
  18. package/dist/ffmpeg/install.js +1 -1
  19. package/dist/ffmpeg/install.js.map +1 -1
  20. package/dist/lib/binding.js +26 -23
  21. package/dist/lib/binding.js.map +1 -1
  22. package/dist/lib/dictionary.d.ts +1 -1
  23. package/dist/lib/dictionary.js +3 -0
  24. package/dist/lib/dictionary.js.map +1 -1
  25. package/dist/lib/filter-graph-segment.d.ts +160 -0
  26. package/dist/lib/filter-graph-segment.js +171 -0
  27. package/dist/lib/filter-graph-segment.js.map +1 -0
  28. package/dist/lib/filter-graph.d.ts +37 -0
  29. package/dist/lib/filter-graph.js +40 -0
  30. package/dist/lib/filter-graph.js.map +1 -1
  31. package/dist/lib/index.d.ts +1 -0
  32. package/dist/lib/index.js +1 -0
  33. package/dist/lib/index.js.map +1 -1
  34. package/dist/lib/native-types.d.ts +17 -0
  35. package/dist/lib/rational.d.ts +25 -1
  36. package/dist/lib/rational.js +32 -5
  37. package/dist/lib/rational.js.map +1 -1
  38. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAEA,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,iBAAiB;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,oBAAoB;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAEpE,yBAAyB;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,mCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,UAAU;AACV,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY;AACZ,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAEA,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,iBAAiB;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,oBAAoB;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAEpE,yBAAyB;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,mCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,UAAU;AACV,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY;AACZ,cAAc,gBAAgB,CAAC"}
@@ -639,6 +639,7 @@ export interface NativeFilterGraph extends Disposable {
639
639
  parse(filters: string, inputs: NativeFilterInOut | null, outputs: NativeFilterInOut | null): number;
640
640
  parse2(filters: string): number;
641
641
  parsePtr(filters: string, inputs?: NativeFilterInOut | null, outputs?: NativeFilterInOut | null): number;
642
+ segmentParse(filters: string, flags?: number): NativeFilterGraphSegment | null;
642
643
  validate(): number;
643
644
  requestOldest(): Promise<number>;
644
645
  requestOldestSync(): number;
@@ -649,6 +650,22 @@ export interface NativeFilterGraph extends Disposable {
649
650
  queueCommand(target: string, cmd: string, arg: string, ts: number, flags?: AVFilterCmdFlag): number;
650
651
  [Symbol.dispose](): void;
651
652
  }
653
+ /**
654
+ * Native AVFilterGraphSegment binding interface
655
+ *
656
+ * Represents a parsed filtergraph segment.
657
+ * Separates filter parsing from initialization.
658
+ *
659
+ * @internal
660
+ */
661
+ export interface NativeFilterGraphSegment extends Disposable {
662
+ readonly __brand: 'NativeFilterGraphSegment';
663
+ free(): void;
664
+ createFilters(flags?: number): number;
665
+ applyOpts(flags?: number): number;
666
+ apply(inputs: NativeFilterInOut, outputs: NativeFilterInOut, flags?: number): number;
667
+ [Symbol.dispose](): void;
668
+ }
652
669
  /**
653
670
  * Native AVFilterInOut binding interface
654
671
  *
@@ -134,6 +134,27 @@ export declare class Rational {
134
134
  * ```
135
135
  */
136
136
  div(other: Rational): Rational;
137
+ /**
138
+ * Check if this rational is valid (both num and den are positive).
139
+ *
140
+ * FFmpeg uses { 0, 0 } as "undefined" and { num, 0 } as infinity.
141
+ * This method returns true only if both values are positive.
142
+ *
143
+ * @returns true if num > 0 and den > 0
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const valid = new Rational(25, 1);
148
+ * console.log(valid.isValid()); // true
149
+ *
150
+ * const undefined = new Rational(0, 0);
151
+ * console.log(undefined.isValid()); // false
152
+ *
153
+ * const infinity = new Rational(1, 0);
154
+ * console.log(infinity.isValid()); // false
155
+ * ```
156
+ */
157
+ isValid(): boolean;
137
158
  /**
138
159
  * Invert the rational number (reciprocal).
139
160
  *
@@ -156,7 +177,7 @@ export declare class Rational {
156
177
  * Calculates the decimal value: num / den
157
178
  * Note: This may lose precision for some rational values.
158
179
  *
159
- * @returns The floating point representation
180
+ * @returns The floating point representation (Infinity if den = 0, NaN if both = 0)
160
181
  *
161
182
  * @example
162
183
  * ```typescript
@@ -165,6 +186,9 @@ export declare class Rational {
165
186
  *
166
187
  * const half = new Rational(1, 2);
167
188
  * console.log(half.toDouble()); // 0.5
189
+ *
190
+ * const infinity = new Rational(1, 0);
191
+ * console.log(infinity.toDouble()); // Infinity
168
192
  * ```
169
193
  */
170
194
  toDouble(): number;
@@ -64,9 +64,10 @@ export class Rational {
64
64
  constructor(num, den) {
65
65
  this.num = num;
66
66
  this.den = den;
67
- if (den === 0) {
68
- throw new Error('Denominator cannot be zero');
69
- }
67
+ // Note: FFmpeg allows den = 0 as a special value:
68
+ // - { 0, 0 } = undefined/not set
69
+ // - { num, 0 } = infinity
70
+ // We allow it for FFmpeg compatibility, but operations may fail.
70
71
  }
71
72
  /**
72
73
  * Add two rational numbers.
@@ -148,6 +149,29 @@ export class Rational {
148
149
  div(other) {
149
150
  return new Rational(this.num * other.den, this.den * other.num);
150
151
  }
152
+ /**
153
+ * Check if this rational is valid (both num and den are positive).
154
+ *
155
+ * FFmpeg uses { 0, 0 } as "undefined" and { num, 0 } as infinity.
156
+ * This method returns true only if both values are positive.
157
+ *
158
+ * @returns true if num > 0 and den > 0
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const valid = new Rational(25, 1);
163
+ * console.log(valid.isValid()); // true
164
+ *
165
+ * const undefined = new Rational(0, 0);
166
+ * console.log(undefined.isValid()); // false
167
+ *
168
+ * const infinity = new Rational(1, 0);
169
+ * console.log(infinity.isValid()); // false
170
+ * ```
171
+ */
172
+ isValid() {
173
+ return this.num > 0 && this.den > 0;
174
+ }
151
175
  /**
152
176
  * Invert the rational number (reciprocal).
153
177
  *
@@ -172,7 +196,7 @@ export class Rational {
172
196
  * Calculates the decimal value: num / den
173
197
  * Note: This may lose precision for some rational values.
174
198
  *
175
- * @returns The floating point representation
199
+ * @returns The floating point representation (Infinity if den = 0, NaN if both = 0)
176
200
  *
177
201
  * @example
178
202
  * ```typescript
@@ -181,10 +205,13 @@ export class Rational {
181
205
  *
182
206
  * const half = new Rational(1, 2);
183
207
  * console.log(half.toDouble()); // 0.5
208
+ *
209
+ * const infinity = new Rational(1, 0);
210
+ * console.log(infinity.toDouble()); // Infinity
184
211
  * ```
185
212
  */
186
213
  toDouble() {
187
- return this.num / this.den;
214
+ return this.num / this.den; // JavaScript handles division by zero correctly (Infinity/NaN)
188
215
  }
189
216
  /**
190
217
  * Check if this rational equals another.
@@ -1 +1 @@
1
- {"version":3,"file":"rational.js","sourceRoot":"","sources":["../../src/lib/rational.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,QAAQ;IA+BD;IACA;IA/BlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YACkB,GAAW,EACX,GAAW;QADX,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAQ;QAE3B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,GAAG;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,KAAe;QACpB,OAAO,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"rational.js","sourceRoot":"","sources":["../../src/lib/rational.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,QAAQ;IA+BD;IACA;IA/BlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YACkB,GAAW,EACX,GAAW;QADX,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAQ;QAE3B,kDAAkD;QAClD,iCAAiC;QACjC,0BAA0B;QAC1B,iEAAiE;IACnE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,KAAe;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,GAAG;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,+DAA+D;IAC7F,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,KAAe;QACpB,OAAO,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-av",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "description": "FFmpeg bindings for Node.js",
5
5
  "author": "seydx (https://github.com/seydx/av)",
6
6
  "type": "module",
@@ -63,20 +63,20 @@
63
63
  "update": "updates --update ./"
64
64
  },
65
65
  "optionalDependencies": {
66
- "@seydx/node-av-darwin-arm64": "^3.0.2",
67
- "@seydx/node-av-darwin-x64": "^3.0.2",
68
- "@seydx/node-av-linux-arm64": "^3.0.2",
69
- "@seydx/node-av-linux-x64": "^3.0.2",
70
- "@seydx/node-av-win32-arm64-mingw": "^3.0.2",
71
- "@seydx/node-av-win32-arm64-msvc": "^3.0.2",
72
- "@seydx/node-av-win32-x64-mingw": "^3.0.2",
73
- "@seydx/node-av-win32-x64-msvc": "^3.0.2"
66
+ "@seydx/node-av-darwin-arm64": "^3.0.4",
67
+ "@seydx/node-av-darwin-x64": "^3.0.4",
68
+ "@seydx/node-av-linux-arm64": "^3.0.4",
69
+ "@seydx/node-av-linux-x64": "^3.0.4",
70
+ "@seydx/node-av-win32-arm64-mingw": "^3.0.4",
71
+ "@seydx/node-av-win32-arm64-msvc": "^3.0.4",
72
+ "@seydx/node-av-win32-x64-mingw": "^3.0.4",
73
+ "@seydx/node-av-win32-x64-msvc": "^3.0.4"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@camera.ui/ffmpeg": "^0.0.14",
77
- "@stylistic/eslint-plugin": "^5.4.0",
77
+ "@stylistic/eslint-plugin": "^5.5.0",
78
78
  "@types/debug": "^4.1.12",
79
- "@types/node": "^24.7.2",
79
+ "@types/node": "^24.8.1",
80
80
  "@types/node-abi": "^3.0.3",
81
81
  "@types/pngjs": "^6.0.5",
82
82
  "@types/semver": "^7.7.1",
@@ -85,11 +85,11 @@
85
85
  "concurrently": "^9.2.1",
86
86
  "cpy-cli": "^6.0.0",
87
87
  "cross-env": "^10.1.0",
88
- "eslint": "^9.37.0",
89
- "eslint-plugin-jsdoc": "^61.1.2",
88
+ "eslint": "^9.38.0",
89
+ "eslint-plugin-jsdoc": "^61.1.4",
90
90
  "globals": "^16.4.0",
91
91
  "node-addon-api": "^8.5.0",
92
- "node-gyp": "^11.4.2",
92
+ "node-gyp": "^11.5.0",
93
93
  "pngjs": "^7.0.0",
94
94
  "prettier": "^3.6.2",
95
95
  "rimraf": "^6.0.1",