node-av 3.1.3 → 5.0.0

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 (192) hide show
  1. package/README.md +88 -52
  2. package/binding.gyp +23 -11
  3. package/dist/api/audio-frame-buffer.d.ts +201 -0
  4. package/dist/api/audio-frame-buffer.js +275 -0
  5. package/dist/api/audio-frame-buffer.js.map +1 -0
  6. package/dist/api/bitstream-filter.d.ts +320 -78
  7. package/dist/api/bitstream-filter.js +684 -151
  8. package/dist/api/bitstream-filter.js.map +1 -1
  9. package/dist/api/constants.d.ts +44 -0
  10. package/dist/api/constants.js +45 -0
  11. package/dist/api/constants.js.map +1 -0
  12. package/dist/api/data/test_av1.ivf +0 -0
  13. package/dist/api/data/test_mjpeg.mjpeg +0 -0
  14. package/dist/api/data/test_vp8.ivf +0 -0
  15. package/dist/api/data/test_vp9.ivf +0 -0
  16. package/dist/api/decoder.d.ts +454 -77
  17. package/dist/api/decoder.js +1081 -271
  18. package/dist/api/decoder.js.map +1 -1
  19. package/dist/api/{media-input.d.ts → demuxer.d.ts} +295 -45
  20. package/dist/api/demuxer.js +1965 -0
  21. package/dist/api/demuxer.js.map +1 -0
  22. package/dist/api/encoder.d.ts +423 -132
  23. package/dist/api/encoder.js +1089 -240
  24. package/dist/api/encoder.js.map +1 -1
  25. package/dist/api/filter-complex.d.ts +769 -0
  26. package/dist/api/filter-complex.js +1596 -0
  27. package/dist/api/filter-complex.js.map +1 -0
  28. package/dist/api/filter-presets.d.ts +80 -5
  29. package/dist/api/filter-presets.js +117 -7
  30. package/dist/api/filter-presets.js.map +1 -1
  31. package/dist/api/filter.d.ts +561 -125
  32. package/dist/api/filter.js +1083 -274
  33. package/dist/api/filter.js.map +1 -1
  34. package/dist/api/{fmp4.d.ts → fmp4-stream.d.ts} +141 -140
  35. package/dist/api/fmp4-stream.js +539 -0
  36. package/dist/api/fmp4-stream.js.map +1 -0
  37. package/dist/api/hardware.d.ts +58 -6
  38. package/dist/api/hardware.js +127 -11
  39. package/dist/api/hardware.js.map +1 -1
  40. package/dist/api/index.d.ts +8 -4
  41. package/dist/api/index.js +17 -8
  42. package/dist/api/index.js.map +1 -1
  43. package/dist/api/io-stream.d.ts +6 -6
  44. package/dist/api/io-stream.js +5 -4
  45. package/dist/api/io-stream.js.map +1 -1
  46. package/dist/api/{media-output.d.ts → muxer.d.ts} +280 -66
  47. package/dist/api/muxer.js +1934 -0
  48. package/dist/api/muxer.js.map +1 -0
  49. package/dist/api/pipeline.d.ts +77 -29
  50. package/dist/api/pipeline.js +449 -439
  51. package/dist/api/pipeline.js.map +1 -1
  52. package/dist/api/rtp-stream.d.ts +312 -0
  53. package/dist/api/rtp-stream.js +630 -0
  54. package/dist/api/rtp-stream.js.map +1 -0
  55. package/dist/api/types.d.ts +533 -56
  56. package/dist/api/utilities/async-queue.d.ts +91 -0
  57. package/dist/api/utilities/async-queue.js +162 -0
  58. package/dist/api/utilities/async-queue.js.map +1 -0
  59. package/dist/api/utilities/audio-sample.d.ts +11 -1
  60. package/dist/api/utilities/audio-sample.js +10 -0
  61. package/dist/api/utilities/audio-sample.js.map +1 -1
  62. package/dist/api/utilities/channel-layout.d.ts +1 -0
  63. package/dist/api/utilities/channel-layout.js +1 -0
  64. package/dist/api/utilities/channel-layout.js.map +1 -1
  65. package/dist/api/utilities/image.d.ts +39 -1
  66. package/dist/api/utilities/image.js +38 -0
  67. package/dist/api/utilities/image.js.map +1 -1
  68. package/dist/api/utilities/index.d.ts +3 -0
  69. package/dist/api/utilities/index.js +6 -0
  70. package/dist/api/utilities/index.js.map +1 -1
  71. package/dist/api/utilities/media-type.d.ts +2 -1
  72. package/dist/api/utilities/media-type.js +1 -0
  73. package/dist/api/utilities/media-type.js.map +1 -1
  74. package/dist/api/utilities/pixel-format.d.ts +4 -1
  75. package/dist/api/utilities/pixel-format.js +3 -0
  76. package/dist/api/utilities/pixel-format.js.map +1 -1
  77. package/dist/api/utilities/sample-format.d.ts +6 -1
  78. package/dist/api/utilities/sample-format.js +5 -0
  79. package/dist/api/utilities/sample-format.js.map +1 -1
  80. package/dist/api/utilities/scheduler.d.ts +138 -0
  81. package/dist/api/utilities/scheduler.js +98 -0
  82. package/dist/api/utilities/scheduler.js.map +1 -0
  83. package/dist/api/utilities/streaming.d.ts +105 -15
  84. package/dist/api/utilities/streaming.js +201 -12
  85. package/dist/api/utilities/streaming.js.map +1 -1
  86. package/dist/api/utilities/timestamp.d.ts +15 -1
  87. package/dist/api/utilities/timestamp.js +14 -0
  88. package/dist/api/utilities/timestamp.js.map +1 -1
  89. package/dist/api/utilities/whisper-model.d.ts +310 -0
  90. package/dist/api/utilities/whisper-model.js +528 -0
  91. package/dist/api/utilities/whisper-model.js.map +1 -0
  92. package/dist/api/webrtc-stream.d.ts +288 -0
  93. package/dist/api/webrtc-stream.js +440 -0
  94. package/dist/api/webrtc-stream.js.map +1 -0
  95. package/dist/api/whisper.d.ts +324 -0
  96. package/dist/api/whisper.js +362 -0
  97. package/dist/api/whisper.js.map +1 -0
  98. package/dist/constants/constants.d.ts +54 -2
  99. package/dist/constants/constants.js +48 -1
  100. package/dist/constants/constants.js.map +1 -1
  101. package/dist/constants/encoders.d.ts +2 -1
  102. package/dist/constants/encoders.js +4 -3
  103. package/dist/constants/encoders.js.map +1 -1
  104. package/dist/constants/hardware.d.ts +26 -0
  105. package/dist/constants/hardware.js +27 -0
  106. package/dist/constants/hardware.js.map +1 -0
  107. package/dist/constants/index.d.ts +1 -0
  108. package/dist/constants/index.js +1 -0
  109. package/dist/constants/index.js.map +1 -1
  110. package/dist/ffmpeg/index.d.ts +3 -3
  111. package/dist/ffmpeg/index.js +3 -3
  112. package/dist/ffmpeg/utils.d.ts +27 -0
  113. package/dist/ffmpeg/utils.js +28 -16
  114. package/dist/ffmpeg/utils.js.map +1 -1
  115. package/dist/lib/binding.d.ts +22 -11
  116. package/dist/lib/binding.js.map +1 -1
  117. package/dist/lib/codec-context.d.ts +87 -0
  118. package/dist/lib/codec-context.js +125 -4
  119. package/dist/lib/codec-context.js.map +1 -1
  120. package/dist/lib/codec-parameters.d.ts +229 -1
  121. package/dist/lib/codec-parameters.js +264 -0
  122. package/dist/lib/codec-parameters.js.map +1 -1
  123. package/dist/lib/codec-parser.d.ts +23 -0
  124. package/dist/lib/codec-parser.js +25 -0
  125. package/dist/lib/codec-parser.js.map +1 -1
  126. package/dist/lib/codec.d.ts +26 -4
  127. package/dist/lib/codec.js +35 -0
  128. package/dist/lib/codec.js.map +1 -1
  129. package/dist/lib/dictionary.js +1 -0
  130. package/dist/lib/dictionary.js.map +1 -1
  131. package/dist/lib/error.js +1 -1
  132. package/dist/lib/error.js.map +1 -1
  133. package/dist/lib/fifo.d.ts +416 -0
  134. package/dist/lib/fifo.js +453 -0
  135. package/dist/lib/fifo.js.map +1 -0
  136. package/dist/lib/filter-context.d.ts +52 -11
  137. package/dist/lib/filter-context.js +56 -12
  138. package/dist/lib/filter-context.js.map +1 -1
  139. package/dist/lib/filter-graph.d.ts +9 -0
  140. package/dist/lib/filter-graph.js +13 -0
  141. package/dist/lib/filter-graph.js.map +1 -1
  142. package/dist/lib/filter.d.ts +21 -0
  143. package/dist/lib/filter.js +28 -0
  144. package/dist/lib/filter.js.map +1 -1
  145. package/dist/lib/format-context.d.ts +48 -14
  146. package/dist/lib/format-context.js +76 -7
  147. package/dist/lib/format-context.js.map +1 -1
  148. package/dist/lib/frame.d.ts +264 -1
  149. package/dist/lib/frame.js +351 -1
  150. package/dist/lib/frame.js.map +1 -1
  151. package/dist/lib/hardware-device-context.d.ts +3 -2
  152. package/dist/lib/hardware-device-context.js.map +1 -1
  153. package/dist/lib/index.d.ts +2 -0
  154. package/dist/lib/index.js +4 -0
  155. package/dist/lib/index.js.map +1 -1
  156. package/dist/lib/input-format.d.ts +21 -0
  157. package/dist/lib/input-format.js +42 -2
  158. package/dist/lib/input-format.js.map +1 -1
  159. package/dist/lib/native-types.d.ts +76 -27
  160. package/dist/lib/option.d.ts +25 -13
  161. package/dist/lib/option.js +28 -0
  162. package/dist/lib/option.js.map +1 -1
  163. package/dist/lib/output-format.d.ts +22 -1
  164. package/dist/lib/output-format.js +28 -0
  165. package/dist/lib/output-format.js.map +1 -1
  166. package/dist/lib/packet.d.ts +35 -0
  167. package/dist/lib/packet.js +52 -2
  168. package/dist/lib/packet.js.map +1 -1
  169. package/dist/lib/rational.d.ts +18 -0
  170. package/dist/lib/rational.js +19 -0
  171. package/dist/lib/rational.js.map +1 -1
  172. package/dist/lib/stream.d.ts +126 -0
  173. package/dist/lib/stream.js +188 -5
  174. package/dist/lib/stream.js.map +1 -1
  175. package/dist/lib/sync-queue.d.ts +179 -0
  176. package/dist/lib/sync-queue.js +197 -0
  177. package/dist/lib/sync-queue.js.map +1 -0
  178. package/dist/lib/types.d.ts +49 -1
  179. package/dist/lib/utilities.d.ts +281 -53
  180. package/dist/lib/utilities.js +298 -55
  181. package/dist/lib/utilities.js.map +1 -1
  182. package/install/check.js +2 -2
  183. package/package.json +37 -26
  184. package/dist/api/fmp4.js +0 -710
  185. package/dist/api/fmp4.js.map +0 -1
  186. package/dist/api/media-input.js +0 -1075
  187. package/dist/api/media-input.js.map +0 -1
  188. package/dist/api/media-output.js +0 -1040
  189. package/dist/api/media-output.js.map +0 -1
  190. package/dist/api/webrtc.d.ts +0 -664
  191. package/dist/api/webrtc.js +0 -1132
  192. package/dist/api/webrtc.js.map +0 -1
@@ -0,0 +1,91 @@
1
+ /**
2
+ * AsyncQueue provides a promise-based blocking queue similar to FFmpeg's ThreadQueue.
3
+ *
4
+ * Unlike FFmpeg's pthread-based blocking, this uses Promises to achieve
5
+ * non-blocking async behavior while maintaining queue semantics.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const queue = new AsyncQueue<Frame>(8);
10
+ *
11
+ * // Producer
12
+ * await queue.send(frame); // Blocks if queue full
13
+ *
14
+ * // Consumer
15
+ * const frame = await queue.receive(); // Blocks if queue empty
16
+ *
17
+ * // Cleanup
18
+ * queue.close();
19
+ * ```
20
+ */
21
+ export declare class AsyncQueue<T> {
22
+ private queue;
23
+ private sendWaiters;
24
+ private receiveWaiters;
25
+ private maxSize;
26
+ private closed;
27
+ /**
28
+ * Creates a new AsyncQueue.
29
+ *
30
+ * @param maxSize Maximum number of items in queue before send() blocks
31
+ */
32
+ constructor(maxSize: number);
33
+ /**
34
+ * Current number of items in the queue.
35
+ */
36
+ get size(): number;
37
+ /**
38
+ * Whether the queue is closed.
39
+ */
40
+ get isClosed(): boolean;
41
+ /**
42
+ * Maximum queue size (from constructor).
43
+ */
44
+ get capacity(): number;
45
+ /**
46
+ * Number of producers waiting to send (backpressure indicator).
47
+ */
48
+ get waitingSenders(): number;
49
+ /**
50
+ * Number of consumers waiting to receive.
51
+ */
52
+ get waitingReceivers(): number;
53
+ /**
54
+ * Sends an item to the queue.
55
+ *
56
+ * If the queue is full, this method blocks (awaits) until space is available.
57
+ *
58
+ * @param item Item to send
59
+ *
60
+ * @returns Promise that resolves when item is sent
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * await queue.send(item);
65
+ * ```
66
+ */
67
+ send(item: T): Promise<void>;
68
+ /**
69
+ * Receives an item from the queue.
70
+ *
71
+ * If the queue is empty and not closed, this method blocks (awaits) until an item is available.
72
+ * If the queue is closed and empty, returns null.
73
+ *
74
+ * @returns Next item from queue, or null if closed and empty
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * const item = await queue.receive();
79
+ * ```
80
+ */
81
+ receive(): Promise<T | null>;
82
+ /**
83
+ * Closes the queue, rejecting any pending sends and resolving pending receives with null.
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * queue.close();
88
+ * ```
89
+ */
90
+ close(): void;
91
+ }
@@ -0,0 +1,162 @@
1
+ /**
2
+ * AsyncQueue provides a promise-based blocking queue similar to FFmpeg's ThreadQueue.
3
+ *
4
+ * Unlike FFmpeg's pthread-based blocking, this uses Promises to achieve
5
+ * non-blocking async behavior while maintaining queue semantics.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const queue = new AsyncQueue<Frame>(8);
10
+ *
11
+ * // Producer
12
+ * await queue.send(frame); // Blocks if queue full
13
+ *
14
+ * // Consumer
15
+ * const frame = await queue.receive(); // Blocks if queue empty
16
+ *
17
+ * // Cleanup
18
+ * queue.close();
19
+ * ```
20
+ */
21
+ export class AsyncQueue {
22
+ queue = [];
23
+ sendWaiters = [];
24
+ receiveWaiters = [];
25
+ maxSize;
26
+ closed = false;
27
+ /**
28
+ * Creates a new AsyncQueue.
29
+ *
30
+ * @param maxSize Maximum number of items in queue before send() blocks
31
+ */
32
+ constructor(maxSize) {
33
+ if (maxSize <= 0) {
34
+ maxSize = 1;
35
+ }
36
+ this.maxSize = maxSize;
37
+ }
38
+ /**
39
+ * Current number of items in the queue.
40
+ */
41
+ get size() {
42
+ return this.queue.length;
43
+ }
44
+ /**
45
+ * Whether the queue is closed.
46
+ */
47
+ get isClosed() {
48
+ return this.closed;
49
+ }
50
+ /**
51
+ * Maximum queue size (from constructor).
52
+ */
53
+ get capacity() {
54
+ return this.maxSize;
55
+ }
56
+ /**
57
+ * Number of producers waiting to send (backpressure indicator).
58
+ */
59
+ get waitingSenders() {
60
+ return this.sendWaiters.length;
61
+ }
62
+ /**
63
+ * Number of consumers waiting to receive.
64
+ */
65
+ get waitingReceivers() {
66
+ return this.receiveWaiters.length;
67
+ }
68
+ /**
69
+ * Sends an item to the queue.
70
+ *
71
+ * If the queue is full, this method blocks (awaits) until space is available.
72
+ *
73
+ * @param item Item to send
74
+ *
75
+ * @returns Promise that resolves when item is sent
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * await queue.send(item);
80
+ * ```
81
+ */
82
+ async send(item) {
83
+ if (this.closed) {
84
+ return;
85
+ }
86
+ // Block if queue full
87
+ while (this.queue.length >= this.maxSize && !this.closed) {
88
+ await new Promise((resolve) => this.sendWaiters.push(resolve));
89
+ }
90
+ if (this.closed) {
91
+ return;
92
+ }
93
+ this.queue.push(item);
94
+ // Wake up one receiver if waiting (just signal, don't remove item)
95
+ const receiver = this.receiveWaiters.shift();
96
+ if (receiver) {
97
+ receiver(); // Signal that item is available
98
+ }
99
+ }
100
+ /**
101
+ * Receives an item from the queue.
102
+ *
103
+ * If the queue is empty and not closed, this method blocks (awaits) until an item is available.
104
+ * If the queue is closed and empty, returns null.
105
+ *
106
+ * @returns Next item from queue, or null if closed and empty
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const item = await queue.receive();
111
+ * ```
112
+ */
113
+ async receive() {
114
+ // Loop until we get an item or queue is closed
115
+ while (true) {
116
+ // If queue has items, return immediately
117
+ if (this.queue.length > 0) {
118
+ const item = this.queue.shift();
119
+ // Wake up one sender if waiting
120
+ const sender = this.sendWaiters.shift();
121
+ if (sender) {
122
+ sender();
123
+ }
124
+ return item;
125
+ }
126
+ // If closed and empty, return null
127
+ if (this.closed) {
128
+ return null;
129
+ }
130
+ // Block until signaled
131
+ await new Promise((resolve) => {
132
+ this.receiveWaiters.push(resolve);
133
+ });
134
+ // After waking up, loop back to check queue again
135
+ }
136
+ }
137
+ /**
138
+ * Closes the queue, rejecting any pending sends and resolving pending receives with null.
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * queue.close();
143
+ * ```
144
+ */
145
+ close() {
146
+ if (this.closed) {
147
+ return;
148
+ }
149
+ this.closed = true;
150
+ // Wake up all waiting senders
151
+ const senders = this.sendWaiters.splice(0);
152
+ for (const sender of senders) {
153
+ sender();
154
+ }
155
+ // Wake up all waiting receivers (they will get null from empty queue check)
156
+ const receivers = this.receiveWaiters.splice(0);
157
+ for (const receiver of receivers) {
158
+ receiver();
159
+ }
160
+ }
161
+ }
162
+ //# sourceMappingURL=async-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-queue.js","sourceRoot":"","sources":["../../../src/api/utilities/async-queue.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AVSampleFormat } from '../../constants/constants.js';
1
+ import type { AVSampleFormat } from '../../constants/index.js';
2
2
  /**
3
3
  * Audio sample allocation result.
4
4
  */
@@ -52,10 +52,15 @@ export declare class AudioSampleUtils {
52
52
  * Direct mapping to av_samples_alloc()
53
53
  *
54
54
  * @param nbChannels - Number of audio channels
55
+ *
55
56
  * @param nbSamples - Number of samples per channel
57
+ *
56
58
  * @param sampleFmt - Audio sample format
59
+ *
57
60
  * @param align - Buffer alignment (0 for default)
61
+ *
58
62
  * @returns Allocation result with buffers and size information
63
+ *
59
64
  * @throws {FFmpegError} On allocation failure
60
65
  *
61
66
  * @example
@@ -81,10 +86,15 @@ export declare class AudioSampleUtils {
81
86
  * Direct mapping to av_samples_get_buffer_size()
82
87
  *
83
88
  * @param nbChannels - Number of audio channels
89
+ *
84
90
  * @param nbSamples - Number of samples per channel
91
+ *
85
92
  * @param sampleFmt - Audio sample format
93
+ *
86
94
  * @param align - Buffer alignment (0 for default)
95
+ *
87
96
  * @returns Buffer size and line size information
97
+ *
88
98
  * @throws {FFmpegError} On invalid parameters
89
99
  *
90
100
  * @example
@@ -34,10 +34,15 @@ export class AudioSampleUtils {
34
34
  * Direct mapping to av_samples_alloc()
35
35
  *
36
36
  * @param nbChannels - Number of audio channels
37
+ *
37
38
  * @param nbSamples - Number of samples per channel
39
+ *
38
40
  * @param sampleFmt - Audio sample format
41
+ *
39
42
  * @param align - Buffer alignment (0 for default)
43
+ *
40
44
  * @returns Allocation result with buffers and size information
45
+ *
41
46
  * @throws {FFmpegError} On allocation failure
42
47
  *
43
48
  * @example
@@ -69,10 +74,15 @@ export class AudioSampleUtils {
69
74
  * Direct mapping to av_samples_get_buffer_size()
70
75
  *
71
76
  * @param nbChannels - Number of audio channels
77
+ *
72
78
  * @param nbSamples - Number of samples per channel
79
+ *
73
80
  * @param sampleFmt - Audio sample format
81
+ *
74
82
  * @param align - Buffer alignment (0 for default)
83
+ *
75
84
  * @returns Buffer size and line size information
85
+ *
76
86
  * @throws {FFmpegError} On invalid parameters
77
87
  *
78
88
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"audio-sample.js","sourceRoot":"","sources":["../../../src/api/utilities/audio-sample.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,gBAAgB;IAC3B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAC1F,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,aAAa,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"audio-sample.js","sourceRoot":"","sources":["../../../src/api/utilities/audio-sample.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,gBAAgB;IAC3B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAC1F,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,MAAM,CAAC,aAAa,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;CACF"}
@@ -40,6 +40,7 @@ export declare class ChannelLayoutUtils {
40
40
  * Direct mapping to av_channel_layout_describe()
41
41
  *
42
42
  * @param channelLayout - Channel layout to describe
43
+ *
43
44
  * @returns String description, or null on error
44
45
  *
45
46
  * @example
@@ -41,6 +41,7 @@ export class ChannelLayoutUtils {
41
41
  * Direct mapping to av_channel_layout_describe()
42
42
  *
43
43
  * @param channelLayout - Channel layout to describe
44
+ *
44
45
  * @returns String description, or null on error
45
46
  *
46
47
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"channel-layout.js","sourceRoot":"","sources":["../../../src/api/utilities/channel-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,kBAAkB;IAC7B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAqC;QACnD,OAAO,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"channel-layout.js","sourceRoot":"","sources":["../../../src/api/utilities/channel-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,kBAAkB;IAC7B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAqC;QACnD,OAAO,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { AVPixelFormat } from '../../constants/constants.js';
1
+ import type { AVPixelFormat } from '../../constants/index.js';
2
2
  /**
3
3
  * Image buffer allocation result.
4
4
  */
@@ -41,10 +41,15 @@ export declare class ImageUtils {
41
41
  * Direct mapping to av_image_alloc()
42
42
  *
43
43
  * @param width - Image width in pixels
44
+ *
44
45
  * @param height - Image height in pixels
46
+ *
45
47
  * @param pixFmt - Pixel format
48
+ *
46
49
  * @param align - Buffer alignment (typically 1, 16, or 32)
50
+ *
47
51
  * @returns Allocation result with buffer, size, and line sizes
52
+ *
48
53
  * @throws {FFmpegError} On allocation failure
49
54
  *
50
55
  * @example
@@ -68,11 +73,26 @@ export declare class ImageUtils {
68
73
  * This is an alias for compatibility.
69
74
  *
70
75
  * @param width - Image width in pixels
76
+ *
71
77
  * @param height - Image height in pixels
78
+ *
72
79
  * @param pixFmt - Pixel format
80
+ *
73
81
  * @param align - Buffer alignment
82
+ *
74
83
  * @returns Allocation result
84
+ *
75
85
  * @throws {FFmpegError} On allocation failure
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * import { ImageUtils } from 'node-av';
90
+ * import { AV_PIX_FMT_YUV420P } from 'node-av/constants';
91
+ *
92
+ * // Allocate image buffer using allocArrays
93
+ * const image = ImageUtils.allocArrays(1920, 1080, AV_PIX_FMT_YUV420P, 32);
94
+ * console.log(`Allocated ${image.size} bytes`);
95
+ * ```
76
96
  */
77
97
  static allocArrays(width: number, height: number, pixFmt: AVPixelFormat, align: number): ImageAllocation;
78
98
  /**
@@ -82,11 +102,17 @@ export declare class ImageUtils {
82
102
  * Direct mapping to av_image_copy2()
83
103
  *
84
104
  * @param dstData - Destination data buffers (one per plane)
105
+ *
85
106
  * @param dstLinesizes - Destination line sizes
107
+ *
86
108
  * @param srcData - Source data buffers (one per plane)
109
+ *
87
110
  * @param srcLinesizes - Source line sizes
111
+ *
88
112
  * @param pixFmt - Pixel format
113
+ *
89
114
  * @param width - Image width
115
+ *
90
116
  * @param height - Image height
91
117
  *
92
118
  * @example
@@ -110,9 +136,13 @@ export declare class ImageUtils {
110
136
  * Direct mapping to av_image_get_buffer_size()
111
137
  *
112
138
  * @param pixFmt - Pixel format
139
+ *
113
140
  * @param width - Image width
141
+ *
114
142
  * @param height - Image height
143
+ *
115
144
  * @param align - Buffer alignment
145
+ *
116
146
  * @returns Required buffer size in bytes
117
147
  *
118
148
  * @example
@@ -137,13 +167,21 @@ export declare class ImageUtils {
137
167
  * Direct mapping to av_image_copy_to_buffer()
138
168
  *
139
169
  * @param dst - Destination buffer
170
+ *
140
171
  * @param dstSize - Destination buffer size
172
+ *
141
173
  * @param srcData - Source data buffers (one per plane), or null
174
+ *
142
175
  * @param srcLinesize - Source line sizes, or null
176
+ *
143
177
  * @param pixFmt - Pixel format
178
+ *
144
179
  * @param width - Image width
180
+ *
145
181
  * @param height - Image height
182
+ *
146
183
  * @param align - Buffer alignment
184
+ *
147
185
  * @returns Bytes written, or negative error code
148
186
  *
149
187
  * @example
@@ -32,10 +32,15 @@ export class ImageUtils {
32
32
  * Direct mapping to av_image_alloc()
33
33
  *
34
34
  * @param width - Image width in pixels
35
+ *
35
36
  * @param height - Image height in pixels
37
+ *
36
38
  * @param pixFmt - Pixel format
39
+ *
37
40
  * @param align - Buffer alignment (typically 1, 16, or 32)
41
+ *
38
42
  * @returns Allocation result with buffer, size, and line sizes
43
+ *
39
44
  * @throws {FFmpegError} On allocation failure
40
45
  *
41
46
  * @example
@@ -65,11 +70,26 @@ export class ImageUtils {
65
70
  * This is an alias for compatibility.
66
71
  *
67
72
  * @param width - Image width in pixels
73
+ *
68
74
  * @param height - Image height in pixels
75
+ *
69
76
  * @param pixFmt - Pixel format
77
+ *
70
78
  * @param align - Buffer alignment
79
+ *
71
80
  * @returns Allocation result
81
+ *
72
82
  * @throws {FFmpegError} On allocation failure
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * import { ImageUtils } from 'node-av';
87
+ * import { AV_PIX_FMT_YUV420P } from 'node-av/constants';
88
+ *
89
+ * // Allocate image buffer using allocArrays
90
+ * const image = ImageUtils.allocArrays(1920, 1080, AV_PIX_FMT_YUV420P, 32);
91
+ * console.log(`Allocated ${image.size} bytes`);
92
+ * ```
73
93
  */
74
94
  static allocArrays(width, height, pixFmt, align) {
75
95
  return ImageUtils.alloc(width, height, pixFmt, align);
@@ -81,11 +101,17 @@ export class ImageUtils {
81
101
  * Direct mapping to av_image_copy2()
82
102
  *
83
103
  * @param dstData - Destination data buffers (one per plane)
104
+ *
84
105
  * @param dstLinesizes - Destination line sizes
106
+ *
85
107
  * @param srcData - Source data buffers (one per plane)
108
+ *
86
109
  * @param srcLinesizes - Source line sizes
110
+ *
87
111
  * @param pixFmt - Pixel format
112
+ *
88
113
  * @param width - Image width
114
+ *
89
115
  * @param height - Image height
90
116
  *
91
117
  * @example
@@ -111,9 +137,13 @@ export class ImageUtils {
111
137
  * Direct mapping to av_image_get_buffer_size()
112
138
  *
113
139
  * @param pixFmt - Pixel format
140
+ *
114
141
  * @param width - Image width
142
+ *
115
143
  * @param height - Image height
144
+ *
116
145
  * @param align - Buffer alignment
146
+ *
117
147
  * @returns Required buffer size in bytes
118
148
  *
119
149
  * @example
@@ -140,13 +170,21 @@ export class ImageUtils {
140
170
  * Direct mapping to av_image_copy_to_buffer()
141
171
  *
142
172
  * @param dst - Destination buffer
173
+ *
143
174
  * @param dstSize - Destination buffer size
175
+ *
144
176
  * @param srcData - Source data buffers (one per plane), or null
177
+ *
145
178
  * @param srcLinesize - Source line sizes, or null
179
+ *
146
180
  * @param pixFmt - Pixel format
181
+ *
147
182
  * @param width - Image width
183
+ *
148
184
  * @param height - Image height
185
+ *
149
186
  * @param align - Buffer alignment
187
+ *
150
188
  * @returns Bytes written, or negative error code
151
189
  *
152
190
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/api/utilities/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgBjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,UAAU;IACrB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAyB,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QACpF,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,IAAI,CAAC,OAAiB,EAAE,YAAsB,EAAE,OAAiB,EAAE,YAAsB,EAAE,MAAqB,EAAE,KAAa,EAAE,MAAc;QACpJ,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,aAAa,CAAC,MAAqB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa;QACtF,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,MAAM,CAAC,YAAY,CACjB,GAAW,EACX,OAAe,EACf,OAAwB,EACxB,WAA4B,EAC5B,MAAqB,EACrB,KAAa,EACb,MAAc,EACd,KAAa;QAEb,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;CACF"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/api/utilities/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgBjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,UAAU;IACrB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAyB,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QACpF,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,IAAI,CAAC,OAAiB,EAAE,YAAsB,EAAE,OAAiB,EAAE,YAAsB,EAAE,MAAqB,EAAE,KAAa,EAAE,MAAc;QACpJ,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,aAAa,CAAC,MAAqB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa;QACtF,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,MAAM,CAAC,YAAY,CACjB,GAAW,EACX,OAAe,EACf,OAAwB,EACxB,WAA4B,EAC5B,MAAqB,EACrB,KAAa,EACb,MAAc,EACd,KAAa;QAEb,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;CACF"}
@@ -6,3 +6,6 @@ export { PixelFormatUtils } from './pixel-format.js';
6
6
  export { SampleFormatUtils } from './sample-format.js';
7
7
  export { TimestampUtils } from './timestamp.js';
8
8
  export { StreamingUtils } from './streaming.js';
9
+ export { WhisperDownloader } from './whisper-model.js';
10
+ export { AsyncQueue } from './async-queue.js';
11
+ export { Scheduler } from './scheduler.js';
@@ -14,4 +14,10 @@ export { SampleFormatUtils } from './sample-format.js';
14
14
  export { TimestampUtils } from './timestamp.js';
15
15
  // Streaming
16
16
  export { StreamingUtils } from './streaming.js';
17
+ // Whisper Model Downloader
18
+ export { WhisperDownloader } from './whisper-model.js';
19
+ // AsyncQueue
20
+ export { AsyncQueue } from './async-queue.js';
21
+ // Scheduler
22
+ export { Scheduler } from './scheduler.js';
17
23
  //# sourceMappingURL=index.js.map
@@ -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"}
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,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AVMediaType } from '../../constants/constants.js';
1
+ import type { AVMediaType } from '../../constants/index.js';
2
2
  /**
3
3
  * Media type utilities.
4
4
  *
@@ -24,6 +24,7 @@ export declare class MediaTypeUtils {
24
24
  * Direct mapping to av_get_media_type_string()
25
25
  *
26
26
  * @param type - Media type enum value
27
+ *
27
28
  * @returns String representation, or null for invalid type
28
29
  *
29
30
  * @example
@@ -25,6 +25,7 @@ export class MediaTypeUtils {
25
25
  * Direct mapping to av_get_media_type_string()
26
26
  *
27
27
  * @param type - Media type enum value
28
+ *
28
29
  * @returns String representation, or null for invalid type
29
30
  *
30
31
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"media-type.js","sourceRoot":"","sources":["../../../src/api/utilities/media-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,cAAc;IACzB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,SAAS,CAAC,IAAiB;QAChC,OAAO,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"media-type.js","sourceRoot":"","sources":["../../../src/api/utilities/media-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,cAAc;IACzB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,SAAS,CAAC,IAAiB;QAChC,OAAO,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { AVPixelFormat } from '../../constants/constants.js';
1
+ import type { AVPixelFormat } from '../../constants/index.js';
2
2
  /**
3
3
  * Video pixel format utilities.
4
4
  *
@@ -28,6 +28,7 @@ export declare class PixelFormatUtils {
28
28
  * Direct mapping to av_get_pix_fmt_name()
29
29
  *
30
30
  * @param format - Video pixel format
31
+ *
31
32
  * @returns Format name string, or null for invalid format
32
33
  *
33
34
  * @example
@@ -47,6 +48,7 @@ export declare class PixelFormatUtils {
47
48
  * Direct mapping to av_get_pix_fmt()
48
49
  *
49
50
  * @param name - Pixel format name string
51
+ *
50
52
  * @returns Pixel format enum value, or AV_PIX_FMT_NONE for unknown formats
51
53
  *
52
54
  * @example
@@ -70,6 +72,7 @@ export declare class PixelFormatUtils {
70
72
  * Direct mapping to av_pix_fmt_desc_get() and checking for AV_PIX_FMT_FLAG_HWACCEL
71
73
  *
72
74
  * @param format - Video pixel format
75
+ *
73
76
  * @returns True if format is hardware accelerated
74
77
  *
75
78
  * @example
@@ -29,6 +29,7 @@ export class PixelFormatUtils {
29
29
  * Direct mapping to av_get_pix_fmt_name()
30
30
  *
31
31
  * @param format - Video pixel format
32
+ *
32
33
  * @returns Format name string, or null for invalid format
33
34
  *
34
35
  * @example
@@ -50,6 +51,7 @@ export class PixelFormatUtils {
50
51
  * Direct mapping to av_get_pix_fmt()
51
52
  *
52
53
  * @param name - Pixel format name string
54
+ *
53
55
  * @returns Pixel format enum value, or AV_PIX_FMT_NONE for unknown formats
54
56
  *
55
57
  * @example
@@ -75,6 +77,7 @@ export class PixelFormatUtils {
75
77
  * Direct mapping to av_pix_fmt_desc_get() and checking for AV_PIX_FMT_FLAG_HWACCEL
76
78
  *
77
79
  * @param format - Video pixel format
80
+ *
78
81
  * @returns True if format is hardware accelerated
79
82
  *
80
83
  * @example