node-av 1.0.3 → 1.2.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 (162) hide show
  1. package/README.md +56 -41
  2. package/dist/api/bitstream-filter.d.ts +180 -123
  3. package/dist/api/bitstream-filter.js +182 -126
  4. package/dist/api/bitstream-filter.js.map +1 -1
  5. package/dist/api/decoder.d.ts +286 -130
  6. package/dist/api/decoder.js +321 -159
  7. package/dist/api/decoder.js.map +1 -1
  8. package/dist/api/encoder.d.ts +254 -158
  9. package/dist/api/encoder.js +326 -298
  10. package/dist/api/encoder.js.map +1 -1
  11. package/dist/api/filter-presets.d.ts +912 -0
  12. package/dist/api/filter-presets.js +1407 -0
  13. package/dist/api/filter-presets.js.map +1 -0
  14. package/dist/api/filter.d.ts +280 -284
  15. package/dist/api/filter.js +435 -509
  16. package/dist/api/filter.js.map +1 -1
  17. package/dist/api/hardware.d.ts +226 -159
  18. package/dist/api/hardware.js +405 -287
  19. package/dist/api/hardware.js.map +1 -1
  20. package/dist/api/index.d.ts +3 -2
  21. package/dist/api/index.js +1 -0
  22. package/dist/api/index.js.map +1 -1
  23. package/dist/api/io-stream.d.ts +65 -61
  24. package/dist/api/io-stream.js +45 -47
  25. package/dist/api/io-stream.js.map +1 -1
  26. package/dist/api/media-input.d.ts +244 -141
  27. package/dist/api/media-input.js +207 -104
  28. package/dist/api/media-input.js.map +1 -1
  29. package/dist/api/media-output.d.ts +206 -128
  30. package/dist/api/media-output.js +212 -129
  31. package/dist/api/media-output.js.map +1 -1
  32. package/dist/api/pipeline.d.ts +168 -38
  33. package/dist/api/pipeline.js +238 -14
  34. package/dist/api/pipeline.js.map +1 -1
  35. package/dist/api/types.d.ts +22 -182
  36. package/dist/api/utilities/audio-sample.d.ts +1 -1
  37. package/dist/api/utilities/image.d.ts +1 -1
  38. package/dist/api/utilities/media-type.d.ts +1 -1
  39. package/dist/api/utilities/pixel-format.d.ts +1 -1
  40. package/dist/api/utilities/sample-format.d.ts +1 -1
  41. package/dist/api/utilities/timestamp.d.ts +1 -1
  42. package/dist/api/utils.d.ts +1 -2
  43. package/dist/api/utils.js +9 -0
  44. package/dist/api/utils.js.map +1 -1
  45. package/dist/{lib → constants}/channel-layouts.d.ts +1 -1
  46. package/dist/constants/channel-layouts.js.map +1 -0
  47. package/dist/{lib → constants}/constants.d.ts +19 -4
  48. package/dist/{lib → constants}/constants.js +15 -1
  49. package/dist/constants/constants.js.map +1 -0
  50. package/dist/constants/decoders.d.ts +609 -0
  51. package/dist/constants/decoders.js +617 -0
  52. package/dist/constants/decoders.js.map +1 -0
  53. package/dist/constants/encoders.d.ts +285 -0
  54. package/dist/constants/encoders.js +298 -0
  55. package/dist/constants/encoders.js.map +1 -0
  56. package/dist/constants/index.d.ts +4 -0
  57. package/dist/constants/index.js +5 -0
  58. package/dist/constants/index.js.map +1 -0
  59. package/dist/index.d.ts +1 -0
  60. package/dist/index.js +2 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/lib/audio-fifo.d.ts +128 -171
  63. package/dist/lib/audio-fifo.js +130 -173
  64. package/dist/lib/audio-fifo.js.map +1 -1
  65. package/dist/lib/binding.d.ts +7 -5
  66. package/dist/lib/binding.js +5 -0
  67. package/dist/lib/binding.js.map +1 -1
  68. package/dist/lib/bitstream-filter-context.d.ts +139 -184
  69. package/dist/lib/bitstream-filter-context.js +139 -188
  70. package/dist/lib/bitstream-filter-context.js.map +1 -1
  71. package/dist/lib/bitstream-filter.d.ts +69 -55
  72. package/dist/lib/bitstream-filter.js +68 -54
  73. package/dist/lib/bitstream-filter.js.map +1 -1
  74. package/dist/lib/codec-context.d.ts +317 -381
  75. package/dist/lib/codec-context.js +316 -381
  76. package/dist/lib/codec-context.js.map +1 -1
  77. package/dist/lib/codec-parameters.d.ts +161 -171
  78. package/dist/lib/codec-parameters.js +162 -172
  79. package/dist/lib/codec-parameters.js.map +1 -1
  80. package/dist/lib/codec-parser.d.ts +92 -105
  81. package/dist/lib/codec-parser.js +92 -103
  82. package/dist/lib/codec-parser.js.map +1 -1
  83. package/dist/lib/codec.d.ts +328 -217
  84. package/dist/lib/codec.js +392 -218
  85. package/dist/lib/codec.js.map +1 -1
  86. package/dist/lib/dictionary.d.ts +150 -204
  87. package/dist/lib/dictionary.js +159 -213
  88. package/dist/lib/dictionary.js.map +1 -1
  89. package/dist/lib/error.d.ts +97 -131
  90. package/dist/lib/error.js +98 -128
  91. package/dist/lib/error.js.map +1 -1
  92. package/dist/lib/filter-context.d.ts +317 -194
  93. package/dist/lib/filter-context.js +335 -200
  94. package/dist/lib/filter-context.js.map +1 -1
  95. package/dist/lib/filter-graph.d.ts +252 -293
  96. package/dist/lib/filter-graph.js +253 -294
  97. package/dist/lib/filter-graph.js.map +1 -1
  98. package/dist/lib/filter-inout.d.ts +87 -95
  99. package/dist/lib/filter-inout.js +87 -95
  100. package/dist/lib/filter-inout.js.map +1 -1
  101. package/dist/lib/filter.d.ts +93 -111
  102. package/dist/lib/filter.js +94 -112
  103. package/dist/lib/filter.js.map +1 -1
  104. package/dist/lib/format-context.d.ts +321 -429
  105. package/dist/lib/format-context.js +314 -386
  106. package/dist/lib/format-context.js.map +1 -1
  107. package/dist/lib/frame.d.ts +263 -406
  108. package/dist/lib/frame.js +263 -408
  109. package/dist/lib/frame.js.map +1 -1
  110. package/dist/lib/hardware-device-context.d.ts +150 -204
  111. package/dist/lib/hardware-device-context.js +149 -203
  112. package/dist/lib/hardware-device-context.js.map +1 -1
  113. package/dist/lib/hardware-frames-context.d.ts +171 -181
  114. package/dist/lib/hardware-frames-context.js +171 -181
  115. package/dist/lib/hardware-frames-context.js.map +1 -1
  116. package/dist/lib/index.d.ts +2 -3
  117. package/dist/lib/index.js +2 -5
  118. package/dist/lib/index.js.map +1 -1
  119. package/dist/lib/input-format.d.ts +90 -118
  120. package/dist/lib/input-format.js +89 -117
  121. package/dist/lib/input-format.js.map +1 -1
  122. package/dist/lib/io-context.d.ts +210 -242
  123. package/dist/lib/io-context.js +221 -253
  124. package/dist/lib/io-context.js.map +1 -1
  125. package/dist/lib/log.d.ts +86 -120
  126. package/dist/lib/log.js +85 -122
  127. package/dist/lib/log.js.map +1 -1
  128. package/dist/lib/native-types.d.ts +127 -112
  129. package/dist/lib/native-types.js +9 -0
  130. package/dist/lib/native-types.js.map +1 -1
  131. package/dist/lib/option.d.ts +285 -242
  132. package/dist/lib/option.js +310 -250
  133. package/dist/lib/option.js.map +1 -1
  134. package/dist/lib/output-format.d.ts +78 -102
  135. package/dist/lib/output-format.js +77 -101
  136. package/dist/lib/output-format.js.map +1 -1
  137. package/dist/lib/packet.d.ts +173 -241
  138. package/dist/lib/packet.js +172 -241
  139. package/dist/lib/packet.js.map +1 -1
  140. package/dist/lib/rational.d.ts +0 -2
  141. package/dist/lib/rational.js +0 -2
  142. package/dist/lib/rational.js.map +1 -1
  143. package/dist/lib/software-resample-context.d.ts +242 -326
  144. package/dist/lib/software-resample-context.js +242 -326
  145. package/dist/lib/software-resample-context.js.map +1 -1
  146. package/dist/lib/software-scale-context.d.ts +130 -174
  147. package/dist/lib/software-scale-context.js +132 -176
  148. package/dist/lib/software-scale-context.js.map +1 -1
  149. package/dist/lib/stream.d.ts +88 -198
  150. package/dist/lib/stream.js +87 -197
  151. package/dist/lib/stream.js.map +1 -1
  152. package/dist/lib/types.d.ts +1 -1
  153. package/dist/lib/utilities.d.ts +372 -181
  154. package/dist/lib/utilities.js +373 -182
  155. package/dist/lib/utilities.js.map +1 -1
  156. package/install/check.js +0 -1
  157. package/package.json +32 -24
  158. package/release_notes.md +43 -13
  159. package/CHANGELOG.md +0 -8
  160. package/dist/lib/channel-layouts.js.map +0 -1
  161. package/dist/lib/constants.js.map +0 -1
  162. /package/dist/{lib → constants}/channel-layouts.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"filter-graph.js","sourceRoot":"","sources":["../../src/lib/filter-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-graph.js","sourceRoot":"","sources":["../../src/lib/filter-graph.ts"],"names":[],"mappings":"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"}
@@ -1,91 +1,69 @@
1
1
  import { FilterContext } from './filter-context.js';
2
2
  import type { NativeFilterInOut, NativeWrapper } from './native-types.js';
3
3
  /**
4
- * Filter input/output helper for graph parsing.
4
+ * Filter input/output linked list structure for filter graph parsing.
5
5
  *
6
- * Helper structure for parsing filter graphs with named inputs and outputs.
7
- * Used to connect external sources/sinks to specific points in a filter graph.
8
- * Supports linked lists for multiple I/O points in complex graphs.
6
+ * Represents a linked list of labeled filter pads used during filter graph
7
+ * configuration. Each node contains a filter context, pad index, and optional
8
+ * label for connecting filters together. Used internally by avfilter_graph_parse()
9
+ * to track unlinked filter pads during graph construction.
9
10
  *
10
11
  * Direct mapping to FFmpeg's AVFilterInOut.
11
12
  *
12
13
  * @example
13
14
  * ```typescript
14
- * import { FilterInOut, FilterGraph, FFmpegError } from 'node-av';
15
+ * import { FilterInOut, FilterContext, FFmpegError } from 'node-av';
15
16
  *
16
- * // Create input/output points for filter graph
17
- * const inputs = new FilterInOut();
18
- * inputs.alloc();
19
- * inputs.name = 'in';
20
- * inputs.filterCtx = bufferSrcCtx;
21
- * inputs.padIdx = 0;
17
+ * // Create a linked list of filter inputs/outputs
18
+ * const inputs = FilterInOut.createList([
19
+ * { name: 'in', filterCtx: bufferSrc, padIdx: 0 },
20
+ * { name: 'overlay', filterCtx: overlay, padIdx: 1 }
21
+ * ]);
22
22
  *
23
- * const outputs = new FilterInOut();
24
- * outputs.alloc();
25
- * outputs.name = 'out';
26
- * outputs.filterCtx = bufferSinkCtx;
27
- * outputs.padIdx = 0;
23
+ * // Parse filter graph with labeled connections
24
+ * const ret = graph.parse(filterString, inputs, outputs);
25
+ * FFmpegError.throwIfError(ret, 'parse');
28
26
  *
29
- * // Parse filter graph string
30
- * const ret = filterGraph.parsePtr(
31
- * '[in] scale=1280:720 [out]',
32
- * inputs,
33
- * outputs
34
- * );
35
- * FFmpegError.throwIfError(ret, 'parsePtr');
36
- *
37
- * // Clean up
38
- * inputs.free();
39
- * outputs.free();
27
+ * // Manual creation and linking
28
+ * const inout = new FilterInOut();
29
+ * inout.alloc();
30
+ * inout.name = 'input';
31
+ * inout.filterCtx = sourceFilter;
32
+ * inout.padIdx = 0;
40
33
  * ```
34
+ *
35
+ * @see [AVFilterInOut](https://ffmpeg.org/doxygen/trunk/structAVFilterInOut.html) - FFmpeg Doxygen
36
+ * @see {@link FilterGraph} For parsing filter descriptions
37
+ * @see {@link FilterContext} For filter instances
41
38
  */
42
39
  export declare class FilterInOut implements Disposable, NativeWrapper<NativeFilterInOut> {
43
40
  private native;
44
- /**
45
- * Create a new FilterInOut instance.
46
- *
47
- * The structure is uninitialized - you must call alloc() before use.
48
- * No FFmpeg resources are allocated until alloc() is called.
49
- *
50
- * Direct wrapper around AVFilterInOut.
51
- *
52
- * @example
53
- * ```typescript
54
- * import { FilterInOut } from 'node-av';
55
- *
56
- * const inout = new FilterInOut();
57
- * inout.alloc();
58
- * // Structure is now ready for use
59
- * ```
60
- */
61
41
  constructor();
62
42
  /**
63
- * Create a linked list of FilterInOut structures.
64
- *
65
- * Helper method to create a chain of inputs or outputs.
66
- * Useful for complex filter graphs with multiple I/O points.
43
+ * Create a linked list of filter inputs/outputs.
67
44
  *
68
- * @param items - Array of {name, filterCtx, padIdx} objects
45
+ * Convenience method to build a linked list structure from an array
46
+ * of filter specifications. Each item becomes a node in the list.
69
47
  *
70
- * @returns The head of the linked list, or null if items is empty
48
+ * @param items - Array of filter input/output specifications
49
+ * @returns Head of the linked list, or null if items is empty
71
50
  *
72
51
  * @example
73
52
  * ```typescript
74
- * import { FilterInOut, FilterGraph, FFmpegError } from 'node-av';
75
- *
76
- * // Create multiple inputs
53
+ * // Create inputs for a filter graph
77
54
  * const inputs = FilterInOut.createList([
78
- * { name: 'video_in', filterCtx: videoBufferCtx, padIdx: 0 },
79
- * { name: 'audio_in', filterCtx: audioBufferCtx, padIdx: 0 }
55
+ * { name: 'video_in', filterCtx: videoBuffer, padIdx: 0 },
56
+ * { name: 'audio_in', filterCtx: audioBuffer, padIdx: 0 }
80
57
  * ]);
81
58
  *
82
- * // Use in filter graph
83
- * const ret = filterGraph.parsePtr(filterString, inputs, outputs);
84
- * FFmpegError.throwIfError(ret, 'parsePtr');
85
- *
86
- * // Free the entire list
87
- * inputs?.free();
59
+ * // Create outputs
60
+ * const outputs = FilterInOut.createList([
61
+ * { name: 'video_out', filterCtx: videoSink, padIdx: 0 },
62
+ * { name: 'audio_out', filterCtx: audioSink, padIdx: 0 }
63
+ * ]);
88
64
  * ```
65
+ *
66
+ * @see {@link alloc} For manual node creation
89
67
  */
90
68
  static createList(items: {
91
69
  name: string;
@@ -93,97 +71,110 @@ export declare class FilterInOut implements Disposable, NativeWrapper<NativeFilt
93
71
  padIdx: number;
94
72
  }[]): FilterInOut | null;
95
73
  /**
96
- * Name of this input/output point.
74
+ * Label name for this filter pad.
97
75
  *
98
- * Direct mapping to AVFilterInOut->name
76
+ * Used to reference this connection point in filter graph strings.
77
+ * For example, "[in]" or "[video_out]".
99
78
  *
100
- * Used to reference this pad in filtergraph strings.
79
+ * Direct mapping to AVFilterInOut->name.
101
80
  */
102
81
  get name(): string | null;
103
82
  set name(value: string | null);
104
83
  /**
105
- * Associated filter context.
84
+ * Filter context this pad belongs to.
106
85
  *
107
- * Direct mapping to AVFilterInOut->filter_ctx
86
+ * Reference to the filter instance containing this pad.
108
87
  *
109
- * The filter context this pad connects to.
88
+ * Direct mapping to AVFilterInOut->filter_ctx.
110
89
  */
111
90
  get filterCtx(): FilterContext | null;
112
91
  set filterCtx(value: FilterContext | null);
113
92
  /**
114
- * Pad index.
93
+ * Pad index within the filter.
115
94
  *
116
- * Direct mapping to AVFilterInOut->pad_idx
95
+ * Index of the input or output pad in the filter context.
96
+ * 0 for the first pad, 1 for the second, etc.
117
97
  *
118
- * The input or output pad index on the filter context.
98
+ * Direct mapping to AVFilterInOut->pad_idx.
119
99
  */
120
100
  get padIdx(): number;
121
101
  set padIdx(value: number);
122
102
  /**
123
- * Next element in the linked list.
103
+ * Next node in the linked list.
124
104
  *
125
- * Direct mapping to AVFilterInOut->next
105
+ * Reference to the next FilterInOut in the chain, or null for the last node.
126
106
  *
127
- * Used to chain multiple inputs or outputs together.
107
+ * Direct mapping to AVFilterInOut->next.
128
108
  */
129
109
  get next(): FilterInOut | null;
130
110
  set next(value: FilterInOut | null);
131
111
  /**
132
- * Allocate the FilterInOut structure.
112
+ * Allocate a FilterInOut structure.
133
113
  *
134
- * Allocates the structure and initializes it.
135
- * Must be called before setting properties or using the structure.
114
+ * Allocates memory for the structure. Must be called before using
115
+ * a manually created instance.
136
116
  *
137
- * Direct mapping to avfilter_inout_alloc()
117
+ * Direct mapping to avfilter_inout_alloc().
138
118
  *
139
- * @throws {Error} Memory allocation failure (ENOMEM)
119
+ * @throws {Error} If allocation fails (ENOMEM)
140
120
  *
141
121
  * @example
142
122
  * ```typescript
143
- * import { FilterInOut } from 'node-av';
144
- *
145
123
  * const inout = new FilterInOut();
146
124
  * inout.alloc();
147
- * // Structure is now allocated and ready
125
+ * inout.name = 'input';
126
+ * inout.filterCtx = bufferSource;
127
+ * inout.padIdx = 0;
148
128
  * ```
149
129
  *
150
- * @see {@link free} To free the structure
130
+ * @see {@link free} To deallocate
131
+ * @see {@link createList} For automatic allocation
151
132
  */
152
133
  alloc(): void;
153
134
  /**
154
135
  * Free the FilterInOut structure.
155
136
  *
156
- * Releases all resources associated with the structure.
157
- * Also frees any linked structures in the chain.
137
+ * Deallocates the structure and breaks the chain if part of a linked list.
138
+ * Only frees this node, not the entire list.
158
139
  *
159
- * Direct mapping to avfilter_inout_free()
140
+ * Direct mapping to avfilter_inout_free().
160
141
  *
161
142
  * @example
162
143
  * ```typescript
163
144
  * inout.free();
164
- * // inout is now invalid and should not be used
145
+ * // Structure is now invalid
165
146
  * ```
147
+ *
148
+ * @see {@link alloc} To allocate
149
+ * @see {@link Symbol.dispose} For automatic cleanup
166
150
  */
167
151
  free(): void;
168
152
  /**
169
- * Count elements in the linked list.
153
+ * Count nodes in the linked list.
170
154
  *
171
- * Helper method to count all elements starting from this one.
155
+ * Counts the total number of nodes starting from this node
156
+ * and following the next pointers.
172
157
  *
173
- * @returns Number of elements including this one
158
+ * @returns Number of nodes in the list (including this one)
174
159
  *
175
160
  * @example
176
161
  * ```typescript
177
- * const inputs = FilterInOut.createList([...]);
178
- * console.log(`Total inputs: ${inputs?.count()}`); // e.g., "Total inputs: 3"
162
+ * const list = FilterInOut.createList([
163
+ * { name: 'in1', filterCtx: filter1, padIdx: 0 },
164
+ * { name: 'in2', filterCtx: filter2, padIdx: 0 },
165
+ * { name: 'in3', filterCtx: filter3, padIdx: 0 }
166
+ * ]);
167
+ *
168
+ * console.log(`List has ${list.count()} nodes`); // 3
179
169
  * ```
180
170
  */
181
171
  count(): number;
182
172
  /**
183
- * Get the native FFmpeg AVFilterInOut pointer.
173
+ * Get the underlying native FilterInOut object.
174
+ *
175
+ * @returns The native FilterInOut binding object
184
176
  *
185
- * @internal For use by other wrapper classes
186
- * @returns The underlying native FilterInOut object
177
+ * @internal
187
178
  */
188
179
  getNative(): NativeFilterInOut;
189
180
  /**
@@ -197,7 +188,8 @@ export declare class FilterInOut implements Disposable, NativeWrapper<NativeFilt
197
188
  * {
198
189
  * using inout = new FilterInOut();
199
190
  * inout.alloc();
200
- * // ... use structure
191
+ * inout.name = 'test';
192
+ * // Use inout...
201
193
  * } // Automatically freed when leaving scope
202
194
  * ```
203
195
  */
@@ -1,93 +1,71 @@
1
1
  import { bindings } from './binding.js';
2
2
  import { FilterContext } from './filter-context.js';
3
3
  /**
4
- * Filter input/output helper for graph parsing.
4
+ * Filter input/output linked list structure for filter graph parsing.
5
5
  *
6
- * Helper structure for parsing filter graphs with named inputs and outputs.
7
- * Used to connect external sources/sinks to specific points in a filter graph.
8
- * Supports linked lists for multiple I/O points in complex graphs.
6
+ * Represents a linked list of labeled filter pads used during filter graph
7
+ * configuration. Each node contains a filter context, pad index, and optional
8
+ * label for connecting filters together. Used internally by avfilter_graph_parse()
9
+ * to track unlinked filter pads during graph construction.
9
10
  *
10
11
  * Direct mapping to FFmpeg's AVFilterInOut.
11
12
  *
12
13
  * @example
13
14
  * ```typescript
14
- * import { FilterInOut, FilterGraph, FFmpegError } from 'node-av';
15
+ * import { FilterInOut, FilterContext, FFmpegError } from 'node-av';
15
16
  *
16
- * // Create input/output points for filter graph
17
- * const inputs = new FilterInOut();
18
- * inputs.alloc();
19
- * inputs.name = 'in';
20
- * inputs.filterCtx = bufferSrcCtx;
21
- * inputs.padIdx = 0;
17
+ * // Create a linked list of filter inputs/outputs
18
+ * const inputs = FilterInOut.createList([
19
+ * { name: 'in', filterCtx: bufferSrc, padIdx: 0 },
20
+ * { name: 'overlay', filterCtx: overlay, padIdx: 1 }
21
+ * ]);
22
22
  *
23
- * const outputs = new FilterInOut();
24
- * outputs.alloc();
25
- * outputs.name = 'out';
26
- * outputs.filterCtx = bufferSinkCtx;
27
- * outputs.padIdx = 0;
23
+ * // Parse filter graph with labeled connections
24
+ * const ret = graph.parse(filterString, inputs, outputs);
25
+ * FFmpegError.throwIfError(ret, 'parse');
28
26
  *
29
- * // Parse filter graph string
30
- * const ret = filterGraph.parsePtr(
31
- * '[in] scale=1280:720 [out]',
32
- * inputs,
33
- * outputs
34
- * );
35
- * FFmpegError.throwIfError(ret, 'parsePtr');
36
- *
37
- * // Clean up
38
- * inputs.free();
39
- * outputs.free();
27
+ * // Manual creation and linking
28
+ * const inout = new FilterInOut();
29
+ * inout.alloc();
30
+ * inout.name = 'input';
31
+ * inout.filterCtx = sourceFilter;
32
+ * inout.padIdx = 0;
40
33
  * ```
34
+ *
35
+ * @see [AVFilterInOut](https://ffmpeg.org/doxygen/trunk/structAVFilterInOut.html) - FFmpeg Doxygen
36
+ * @see {@link FilterGraph} For parsing filter descriptions
37
+ * @see {@link FilterContext} For filter instances
41
38
  */
42
39
  export class FilterInOut {
43
40
  native;
44
- /**
45
- * Create a new FilterInOut instance.
46
- *
47
- * The structure is uninitialized - you must call alloc() before use.
48
- * No FFmpeg resources are allocated until alloc() is called.
49
- *
50
- * Direct wrapper around AVFilterInOut.
51
- *
52
- * @example
53
- * ```typescript
54
- * import { FilterInOut } from 'node-av';
55
- *
56
- * const inout = new FilterInOut();
57
- * inout.alloc();
58
- * // Structure is now ready for use
59
- * ```
60
- */
61
41
  constructor() {
62
42
  this.native = new bindings.FilterInOut();
63
43
  }
64
44
  /**
65
- * Create a linked list of FilterInOut structures.
66
- *
67
- * Helper method to create a chain of inputs or outputs.
68
- * Useful for complex filter graphs with multiple I/O points.
45
+ * Create a linked list of filter inputs/outputs.
69
46
  *
70
- * @param items - Array of {name, filterCtx, padIdx} objects
47
+ * Convenience method to build a linked list structure from an array
48
+ * of filter specifications. Each item becomes a node in the list.
71
49
  *
72
- * @returns The head of the linked list, or null if items is empty
50
+ * @param items - Array of filter input/output specifications
51
+ * @returns Head of the linked list, or null if items is empty
73
52
  *
74
53
  * @example
75
54
  * ```typescript
76
- * import { FilterInOut, FilterGraph, FFmpegError } from 'node-av';
77
- *
78
- * // Create multiple inputs
55
+ * // Create inputs for a filter graph
79
56
  * const inputs = FilterInOut.createList([
80
- * { name: 'video_in', filterCtx: videoBufferCtx, padIdx: 0 },
81
- * { name: 'audio_in', filterCtx: audioBufferCtx, padIdx: 0 }
57
+ * { name: 'video_in', filterCtx: videoBuffer, padIdx: 0 },
58
+ * { name: 'audio_in', filterCtx: audioBuffer, padIdx: 0 }
82
59
  * ]);
83
60
  *
84
- * // Use in filter graph
85
- * const ret = filterGraph.parsePtr(filterString, inputs, outputs);
86
- * FFmpegError.throwIfError(ret, 'parsePtr');
87
- *
88
- * // Free the entire list
89
- * inputs?.free();
61
+ * // Create outputs
62
+ * const outputs = FilterInOut.createList([
63
+ * { name: 'video_out', filterCtx: videoSink, padIdx: 0 },
64
+ * { name: 'audio_out', filterCtx: audioSink, padIdx: 0 }
65
+ * ]);
90
66
  * ```
67
+ *
68
+ * @see {@link alloc} For manual node creation
91
69
  */
92
70
  static createList(items) {
93
71
  if (items.length === 0)
@@ -112,11 +90,12 @@ export class FilterInOut {
112
90
  return head;
113
91
  }
114
92
  /**
115
- * Name of this input/output point.
93
+ * Label name for this filter pad.
116
94
  *
117
- * Direct mapping to AVFilterInOut->name
95
+ * Used to reference this connection point in filter graph strings.
96
+ * For example, "[in]" or "[video_out]".
118
97
  *
119
- * Used to reference this pad in filtergraph strings.
98
+ * Direct mapping to AVFilterInOut->name.
120
99
  */
121
100
  get name() {
122
101
  return this.native.name;
@@ -125,11 +104,11 @@ export class FilterInOut {
125
104
  this.native.name = value;
126
105
  }
127
106
  /**
128
- * Associated filter context.
107
+ * Filter context this pad belongs to.
129
108
  *
130
- * Direct mapping to AVFilterInOut->filter_ctx
109
+ * Reference to the filter instance containing this pad.
131
110
  *
132
- * The filter context this pad connects to.
111
+ * Direct mapping to AVFilterInOut->filter_ctx.
133
112
  */
134
113
  get filterCtx() {
135
114
  const native = this.native.filterCtx;
@@ -139,11 +118,12 @@ export class FilterInOut {
139
118
  this.native.filterCtx = value ? value.getNative() : null;
140
119
  }
141
120
  /**
142
- * Pad index.
121
+ * Pad index within the filter.
143
122
  *
144
- * Direct mapping to AVFilterInOut->pad_idx
123
+ * Index of the input or output pad in the filter context.
124
+ * 0 for the first pad, 1 for the second, etc.
145
125
  *
146
- * The input or output pad index on the filter context.
126
+ * Direct mapping to AVFilterInOut->pad_idx.
147
127
  */
148
128
  get padIdx() {
149
129
  return this.native.padIdx;
@@ -152,11 +132,11 @@ export class FilterInOut {
152
132
  this.native.padIdx = value;
153
133
  }
154
134
  /**
155
- * Next element in the linked list.
135
+ * Next node in the linked list.
156
136
  *
157
- * Direct mapping to AVFilterInOut->next
137
+ * Reference to the next FilterInOut in the chain, or null for the last node.
158
138
  *
159
- * Used to chain multiple inputs or outputs together.
139
+ * Direct mapping to AVFilterInOut->next.
160
140
  */
161
141
  get next() {
162
142
  const native = this.native.next;
@@ -171,25 +151,26 @@ export class FilterInOut {
171
151
  this.native.next = value ? value.getNative() : null;
172
152
  }
173
153
  /**
174
- * Allocate the FilterInOut structure.
154
+ * Allocate a FilterInOut structure.
175
155
  *
176
- * Allocates the structure and initializes it.
177
- * Must be called before setting properties or using the structure.
156
+ * Allocates memory for the structure. Must be called before using
157
+ * a manually created instance.
178
158
  *
179
- * Direct mapping to avfilter_inout_alloc()
159
+ * Direct mapping to avfilter_inout_alloc().
180
160
  *
181
- * @throws {Error} Memory allocation failure (ENOMEM)
161
+ * @throws {Error} If allocation fails (ENOMEM)
182
162
  *
183
163
  * @example
184
164
  * ```typescript
185
- * import { FilterInOut } from 'node-av';
186
- *
187
165
  * const inout = new FilterInOut();
188
166
  * inout.alloc();
189
- * // Structure is now allocated and ready
167
+ * inout.name = 'input';
168
+ * inout.filterCtx = bufferSource;
169
+ * inout.padIdx = 0;
190
170
  * ```
191
171
  *
192
- * @see {@link free} To free the structure
172
+ * @see {@link free} To deallocate
173
+ * @see {@link createList} For automatic allocation
193
174
  */
194
175
  alloc() {
195
176
  this.native.alloc();
@@ -197,31 +178,40 @@ export class FilterInOut {
197
178
  /**
198
179
  * Free the FilterInOut structure.
199
180
  *
200
- * Releases all resources associated with the structure.
201
- * Also frees any linked structures in the chain.
181
+ * Deallocates the structure and breaks the chain if part of a linked list.
182
+ * Only frees this node, not the entire list.
202
183
  *
203
- * Direct mapping to avfilter_inout_free()
184
+ * Direct mapping to avfilter_inout_free().
204
185
  *
205
186
  * @example
206
187
  * ```typescript
207
188
  * inout.free();
208
- * // inout is now invalid and should not be used
189
+ * // Structure is now invalid
209
190
  * ```
191
+ *
192
+ * @see {@link alloc} To allocate
193
+ * @see {@link Symbol.dispose} For automatic cleanup
210
194
  */
211
195
  free() {
212
196
  this.native.free();
213
197
  }
214
198
  /**
215
- * Count elements in the linked list.
199
+ * Count nodes in the linked list.
216
200
  *
217
- * Helper method to count all elements starting from this one.
201
+ * Counts the total number of nodes starting from this node
202
+ * and following the next pointers.
218
203
  *
219
- * @returns Number of elements including this one
204
+ * @returns Number of nodes in the list (including this one)
220
205
  *
221
206
  * @example
222
207
  * ```typescript
223
- * const inputs = FilterInOut.createList([...]);
224
- * console.log(`Total inputs: ${inputs?.count()}`); // e.g., "Total inputs: 3"
208
+ * const list = FilterInOut.createList([
209
+ * { name: 'in1', filterCtx: filter1, padIdx: 0 },
210
+ * { name: 'in2', filterCtx: filter2, padIdx: 0 },
211
+ * { name: 'in3', filterCtx: filter3, padIdx: 0 }
212
+ * ]);
213
+ *
214
+ * console.log(`List has ${list.count()} nodes`); // 3
225
215
  * ```
226
216
  */
227
217
  count() {
@@ -234,10 +224,11 @@ export class FilterInOut {
234
224
  return count;
235
225
  }
236
226
  /**
237
- * Get the native FFmpeg AVFilterInOut pointer.
227
+ * Get the underlying native FilterInOut object.
228
+ *
229
+ * @returns The native FilterInOut binding object
238
230
  *
239
- * @internal For use by other wrapper classes
240
- * @returns The underlying native FilterInOut object
231
+ * @internal
241
232
  */
242
233
  getNative() {
243
234
  return this.native;
@@ -253,7 +244,8 @@ export class FilterInOut {
253
244
  * {
254
245
  * using inout = new FilterInOut();
255
246
  * inout.alloc();
256
- * // ... use structure
247
+ * inout.name = 'test';
248
+ * // Use inout...
257
249
  * } // Automatically freed when leaving scope
258
250
  * ```
259
251
  */
@@ -1 +1 @@
1
- {"version":3,"file":"filter-inout.js","sourceRoot":"","sources":["../../src/lib/filter-inout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-inout.js","sourceRoot":"","sources":["../../src/lib/filter-inout.ts"],"names":[],"mappings":"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"}