node-av 5.2.4 → 6.0.0-beta.11

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 (111) hide show
  1. package/README.md +15 -1
  2. package/dist/api/bitstream-filter.d.ts +110 -87
  3. package/dist/api/bitstream-filter.js +161 -103
  4. package/dist/api/bitstream-filter.js.map +1 -1
  5. package/dist/api/decoder.d.ts +177 -15
  6. package/dist/api/decoder.js +335 -28
  7. package/dist/api/decoder.js.map +1 -1
  8. package/dist/api/demuxer.d.ts +30 -24
  9. package/dist/api/demuxer.js +4 -5
  10. package/dist/api/demuxer.js.map +1 -1
  11. package/dist/api/device.js.map +1 -1
  12. package/dist/api/encoder-pool.d.ts +220 -0
  13. package/dist/api/encoder-pool.js +285 -0
  14. package/dist/api/encoder-pool.js.map +1 -0
  15. package/dist/api/encoder.d.ts +194 -7
  16. package/dist/api/encoder.js +431 -71
  17. package/dist/api/encoder.js.map +1 -1
  18. package/dist/api/filter-complex.d.ts +2 -1
  19. package/dist/api/filter-complex.js +11 -7
  20. package/dist/api/filter-complex.js.map +1 -1
  21. package/dist/api/filter-presets.d.ts +130 -654
  22. package/dist/api/filter-presets.js +180 -858
  23. package/dist/api/filter-presets.js.map +1 -1
  24. package/dist/api/filter.js +12 -9
  25. package/dist/api/filter.js.map +1 -1
  26. package/dist/api/fmp4-stream.js +1 -1
  27. package/dist/api/fmp4-stream.js.map +1 -1
  28. package/dist/api/index.d.ts +6 -6
  29. package/dist/api/index.js +8 -8
  30. package/dist/api/index.js.map +1 -1
  31. package/dist/api/muxer.d.ts +43 -15
  32. package/dist/api/muxer.js +79 -27
  33. package/dist/api/muxer.js.map +1 -1
  34. package/dist/api/pipeline.d.ts +50 -0
  35. package/dist/api/pipeline.js +138 -22
  36. package/dist/api/pipeline.js.map +1 -1
  37. package/dist/api/probe.d.ts +128 -0
  38. package/dist/api/probe.js +227 -0
  39. package/dist/api/probe.js.map +1 -0
  40. package/dist/api/rtp-stream.d.ts +14 -11
  41. package/dist/api/rtp-stream.js +23 -48
  42. package/dist/api/rtp-stream.js.map +1 -1
  43. package/dist/api/scaler.d.ts +431 -0
  44. package/dist/api/scaler.js +620 -0
  45. package/dist/api/scaler.js.map +1 -0
  46. package/dist/api/utilities/async-queue.d.ts +27 -1
  47. package/dist/api/utilities/async-queue.js +38 -3
  48. package/dist/api/utilities/async-queue.js.map +1 -1
  49. package/dist/api/utilities/codec-format.d.ts +87 -0
  50. package/dist/api/utilities/codec-format.js +117 -0
  51. package/dist/api/utilities/codec-format.js.map +1 -0
  52. package/dist/api/utilities/electron-shared-texture.d.ts +41 -1
  53. package/dist/api/utilities/electron-shared-texture.js +41 -4
  54. package/dist/api/utilities/electron-shared-texture.js.map +1 -1
  55. package/dist/api/utilities/index.d.ts +2 -1
  56. package/dist/api/utilities/index.js +2 -0
  57. package/dist/api/utilities/index.js.map +1 -1
  58. package/dist/api/webrtc-stream.d.ts +0 -1
  59. package/dist/api/webrtc-stream.js +0 -1
  60. package/dist/api/webrtc-stream.js.map +1 -1
  61. package/dist/constants/bsf-options.d.ts +333 -0
  62. package/dist/constants/bsf-options.js +7 -0
  63. package/dist/constants/bsf-options.js.map +1 -0
  64. package/dist/constants/constants.d.ts +109 -0
  65. package/dist/constants/constants.js +110 -0
  66. package/dist/constants/constants.js.map +1 -1
  67. package/dist/constants/decoders.d.ts +636 -618
  68. package/dist/constants/decoders.js +1 -3
  69. package/dist/constants/decoders.js.map +1 -1
  70. package/dist/constants/encoders.d.ts +300 -282
  71. package/dist/constants/encoders.js +0 -2
  72. package/dist/constants/encoders.js.map +1 -1
  73. package/dist/constants/filter-options.d.ts +10915 -0
  74. package/dist/constants/filter-options.js +7 -0
  75. package/dist/constants/filter-options.js.map +1 -0
  76. package/dist/constants/format-options.d.ts +3056 -0
  77. package/dist/constants/format-options.js +7 -0
  78. package/dist/constants/format-options.js.map +1 -0
  79. package/dist/constants/formats.d.ts +18 -0
  80. package/dist/constants/formats.js +7 -0
  81. package/dist/constants/formats.js.map +1 -0
  82. package/dist/constants/index.d.ts +5 -0
  83. package/dist/constants/options.d.ts +4073 -0
  84. package/dist/constants/options.js +7 -0
  85. package/dist/constants/options.js.map +1 -0
  86. package/dist/lib/binding.d.ts +5 -1
  87. package/dist/lib/binding.js.map +1 -1
  88. package/dist/lib/codec.d.ts +36 -5
  89. package/dist/lib/codec.js +37 -4
  90. package/dist/lib/codec.js.map +1 -1
  91. package/dist/lib/dictionary.d.ts +1 -1
  92. package/dist/lib/dictionary.js.map +1 -1
  93. package/dist/lib/error.d.ts +69 -0
  94. package/dist/lib/error.js +92 -0
  95. package/dist/lib/error.js.map +1 -1
  96. package/dist/lib/frame.d.ts +55 -3
  97. package/dist/lib/frame.js +59 -3
  98. package/dist/lib/frame.js.map +1 -1
  99. package/dist/lib/index.d.ts +1 -1
  100. package/dist/lib/index.js.map +1 -1
  101. package/dist/lib/native-types.d.ts +68 -0
  102. package/dist/lib/packet.d.ts +22 -3
  103. package/dist/lib/packet.js +24 -3
  104. package/dist/lib/packet.js.map +1 -1
  105. package/dist/lib/utilities.d.ts +45 -0
  106. package/dist/lib/utilities.js +49 -0
  107. package/dist/lib/utilities.js.map +1 -1
  108. package/dist/webrtc/index.d.ts +3 -0
  109. package/dist/webrtc/index.js +7 -0
  110. package/dist/webrtc/index.js.map +1 -0
  111. package/package.json +34 -23
@@ -25,16 +25,22 @@ export class AsyncQueue {
25
25
  maxSize;
26
26
  closed = false;
27
27
  error = null;
28
+ disposeItem;
28
29
  /**
29
30
  * Creates a new AsyncQueue.
30
31
  *
31
32
  * @param maxSize Maximum number of items in queue before send() blocks
33
+ *
34
+ * @param disposeItem Optional disposer for items still buffered at teardown
35
+ * (see {@link clear}). Pass `(item) => item.free()` for queues of owned
36
+ * native resources (Frame/Packet) so aborted pipelines don't leak them.
32
37
  */
33
- constructor(maxSize) {
38
+ constructor(maxSize, disposeItem) {
34
39
  if (maxSize <= 0) {
35
40
  maxSize = 1;
36
41
  }
37
42
  this.maxSize = maxSize;
43
+ this.disposeItem = disposeItem;
38
44
  }
39
45
  /**
40
46
  * Current number of items in the queue.
@@ -172,12 +178,10 @@ export class AsyncQueue {
172
178
  return;
173
179
  }
174
180
  this.closed = true;
175
- // Wake up all waiting senders
176
181
  const senders = this.sendWaiters.splice(0);
177
182
  for (const sender of senders) {
178
183
  sender();
179
184
  }
180
- // Wake up all waiting receivers (they will get null from empty queue check)
181
185
  const receivers = this.receiveWaiters.splice(0);
182
186
  for (const receiver of receivers) {
183
187
  receiver();
@@ -207,5 +211,36 @@ export class AsyncQueue {
207
211
  this.error = error;
208
212
  this.close();
209
213
  }
214
+ /**
215
+ * Drop and dispose any items still buffered in the queue.
216
+ *
217
+ * Call during final teardown (a component's `close()`, after the worker and
218
+ * consumer tasks have settled) to deterministically free items that were
219
+ * produced but never consumed - e.g. when a pipeline is aborted before
220
+ * draining. Without this they are only reclaimed by GC, which for hardware
221
+ * frames pins GPU/hwframe memory in the meantime.
222
+ *
223
+ * Items are owned by the queue (the consumer frees what it receives), so
224
+ * disposing buffered items here cannot double-free. Do NOT call this while a
225
+ * consumer may still drain the queue after `close()` (the flush path relies on
226
+ * that) - only at final teardown.
227
+ *
228
+ * @example
229
+ * ```typescript
230
+ * this.outputQueue.close();
231
+ * this.outputQueue.clear(); // free anything left behind on abort
232
+ * ```
233
+ */
234
+ clear() {
235
+ if (this.queue.length === 0) {
236
+ return;
237
+ }
238
+ const pending = this.queue.splice(0);
239
+ if (this.disposeItem) {
240
+ for (const item of pending) {
241
+ this.disposeItem(item);
242
+ }
243
+ }
244
+ }
210
245
  }
211
246
  //# sourceMappingURL=async-queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-queue.js","sourceRoot":"","sources":["../../../src/api/utilities/async-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,UAAU;IACb,KAAK,GAAQ,EAAE,CAAC;IAChB,WAAW,GAAmB,EAAE,CAAC;IACjC,cAAc,GAAmB,EAAE,CAAC;IACpC,OAAO,CAAS;IAChB,MAAM,GAAG,KAAK,CAAC;IACf,KAAK,GAAiB,IAAI,CAAC;IAEnC;;;;OAIG;IACH,YAAY,OAAe;QACzB,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,IAAI,CAAC,IAAO;QAChB,iCAAiC;QACjC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAErE,kCAAkC;YAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,KAAc,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC,CAAC,gCAAgC;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,OAAO;QACX,+CAA+C;QAC/C,OAAO,IAAI,EAAE,CAAC;YACZ,yCAAyC;YACzC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;gBAEjC,gCAAgC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,EAAE,CAAC;gBACX,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAED,iCAAiC;YACjC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,KAAK,CAAC;YACnB,CAAC;YAED,mCAAmC;YACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,uBAAuB;YACvB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC;QACX,CAAC;QAED,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,KAAY;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"async-queue.js","sourceRoot":"","sources":["../../../src/api/utilities/async-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import type { AVPixelFormat, AVSampleFormat } from '../../constants/index.js';
2
+ import type { ChannelLayout } from '../../lib/types.js';
3
+ /**
4
+ * Pick a codec-supported sample rate, keeping the input rate when accepted and
5
+ * otherwise choosing the numerically nearest supported one.
6
+ *
7
+ * @param rate - Input sample rate in Hz
8
+ *
9
+ * @param supported - Codec's supported sample rates, or null when unrestricted
10
+ *
11
+ * @returns A sample rate the codec accepts
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * pickSupportedRate(48000, [44100, 48000]); // 48000 (kept)
16
+ * pickSupportedRate(96000, [44100, 48000]); // 48000 (nearest supported)
17
+ * pickSupportedRate(48000, null); // 48000 (codec unrestricted)
18
+ * ```
19
+ */
20
+ export declare function pickSupportedRate(rate: number, supported: number[] | null): number;
21
+ /**
22
+ * Pick a codec-supported sample format, keeping the input when accepted.
23
+ *
24
+ * When the input format is unsupported, prefers the lowest-precision supported
25
+ * format that still meets the input's bit depth (so converting incurs no silent
26
+ * precision loss); if none reach it, takes the highest-precision one available.
27
+ * Ties break toward matching planar/packed layout. This improves on FFmpeg CLI's
28
+ * naive "first supported format" fallback without any downside.
29
+ *
30
+ * @param fmt - Input sample format
31
+ *
32
+ * @param supported - Codec's supported sample formats, or null when unrestricted
33
+ *
34
+ * @returns A sample format the codec accepts
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * import { AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_FLTP } from 'node-av/constants';
39
+ *
40
+ * // s32 input: prefer fltp (preserves bit depth) over the lossy s16 a naive pick would take
41
+ * pickSupportedSampleFormat(AV_SAMPLE_FMT_S32, [AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_FLTP]); // fltp
42
+ * ```
43
+ */
44
+ export declare function pickSupportedSampleFormat(fmt: AVSampleFormat, supported: AVSampleFormat[] | null): AVSampleFormat;
45
+ /**
46
+ * Pick a codec-supported channel layout.
47
+ *
48
+ * Keeps the input layout when the codec accepts its channel count, otherwise picks
49
+ * the supported layout with the nearest channel count (rather than blindly the
50
+ * first), minimizing how much up/down-mixing the resampler must perform.
51
+ *
52
+ * @param layout - Input channel layout
53
+ *
54
+ * @param supported - Codec's supported channel layouts, or null when unrestricted
55
+ *
56
+ * @returns A channel layout the codec accepts
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * import { avChannelLayoutDefault } from 'node-av';
61
+ *
62
+ * // 7.1 (8ch) input into a codec supporting stereo + 5.1 -> nearest count is 5.1 (6ch)
63
+ * const picked = pickSupportedLayout(avChannelLayoutDefault(8), [avChannelLayoutDefault(2), avChannelLayoutDefault(6)]);
64
+ * console.log(picked.nbChannels); // 6
65
+ * ```
66
+ */
67
+ export declare function pickSupportedLayout(layout: ChannelLayout, supported: ChannelLayout[] | null): ChannelLayout;
68
+ /**
69
+ * Pick a codec-supported pixel format, keeping the input when accepted and
70
+ * otherwise the least-loss supported format (via `avcodec_find_best_pix_fmt_of_list`,
71
+ * which weighs color depth, chroma subsampling, and alpha).
72
+ *
73
+ * @param fmt - Input pixel format
74
+ *
75
+ * @param supported - Codec's supported pixel formats, or null when unrestricted
76
+ *
77
+ * @returns A pixel format the codec accepts
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * import { AV_PIX_FMT_RGB24, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P } from 'node-av/constants';
82
+ *
83
+ * // rgb24 into a codec's formats -> yuv444p (least chroma loss, not the first entry)
84
+ * pickSupportedPixelFormat(AV_PIX_FMT_RGB24, [AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P]); // yuv444p
85
+ * ```
86
+ */
87
+ export declare function pickSupportedPixelFormat(fmt: AVPixelFormat, supported: AVPixelFormat[] | null): AVPixelFormat;
@@ -0,0 +1,117 @@
1
+ import { avcodecFindBestPixFmtOfList, avGetBytesPerSample, avSampleFmtIsPlanar } from '../../lib/utilities.js';
2
+ /**
3
+ * Pick a codec-supported sample rate, keeping the input rate when accepted and
4
+ * otherwise choosing the numerically nearest supported one.
5
+ *
6
+ * @param rate - Input sample rate in Hz
7
+ *
8
+ * @param supported - Codec's supported sample rates, or null when unrestricted
9
+ *
10
+ * @returns A sample rate the codec accepts
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * pickSupportedRate(48000, [44100, 48000]); // 48000 (kept)
15
+ * pickSupportedRate(96000, [44100, 48000]); // 48000 (nearest supported)
16
+ * pickSupportedRate(48000, null); // 48000 (codec unrestricted)
17
+ * ```
18
+ */
19
+ export function pickSupportedRate(rate, supported) {
20
+ if (!supported || supported.length === 0 || supported.includes(rate)) {
21
+ return rate;
22
+ }
23
+ return supported.reduce((best, r) => (Math.abs(r - rate) < Math.abs(best - rate) ? r : best), supported[0]);
24
+ }
25
+ /**
26
+ * Pick a codec-supported sample format, keeping the input when accepted.
27
+ *
28
+ * When the input format is unsupported, prefers the lowest-precision supported
29
+ * format that still meets the input's bit depth (so converting incurs no silent
30
+ * precision loss); if none reach it, takes the highest-precision one available.
31
+ * Ties break toward matching planar/packed layout. This improves on FFmpeg CLI's
32
+ * naive "first supported format" fallback without any downside.
33
+ *
34
+ * @param fmt - Input sample format
35
+ *
36
+ * @param supported - Codec's supported sample formats, or null when unrestricted
37
+ *
38
+ * @returns A sample format the codec accepts
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * import { AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_FLTP } from 'node-av/constants';
43
+ *
44
+ * // s32 input: prefer fltp (preserves bit depth) over the lossy s16 a naive pick would take
45
+ * pickSupportedSampleFormat(AV_SAMPLE_FMT_S32, [AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_FLTP]); // fltp
46
+ * ```
47
+ */
48
+ export function pickSupportedSampleFormat(fmt, supported) {
49
+ if (!supported || supported.length === 0 || supported.includes(fmt)) {
50
+ return fmt;
51
+ }
52
+ const inBytes = avGetBytesPerSample(fmt);
53
+ const inPlanar = avSampleFmtIsPlanar(fmt);
54
+ // Reaching the input's bit depth dominates the score; among those the smallest
55
+ // excess wins (and among formats that fall short, the highest depth). The planar
56
+ // match is a final tie-break.
57
+ const score = (cand) => {
58
+ const bytes = avGetBytesPerSample(cand);
59
+ const planar = avSampleFmtIsPlanar(cand) === inPlanar ? 1 : 0;
60
+ return (bytes >= inBytes ? 1_000_000 - (bytes - inBytes) * 1000 : bytes * 1000) + planar;
61
+ };
62
+ return supported.reduce((best, cand) => (score(cand) > score(best) ? cand : best), supported[0]);
63
+ }
64
+ /**
65
+ * Pick a codec-supported channel layout.
66
+ *
67
+ * Keeps the input layout when the codec accepts its channel count, otherwise picks
68
+ * the supported layout with the nearest channel count (rather than blindly the
69
+ * first), minimizing how much up/down-mixing the resampler must perform.
70
+ *
71
+ * @param layout - Input channel layout
72
+ *
73
+ * @param supported - Codec's supported channel layouts, or null when unrestricted
74
+ *
75
+ * @returns A channel layout the codec accepts
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * import { avChannelLayoutDefault } from 'node-av';
80
+ *
81
+ * // 7.1 (8ch) input into a codec supporting stereo + 5.1 -> nearest count is 5.1 (6ch)
82
+ * const picked = pickSupportedLayout(avChannelLayoutDefault(8), [avChannelLayoutDefault(2), avChannelLayoutDefault(6)]);
83
+ * console.log(picked.nbChannels); // 6
84
+ * ```
85
+ */
86
+ export function pickSupportedLayout(layout, supported) {
87
+ if (!supported || supported.length === 0 || supported.some((l) => l.nbChannels === layout.nbChannels)) {
88
+ return layout;
89
+ }
90
+ return supported.reduce((best, l) => (Math.abs(l.nbChannels - layout.nbChannels) < Math.abs(best.nbChannels - layout.nbChannels) ? l : best), supported[0]);
91
+ }
92
+ /**
93
+ * Pick a codec-supported pixel format, keeping the input when accepted and
94
+ * otherwise the least-loss supported format (via `avcodec_find_best_pix_fmt_of_list`,
95
+ * which weighs color depth, chroma subsampling, and alpha).
96
+ *
97
+ * @param fmt - Input pixel format
98
+ *
99
+ * @param supported - Codec's supported pixel formats, or null when unrestricted
100
+ *
101
+ * @returns A pixel format the codec accepts
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * import { AV_PIX_FMT_RGB24, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P } from 'node-av/constants';
106
+ *
107
+ * // rgb24 into a codec's formats -> yuv444p (least chroma loss, not the first entry)
108
+ * pickSupportedPixelFormat(AV_PIX_FMT_RGB24, [AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P]); // yuv444p
109
+ * ```
110
+ */
111
+ export function pickSupportedPixelFormat(fmt, supported) {
112
+ if (!supported || supported.length === 0 || supported.includes(fmt)) {
113
+ return fmt;
114
+ }
115
+ return avcodecFindBestPixFmtOfList(supported, fmt);
116
+ }
117
+ //# sourceMappingURL=codec-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-format.js","sourceRoot":"","sources":["../../../src/api/utilities/codec-format.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Frame } from '../../lib/frame.js';
2
- import type { AVPixelFormat } from '../../constants/constants.js';
2
+ import type { AVColorPrimaries, AVColorRange, AVColorSpace, AVColorTransferCharacteristic, AVPixelFormat } from '../../constants/constants.js';
3
3
  import type { IRational } from '../../lib/types.js';
4
4
  import type { HardwareContext } from '../hardware.js';
5
5
  /**
@@ -69,6 +69,45 @@ export interface ImportHandleProps {
69
69
  pts?: bigint;
70
70
  timeBase?: IRational;
71
71
  }
72
+ /**
73
+ * Map an Electron color space descriptor to FFmpeg color properties.
74
+ *
75
+ * Translates Electron's `textureInfo.colorSpace` strings (range, primaries,
76
+ * transfer, matrix) to the corresponding `AVCOL_*` enums. Unknown values map to
77
+ * the `UNSPECIFIED` variants; a missing descriptor falls back to the BGRA/sRGB
78
+ * defaults typical of Electron textures.
79
+ *
80
+ * @param colorSpace - Electron color space descriptor from textureInfo.colorSpace
81
+ *
82
+ * @returns Mapped FFmpeg color properties (colorRange, colorPrimaries, colorTrc, colorSpace) with fallbacks
83
+ *
84
+ * @internal
85
+ */
86
+ export declare function mapColorSpace(colorSpace?: TextureColorSpace): {
87
+ colorRange: AVColorRange;
88
+ colorPrimaries: AVColorPrimaries;
89
+ colorTrc: AVColorTransferCharacteristic;
90
+ colorSpace: AVColorSpace;
91
+ };
92
+ /**
93
+ * Resolve the software pixel format for a hardware mapping context.
94
+ *
95
+ * The mapping context's sw_format must be the *software* layout of the frames
96
+ * (e.g. NV12, BGRA), never a hardware wrapper format like AV_PIX_FMT_DRM_PRIME /
97
+ * D3D11 / VIDEOTOOLBOX (which is what `srcFrame.format` is for an imported GPU
98
+ * frame). Prefer the source frame's own hwframe context software format (set on
99
+ * macOS IOSurface imports), and fall back to the layout used at the last import
100
+ * for bare frames (Windows D3D11, Linux DMA-BUF) that carry no hwframe context.
101
+ *
102
+ * @param srcFrame - The source hardware frame being mapped
103
+ *
104
+ * @param fallback - Software format to use when the frame carries no hwframe context
105
+ *
106
+ * @returns The software pixel format to set on the mapping context
107
+ *
108
+ * @internal
109
+ */
110
+ export declare function resolveMappingSwFormat(srcFrame: Frame, fallback: AVPixelFormat): AVPixelFormat;
72
111
  /**
73
112
  * High-level GPU texture import for Electron shared textures.
74
113
  *
@@ -103,6 +142,7 @@ export declare class SharedTexture implements Disposable {
103
142
  private _currentWidth;
104
143
  private _currentHeight;
105
144
  private _swFormat;
145
+ private _importSwFormat;
106
146
  private _isDisposed;
107
147
  private _mappingCtx;
108
148
  private _mappingHw;
@@ -51,13 +51,20 @@ const MATRIX_MAP = {
51
51
  'bt2020-ncl': AVCOL_SPC_BT2020_NCL,
52
52
  };
53
53
  /**
54
+ * Map an Electron color space descriptor to FFmpeg color properties.
55
+ *
56
+ * Translates Electron's `textureInfo.colorSpace` strings (range, primaries,
57
+ * transfer, matrix) to the corresponding `AVCOL_*` enums. Unknown values map to
58
+ * the `UNSPECIFIED` variants; a missing descriptor falls back to the BGRA/sRGB
59
+ * defaults typical of Electron textures.
60
+ *
54
61
  * @param colorSpace - Electron color space descriptor from textureInfo.colorSpace
55
62
  *
56
63
  * @returns Mapped FFmpeg color properties (colorRange, colorPrimaries, colorTrc, colorSpace) with fallbacks
57
64
  *
58
65
  * @internal
59
66
  */
60
- function mapColorSpace(colorSpace) {
67
+ export function mapColorSpace(colorSpace) {
61
68
  if (!colorSpace) {
62
69
  // Fallback: Electron textures are typically BGRA (full range, sRGB)
63
70
  return {
@@ -74,6 +81,27 @@ function mapColorSpace(colorSpace) {
74
81
  colorSpace: MATRIX_MAP[colorSpace.matrix ?? ''] ?? AVCOL_SPC_UNSPECIFIED,
75
82
  };
76
83
  }
84
+ /**
85
+ * Resolve the software pixel format for a hardware mapping context.
86
+ *
87
+ * The mapping context's sw_format must be the *software* layout of the frames
88
+ * (e.g. NV12, BGRA), never a hardware wrapper format like AV_PIX_FMT_DRM_PRIME /
89
+ * D3D11 / VIDEOTOOLBOX (which is what `srcFrame.format` is for an imported GPU
90
+ * frame). Prefer the source frame's own hwframe context software format (set on
91
+ * macOS IOSurface imports), and fall back to the layout used at the last import
92
+ * for bare frames (Windows D3D11, Linux DMA-BUF) that carry no hwframe context.
93
+ *
94
+ * @param srcFrame - The source hardware frame being mapped
95
+ *
96
+ * @param fallback - Software format to use when the frame carries no hwframe context
97
+ *
98
+ * @returns The software pixel format to set on the mapping context
99
+ *
100
+ * @internal
101
+ */
102
+ export function resolveMappingSwFormat(srcFrame, fallback) {
103
+ return srcFrame.hwFramesCtx?.swFormat ?? fallback;
104
+ }
77
105
  /**
78
106
  * High-level GPU texture import for Electron shared textures.
79
107
  *
@@ -108,6 +136,7 @@ export class SharedTexture {
108
136
  _currentWidth = 0;
109
137
  _currentHeight = 0;
110
138
  _swFormat;
139
+ _importSwFormat;
111
140
  _isDisposed = false;
112
141
  // Mapping context cache for mapTo() helper
113
142
  _mappingCtx = null;
@@ -115,6 +144,7 @@ export class SharedTexture {
115
144
  constructor(hardware, options) {
116
145
  this._hardware = hardware;
117
146
  this._swFormat = options.swFormat ?? AV_PIX_FMT_BGRA;
147
+ this._importSwFormat = this._swFormat;
118
148
  if (options.width)
119
149
  this._currentWidth = options.width;
120
150
  if (options.height)
@@ -313,8 +343,12 @@ export class SharedTexture {
313
343
  * @internal
314
344
  */
315
345
  ensureMappingContext(srcFrame, targetHw) {
316
- // Re-create if target hardware changed or dimensions changed
317
- if (this._mappingHw !== targetHw || this._mappingCtx?.width !== srcFrame.width || this._mappingCtx?.height !== srcFrame.height) {
346
+ const swFormat = resolveMappingSwFormat(srcFrame, this._importSwFormat);
347
+ // Re-create if target hardware, dimensions, or software format changed
348
+ if (this._mappingHw !== targetHw ||
349
+ this._mappingCtx?.width !== srcFrame.width ||
350
+ this._mappingCtx?.height !== srcFrame.height ||
351
+ this._mappingCtx?.swFormat !== swFormat) {
318
352
  // Free previous context
319
353
  if (this._mappingCtx) {
320
354
  this._mappingCtx.free();
@@ -324,7 +358,7 @@ export class SharedTexture {
324
358
  const ctx = new HardwareFramesContext();
325
359
  ctx.alloc(targetHw.deviceContext);
326
360
  ctx.format = targetHw.devicePixelFormat;
327
- ctx.swFormat = srcFrame.format; // Use source format
361
+ ctx.swFormat = swFormat;
328
362
  ctx.width = srcFrame.width;
329
363
  ctx.height = srcFrame.height;
330
364
  const ret = ctx.init();
@@ -379,6 +413,9 @@ export class SharedTexture {
379
413
  * @internal
380
414
  */
381
415
  importFromHandle(handle, width, height, swFormat, options, colorSpace) {
416
+ // Remember the layout actually used, so mapTo() can fall back to it for
417
+ // bare hardware frames (D3D11/DMA-BUF) that carry no hw_frames_ctx.
418
+ this._importSwFormat = swFormat;
382
419
  let frame;
383
420
  if (handle.ioSurface && handle.ioSurface.length > 0) {
384
421
  // macOS — IOSurface
@@ -1 +1 @@
1
- {"version":3,"file":"electron-shared-texture.js","sourceRoot":"","sources":["../../../src/api/utilities/electron-shared-texture.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAwErD,MAAM,SAAS,GAAiC;IAC9C,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,gBAAgB;CAC1B,CAAC;AAEF,MAAM,aAAa,GAAqC;IACtD,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,gBAAgB;IACxB,cAAc,EAAE,kBAAkB;IAClC,cAAc,EAAE,kBAAkB;IAClC,EAAE,EAAE,kBAAkB;IACtB,YAAY,EAAE,iBAAiB;CAChC,CAAC;AAEF,MAAM,YAAY,GAAkD;IAClE,KAAK,EAAE,eAAe;IACtB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,GAAG,EAAE,aAAa;IAClB,UAAU,EAAE,kBAAkB;IAC9B,cAAc,EAAE,sBAAsB;IACtC,YAAY,EAAE,oBAAoB;IAClC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,EAAE,EAAE,mBAAmB;IACvB,cAAc,EAAE,kBAAkB;IAClC,GAAG,EAAE,sBAAsB;CAC5B,CAAC;AAEF,MAAM,UAAU,GAAiC;IAC/C,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,aAAa;IAClB,KAAK,EAAE,eAAe;IACtB,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAC9B,KAAK,EAAE,eAAe;IACtB,YAAY,EAAE,oBAAoB;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,UAA8B;IAMnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,oEAAoE;QACpE,OAAO;YACL,UAAU,EAAE,gBAAgB;YAC5B,cAAc,EAAE,eAAe;YAC/B,QAAQ,EAAE,sBAAsB;YAChC,UAAU,EAAE,aAAa;SAC1B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,uBAAuB;QACxE,cAAc,EAAE,aAAa,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,qBAAqB;QAClF,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,qBAAqB;QAC1E,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,qBAAqB;KACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,aAAa;IAChB,SAAS,CAAkB;IAC3B,UAAU,GAAiC,IAAI,CAAC;IAChD,aAAa,GAAG,CAAC,CAAC;IAClB,cAAc,GAAG,CAAC,CAAC;IACnB,SAAS,CAAgB;IACzB,WAAW,GAAG,KAAK,CAAC;IAE5B,2CAA2C;IACnC,WAAW,GAAiC,IAAI,CAAC;IACjD,UAAU,GAA2B,IAAI,CAAC;IAElD,YAAoB,QAAyB,EAAE,OAA6B;QAC1E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;QACrD,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,MAAM,CAAC,QAAyB,EAAE,UAAgC,EAAE;QACzE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,aAAa,CAAC,WAAwB,EAAE,UAA+B,EAAE;QACvE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAElC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,MAA2B,EAAE,KAAwB;QAChE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;QACpH,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE;YACxE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,QAAe,EAAE,QAAyB,EAAE,KAAc;QAC9D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE9C,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;QAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,sDAAsD;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvD,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;QAE/E,yBAAyB;QACzB,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QAC5B,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEtC,kBAAkB;QAClB,MAAM,QAAQ,GAAG,KAAK,IAAI,mBAAmB,GAAG,oBAAoB,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChE,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,+CAA+C,CAAC,CAAC;QAE/E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACK,oBAAoB,CAAC,QAAe,EAAE,QAAyB;QACrE,6DAA6D;QAC7D,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC/H,wBAAwB;YACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,iDAAiD;YACjD,MAAM,GAAG,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAClC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YACxC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAuB,CAAC,CAAC,oBAAoB;YACrE,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC3B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAE7B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YACvB,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAEpF,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,gBAAgB,CACtB,MAA2B,EAC3B,KAAa,EACb,MAAc,EACd,QAAuB,EACvB,OAA4B,EAC5B,UAA8B;QAE9B,IAAI,KAAY,CAAC;QAEjB,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,oBAAoB;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpE,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC5C,WAAW,EAAE,SAAS;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,iCAAiC;YACjC,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC9C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa;gBACzC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC/B,kBAAkB;YAClB,MAAM,MAAM,GAAiB;gBAC3B,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;gBAClC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ;aACvC,CAAC;YACF,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC/B,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QAED,wDAAwD;QACxD,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC7C,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,mBAAmB,CAAC,KAAa,EAAE,MAAc,EAAE,QAAuB;QAChF,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACrH,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC9C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;QACpD,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAE1B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;QAE5E,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;OAUG;IACK,kBAAkB,CAAC,IAAY;QACrC,8EAA8E;QAC9E,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"electron-shared-texture.js","sourceRoot":"","sources":["../../../src/api/utilities/electron-shared-texture.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { AudioSampleUtils, type AudioSampleAllocation, type AudioSampleBufferSize } from './audio-sample.js';
2
2
  export { ChannelLayoutUtils } from './channel-layout.js';
3
+ export { pickSupportedLayout, pickSupportedPixelFormat, pickSupportedRate, pickSupportedSampleFormat } from './codec-format.js';
3
4
  export { ImageUtils, type ImageAllocation } from './image.js';
4
5
  export { MediaTypeUtils } from './media-type.js';
5
6
  export { PixelFormatUtils } from './pixel-format.js';
@@ -9,4 +10,4 @@ export { StreamingUtils } from './streaming.js';
9
10
  export { WHISPER_MODELS, WHISPER_VAD_MODELS, WhisperDownloader, type DownloadOptions, type WhisperModelName, type WhisperModelType, type WhisperVADModelName, } from './whisper-model.js';
10
11
  export { AsyncQueue } from './async-queue.js';
11
12
  export { Scheduler, SchedulerControl, type SchedulableComponent } from './scheduler.js';
12
- export { SharedTexture, type ImportHandleProps, type SharedTextureHandle, type SharedTextureOptions, type TextureFrameOptions, type TextureInfo, } from './electron-shared-texture.js';
13
+ export { SharedTexture, type ImportHandleProps, type SharedTextureHandle, type SharedTextureOptions, type TextureColorSpace, type TextureFrameOptions, type TextureInfo, } from './electron-shared-texture.js';
@@ -2,6 +2,8 @@
2
2
  export { AudioSampleUtils } from './audio-sample.js';
3
3
  // Channel Layouts
4
4
  export { ChannelLayoutUtils } from './channel-layout.js';
5
+ // Codec-format negotiation
6
+ export { pickSupportedLayout, pickSupportedPixelFormat, pickSupportedRate, pickSupportedSampleFormat } from './codec-format.js';
5
7
  // Image
6
8
  export { ImageUtils } from './image.js';
7
9
  // Media
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/utilities/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAA0D,MAAM,mBAAmB,CAAC;AAE7G,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,QAAQ;AACR,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAKlB,MAAM,oBAAoB,CAAC;AAE5B,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAA6B,MAAM,gBAAgB,CAAC;AAExF,gBAAgB;AAChB,OAAO,EACL,aAAa,GAMd,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/utilities/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAA0D,MAAM,mBAAmB,CAAC;AAE7G,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,2BAA2B;AAC3B,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEhI,QAAQ;AACR,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAKlB,MAAM,oBAAoB,CAAC;AAE5B,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAA6B,MAAM,gBAAgB,CAAC;AAExF,gBAAgB;AAChB,OAAO,EACL,aAAa,GAOd,MAAM,8BAA8B,CAAC"}
@@ -104,7 +104,6 @@ export interface WebRTCStreamOptions extends Omit<RTPStreamOptions, 'onVideoPack
104
104
  *
105
105
  * @see {@link RTPStream} For library-agnostic RTP streaming
106
106
  * @see {@link Demuxer} For input media handling
107
- * @see {@link HardwareContext} For GPU acceleration
108
107
  */
109
108
  export declare class WebRTCStream {
110
109
  private stream;
@@ -61,7 +61,6 @@ import { RTPStream } from './rtp-stream.js';
61
61
  *
62
62
  * @see {@link RTPStream} For library-agnostic RTP streaming
63
63
  * @see {@link Demuxer} For input media handling
64
- * @see {@link HardwareContext} For GPU acceleration
65
64
  */
66
65
  export class WebRTCStream {
67
66
  stream;
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc-stream.js","sourceRoot":"","sources":["../../src/api/webrtc-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webrtc-stream.js","sourceRoot":"","sources":["../../src/api/webrtc-stream.ts"],"names":[],"mappings":"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"}