node-av 2.0.0 → 2.1.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.
- package/README.md +10 -2
- package/binding.gyp +12 -0
- package/dist/api/bitstream-filter.d.ts +132 -0
- package/dist/api/bitstream-filter.js +198 -0
- package/dist/api/bitstream-filter.js.map +1 -1
- package/dist/api/decoder.d.ts +145 -0
- package/dist/api/decoder.js +225 -0
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/encoder.d.ts +206 -0
- package/dist/api/encoder.js +315 -0
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-presets.d.ts +92 -0
- package/dist/api/filter-presets.js +92 -0
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/filter.d.ts +225 -0
- package/dist/api/filter.js +363 -0
- package/dist/api/filter.js.map +1 -1
- package/dist/api/hardware.d.ts +17 -0
- package/dist/api/hardware.js +17 -0
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/io-stream.d.ts +6 -0
- package/dist/api/io-stream.js +2 -0
- package/dist/api/io-stream.js.map +1 -1
- package/dist/api/media-input.d.ts +207 -1
- package/dist/api/media-input.js +353 -0
- package/dist/api/media-input.js.map +1 -1
- package/dist/api/media-output.d.ts +132 -1
- package/dist/api/media-output.js +339 -0
- package/dist/api/media-output.js.map +1 -1
- package/dist/api/pipeline.d.ts +65 -0
- package/dist/api/pipeline.js +61 -0
- package/dist/api/pipeline.js.map +1 -1
- package/dist/api/types.d.ts +7 -0
- package/dist/api/utils.js +2 -0
- package/dist/api/utils.js.map +1 -1
- package/dist/lib/audio-fifo.d.ts +103 -0
- package/dist/lib/audio-fifo.js +109 -0
- package/dist/lib/audio-fifo.js.map +1 -1
- package/dist/lib/binding.d.ts +1 -0
- package/dist/lib/binding.js.map +1 -1
- package/dist/lib/bitstream-filter-context.d.ts +79 -0
- package/dist/lib/bitstream-filter-context.js +83 -0
- package/dist/lib/bitstream-filter-context.js.map +1 -1
- package/dist/lib/bitstream-filter.d.ts +2 -0
- package/dist/lib/bitstream-filter.js +2 -0
- package/dist/lib/bitstream-filter.js.map +1 -1
- package/dist/lib/codec-context.d.ts +168 -0
- package/dist/lib/codec-context.js +178 -0
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/codec-parameters.d.ts +3 -0
- package/dist/lib/codec-parameters.js +3 -0
- package/dist/lib/codec-parameters.js.map +1 -1
- package/dist/lib/codec-parser.d.ts +6 -0
- package/dist/lib/codec-parser.js +6 -0
- package/dist/lib/codec-parser.js.map +1 -1
- package/dist/lib/codec.d.ts +12 -0
- package/dist/lib/codec.js +12 -0
- package/dist/lib/codec.js.map +1 -1
- package/dist/lib/dictionary.d.ts +16 -0
- package/dist/lib/dictionary.js +16 -0
- package/dist/lib/dictionary.js.map +1 -1
- package/dist/lib/error.d.ts +8 -0
- package/dist/lib/error.js +9 -0
- package/dist/lib/error.js.map +1 -1
- package/dist/lib/filter-context.d.ts +100 -0
- package/dist/lib/filter-context.js +104 -0
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/filter-graph.d.ts +80 -0
- package/dist/lib/filter-graph.js +84 -0
- package/dist/lib/filter-graph.js.map +1 -1
- package/dist/lib/filter-inout.d.ts +1 -0
- package/dist/lib/filter-inout.js +1 -0
- package/dist/lib/filter-inout.js.map +1 -1
- package/dist/lib/filter.d.ts +2 -0
- package/dist/lib/filter.js +2 -0
- package/dist/lib/filter.js.map +1 -1
- package/dist/lib/format-context.d.ts +338 -2
- package/dist/lib/format-context.js +355 -3
- package/dist/lib/format-context.js.map +1 -1
- package/dist/lib/frame.d.ts +41 -0
- package/dist/lib/frame.js +43 -0
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/hardware-device-context.d.ts +8 -0
- package/dist/lib/hardware-device-context.js +8 -0
- package/dist/lib/hardware-device-context.js.map +1 -1
- package/dist/lib/hardware-frames-context.d.ts +55 -0
- package/dist/lib/hardware-frames-context.js +57 -0
- package/dist/lib/hardware-frames-context.js.map +1 -1
- package/dist/lib/input-format.d.ts +43 -3
- package/dist/lib/input-format.js +48 -0
- package/dist/lib/input-format.js.map +1 -1
- package/dist/lib/io-context.d.ts +212 -0
- package/dist/lib/io-context.js +228 -0
- package/dist/lib/io-context.js.map +1 -1
- package/dist/lib/log.d.ts +2 -0
- package/dist/lib/log.js +2 -0
- package/dist/lib/log.js.map +1 -1
- package/dist/lib/native-types.d.ts +39 -1
- package/dist/lib/option.d.ts +90 -0
- package/dist/lib/option.js +97 -0
- package/dist/lib/option.js.map +1 -1
- package/dist/lib/output-format.d.ts +4 -0
- package/dist/lib/output-format.js +4 -0
- package/dist/lib/output-format.js.map +1 -1
- package/dist/lib/packet.d.ts +7 -0
- package/dist/lib/packet.js +7 -0
- package/dist/lib/packet.js.map +1 -1
- package/dist/lib/rational.d.ts +1 -0
- package/dist/lib/rational.js +1 -0
- package/dist/lib/rational.js.map +1 -1
- package/dist/lib/software-resample-context.d.ts +64 -0
- package/dist/lib/software-resample-context.js +66 -0
- package/dist/lib/software-resample-context.js.map +1 -1
- package/dist/lib/software-scale-context.d.ts +98 -0
- package/dist/lib/software-scale-context.js +102 -0
- package/dist/lib/software-scale-context.js.map +1 -1
- package/dist/lib/stream.d.ts +1 -0
- package/dist/lib/stream.js +1 -0
- package/dist/lib/stream.js.map +1 -1
- package/dist/lib/utilities.d.ts +60 -0
- package/dist/lib/utilities.js +60 -0
- package/dist/lib/utilities.js.map +1 -1
- package/package.json +13 -13
package/dist/api/hardware.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/api/hardware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uCAAuC,EACvC,uCAAuC,EACvC,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAKxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,eAAe;IAClB,cAAc,CAAwB;IACtC,WAAW,CAAiB;IAC5B,eAAe,CAAS;IACxB,kBAAkB,CAAgB;IAClC,WAAW,GAAG,KAAK,CAAC;IAE5B
|
|
1
|
+
{"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/api/hardware.ts"],"names":[],"mappings":"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"}
|
package/dist/api/io-stream.d.ts
CHANGED
|
@@ -49,7 +49,9 @@ export declare class IOStream {
|
|
|
49
49
|
* Automatically handles seek operations and position tracking.
|
|
50
50
|
*
|
|
51
51
|
* @param buffer - Buffer containing media data
|
|
52
|
+
*
|
|
52
53
|
* @param options - I/O configuration options
|
|
54
|
+
*
|
|
53
55
|
* @returns Configured I/O context
|
|
54
56
|
*
|
|
55
57
|
* @example
|
|
@@ -68,7 +70,9 @@ export declare class IOStream {
|
|
|
68
70
|
* Useful for streaming from non-file sources like network or custom storage.
|
|
69
71
|
*
|
|
70
72
|
* @param callbacks - I/O callbacks for read and seek operations
|
|
73
|
+
*
|
|
71
74
|
* @param options - I/O configuration options
|
|
75
|
+
*
|
|
72
76
|
* @returns Configured I/O context
|
|
73
77
|
*
|
|
74
78
|
* @throws {Error} If callbacks missing required read function
|
|
@@ -93,6 +97,7 @@ export declare class IOStream {
|
|
|
93
97
|
* Manages position tracking and EOF handling.
|
|
94
98
|
*
|
|
95
99
|
* @param buffer - Source buffer
|
|
100
|
+
*
|
|
96
101
|
* @param bufferSize - Internal buffer size
|
|
97
102
|
*
|
|
98
103
|
* @returns Configured I/O context
|
|
@@ -107,6 +112,7 @@ export declare class IOStream {
|
|
|
107
112
|
* Supports read and optional seek operations.
|
|
108
113
|
*
|
|
109
114
|
* @param callbacks - User I/O callbacks
|
|
115
|
+
*
|
|
110
116
|
* @param bufferSize - Internal buffer size
|
|
111
117
|
*
|
|
112
118
|
* @returns Configured I/O context
|
package/dist/api/io-stream.js
CHANGED
|
@@ -61,6 +61,7 @@ export class IOStream {
|
|
|
61
61
|
* Manages position tracking and EOF handling.
|
|
62
62
|
*
|
|
63
63
|
* @param buffer - Source buffer
|
|
64
|
+
*
|
|
64
65
|
* @param bufferSize - Internal buffer size
|
|
65
66
|
*
|
|
66
67
|
* @returns Configured I/O context
|
|
@@ -104,6 +105,7 @@ export class IOStream {
|
|
|
104
105
|
* Supports read and optional seek operations.
|
|
105
106
|
*
|
|
106
107
|
* @param callbacks - User I/O callbacks
|
|
108
|
+
*
|
|
107
109
|
* @param bufferSize - Internal buffer size
|
|
108
110
|
*
|
|
109
111
|
* @returns Configured I/O context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io-stream.js","sourceRoot":"","sources":["../../src/api/io-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,OAAO,QAAQ;
|
|
1
|
+
{"version":3,"file":"io-stream.js","sourceRoot":"","sources":["../../src/api/io-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,12 +41,13 @@ import type { MediaInputOptions, RawData } from './types.js';
|
|
|
41
41
|
* @see {@link Decoder} For decoding packets to frames
|
|
42
42
|
* @see {@link FormatContext} For low-level API
|
|
43
43
|
*/
|
|
44
|
-
export declare class MediaInput implements AsyncDisposable {
|
|
44
|
+
export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
45
45
|
private formatContext;
|
|
46
46
|
private _streams;
|
|
47
47
|
private ioContext?;
|
|
48
48
|
/**
|
|
49
49
|
* @param formatContext - Opened format context
|
|
50
|
+
*
|
|
50
51
|
* @internal
|
|
51
52
|
*/
|
|
52
53
|
private constructor();
|
|
@@ -59,6 +60,7 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
59
60
|
* Direct mapping to av_probe_input_format().
|
|
60
61
|
*
|
|
61
62
|
* @param input - File path or buffer to probe
|
|
63
|
+
*
|
|
62
64
|
* @returns Format information or null if unrecognized
|
|
63
65
|
*
|
|
64
66
|
* @example
|
|
@@ -87,6 +89,45 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
87
89
|
mimeType?: string;
|
|
88
90
|
confidence: number;
|
|
89
91
|
} | null>;
|
|
92
|
+
/**
|
|
93
|
+
* Probe media format without fully opening the file synchronously.
|
|
94
|
+
* Synchronous version of probeFormat.
|
|
95
|
+
*
|
|
96
|
+
* Detects format by analyzing file headers and content.
|
|
97
|
+
* Useful for format validation before processing.
|
|
98
|
+
*
|
|
99
|
+
* Direct mapping to av_probe_input_format().
|
|
100
|
+
*
|
|
101
|
+
* @param input - File path or buffer to probe
|
|
102
|
+
*
|
|
103
|
+
* @returns Format information or null if unrecognized
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const info = MediaInput.probeFormatSync('video.mp4');
|
|
108
|
+
* if (info) {
|
|
109
|
+
* console.log(`Format: ${info.format}`);
|
|
110
|
+
* console.log(`Confidence: ${info.confidence}%`);
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* // Probe from buffer
|
|
117
|
+
* const buffer = fs.readFileSync('video.webm');
|
|
118
|
+
* const info = MediaInput.probeFormatSync(buffer);
|
|
119
|
+
* console.log(`MIME type: ${info?.mimeType}`);
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* @see {@link probeFormat} For async version
|
|
123
|
+
*/
|
|
124
|
+
static probeFormatSync(input: string | Buffer): {
|
|
125
|
+
format: string;
|
|
126
|
+
longName?: string;
|
|
127
|
+
extensions?: string;
|
|
128
|
+
mimeType?: string;
|
|
129
|
+
confidence: number;
|
|
130
|
+
} | null;
|
|
90
131
|
/**
|
|
91
132
|
* Open media from file, URL, buffer, or raw data.
|
|
92
133
|
*
|
|
@@ -97,7 +138,9 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
97
138
|
* Direct mapping to avformat_open_input() and avformat_find_stream_info().
|
|
98
139
|
*
|
|
99
140
|
* @param input - File path, URL, buffer, or raw data descriptor
|
|
141
|
+
*
|
|
100
142
|
* @param options - Input configuration options
|
|
143
|
+
*
|
|
101
144
|
* @returns Opened media input instance
|
|
102
145
|
*
|
|
103
146
|
* @throws {Error} If format not found or open fails
|
|
@@ -146,6 +189,48 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
146
189
|
*/
|
|
147
190
|
static open(input: string | Buffer, options?: MediaInputOptions): Promise<MediaInput>;
|
|
148
191
|
static open(rawData: RawData, options?: MediaInputOptions): Promise<MediaInput>;
|
|
192
|
+
/**
|
|
193
|
+
* Open media from file, URL, buffer, or raw data synchronously.
|
|
194
|
+
* Synchronous version of open.
|
|
195
|
+
*
|
|
196
|
+
* Automatically detects format and extracts stream information.
|
|
197
|
+
* Supports various input sources with flexible configuration.
|
|
198
|
+
* Creates demuxer ready for packet extraction.
|
|
199
|
+
*
|
|
200
|
+
* Direct mapping to avformat_open_input() and avformat_find_stream_info().
|
|
201
|
+
*
|
|
202
|
+
* @param input - File path, URL, buffer, or raw data descriptor
|
|
203
|
+
*
|
|
204
|
+
* @param options - Input configuration options
|
|
205
|
+
*
|
|
206
|
+
* @returns Opened media input instance
|
|
207
|
+
*
|
|
208
|
+
* @throws {Error} If format not found or open fails
|
|
209
|
+
*
|
|
210
|
+
* @throws {FFmpegError} If FFmpeg operations fail
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* ```typescript
|
|
214
|
+
* // Open file
|
|
215
|
+
* using input = MediaInput.openSync('video.mp4');
|
|
216
|
+
* ```
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* // Open with options
|
|
221
|
+
* using input = MediaInput.openSync('rtsp://camera.local', {
|
|
222
|
+
* format: 'rtsp',
|
|
223
|
+
* options: {
|
|
224
|
+
* rtsp_transport: 'tcp',
|
|
225
|
+
* analyzeduration: '5000000'
|
|
226
|
+
* }
|
|
227
|
+
* });
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* @see {@link open} For async version
|
|
231
|
+
*/
|
|
232
|
+
static openSync(input: string | Buffer, options?: MediaInputOptions): MediaInput;
|
|
233
|
+
static openSync(rawData: RawData, options?: MediaInputOptions): MediaInput;
|
|
149
234
|
/**
|
|
150
235
|
* Get all streams in the media.
|
|
151
236
|
*
|
|
@@ -217,6 +302,7 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
217
302
|
* Returns undefined if stream doesn't exist.
|
|
218
303
|
*
|
|
219
304
|
* @param index - Video stream index (default: 0)
|
|
305
|
+
*
|
|
220
306
|
* @returns Video stream or undefined
|
|
221
307
|
*
|
|
222
308
|
* @example
|
|
@@ -244,6 +330,7 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
244
330
|
* Returns undefined if stream doesn't exist.
|
|
245
331
|
*
|
|
246
332
|
* @param index - Audio stream index (default: 0)
|
|
333
|
+
*
|
|
247
334
|
* @returns Audio stream or undefined
|
|
248
335
|
*
|
|
249
336
|
* @example
|
|
@@ -273,6 +360,7 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
273
360
|
* Direct mapping to av_find_best_stream().
|
|
274
361
|
*
|
|
275
362
|
* @param type - Media type to find
|
|
363
|
+
*
|
|
276
364
|
* @returns Best stream or undefined if not found
|
|
277
365
|
*
|
|
278
366
|
* @example
|
|
@@ -299,7 +387,9 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
299
387
|
* Direct mapping to av_read_frame().
|
|
300
388
|
*
|
|
301
389
|
* @param index - Optional stream index to filter
|
|
390
|
+
*
|
|
302
391
|
* @yields {Packet} Demuxed packets (must be freed by caller)
|
|
392
|
+
*
|
|
303
393
|
* @throws {Error} If packet cloning fails
|
|
304
394
|
*
|
|
305
395
|
* @example
|
|
@@ -324,6 +414,44 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
324
414
|
* @see {@link Decoder.frames} For decoding packets
|
|
325
415
|
*/
|
|
326
416
|
packets(index?: number): AsyncGenerator<Packet>;
|
|
417
|
+
/**
|
|
418
|
+
* Read packets from media as generator synchronously.
|
|
419
|
+
* Synchronous version of packets.
|
|
420
|
+
*
|
|
421
|
+
* Yields demuxed packets for processing.
|
|
422
|
+
* Automatically handles packet memory management.
|
|
423
|
+
* Optionally filters packets by stream index.
|
|
424
|
+
*
|
|
425
|
+
* Direct mapping to av_read_frame().
|
|
426
|
+
*
|
|
427
|
+
* @param index - Optional stream index to filter
|
|
428
|
+
*
|
|
429
|
+
* @yields {Packet} Demuxed packets (must be freed by caller)
|
|
430
|
+
*
|
|
431
|
+
* @throws {Error} If packet cloning fails
|
|
432
|
+
*
|
|
433
|
+
* @example
|
|
434
|
+
* ```typescript
|
|
435
|
+
* // Read all packets
|
|
436
|
+
* for (const packet of input.packetsSync()) {
|
|
437
|
+
* console.log(`Packet: stream=${packet.streamIndex}, pts=${packet.pts}`);
|
|
438
|
+
* packet.free();
|
|
439
|
+
* }
|
|
440
|
+
* ```
|
|
441
|
+
*
|
|
442
|
+
* @example
|
|
443
|
+
* ```typescript
|
|
444
|
+
* // Read only video packets
|
|
445
|
+
* const videoStream = input.video();
|
|
446
|
+
* for (const packet of input.packetsSync(videoStream.index)) {
|
|
447
|
+
* // Process video packet
|
|
448
|
+
* packet.free();
|
|
449
|
+
* }
|
|
450
|
+
* ```
|
|
451
|
+
*
|
|
452
|
+
* @see {@link packets} For async version
|
|
453
|
+
*/
|
|
454
|
+
packetsSync(index?: number): Generator<Packet>;
|
|
327
455
|
/**
|
|
328
456
|
* Seek to timestamp in media.
|
|
329
457
|
*
|
|
@@ -333,8 +461,11 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
333
461
|
* Direct mapping to av_seek_frame().
|
|
334
462
|
*
|
|
335
463
|
* @param timestamp - Target position in seconds
|
|
464
|
+
*
|
|
336
465
|
* @param streamIndex - Stream index or -1 for global (default: -1)
|
|
466
|
+
*
|
|
337
467
|
* @param flags - Seek flags (default: AVFLAG_NONE)
|
|
468
|
+
*
|
|
338
469
|
* @returns 0 on success, negative on error
|
|
339
470
|
*
|
|
340
471
|
* @example
|
|
@@ -355,6 +486,41 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
355
486
|
* @see {@link AVSeekFlag} For seek flags
|
|
356
487
|
*/
|
|
357
488
|
seek(timestamp: number, streamIndex?: number, flags?: AVSeekFlag): Promise<number>;
|
|
489
|
+
/**
|
|
490
|
+
* Seek to timestamp in media synchronously.
|
|
491
|
+
* Synchronous version of seek.
|
|
492
|
+
*
|
|
493
|
+
* Seeks to the specified position in seconds.
|
|
494
|
+
* Can seek in specific stream or globally.
|
|
495
|
+
*
|
|
496
|
+
* Direct mapping to av_seek_frame().
|
|
497
|
+
*
|
|
498
|
+
* @param timestamp - Target position in seconds
|
|
499
|
+
*
|
|
500
|
+
* @param streamIndex - Stream index or -1 for global (default: -1)
|
|
501
|
+
*
|
|
502
|
+
* @param flags - Seek flags (default: AVFLAG_NONE)
|
|
503
|
+
*
|
|
504
|
+
* @returns 0 on success, negative on error
|
|
505
|
+
*
|
|
506
|
+
* @example
|
|
507
|
+
* ```typescript
|
|
508
|
+
* // Seek to 30 seconds
|
|
509
|
+
* const ret = input.seekSync(30);
|
|
510
|
+
* FFmpegError.throwIfError(ret, 'seek failed');
|
|
511
|
+
* ```
|
|
512
|
+
*
|
|
513
|
+
* @example
|
|
514
|
+
* ```typescript
|
|
515
|
+
* import { AVSEEK_FLAG_BACKWARD } from 'node-av/constants';
|
|
516
|
+
*
|
|
517
|
+
* // Seek to keyframe before 60 seconds
|
|
518
|
+
* input.seekSync(60, -1, AVSEEK_FLAG_BACKWARD);
|
|
519
|
+
* ```
|
|
520
|
+
*
|
|
521
|
+
* @see {@link seek} For async version
|
|
522
|
+
*/
|
|
523
|
+
seekSync(timestamp: number, streamIndex?: number, flags?: AVSeekFlag): number;
|
|
358
524
|
/**
|
|
359
525
|
* Close media input and free resources.
|
|
360
526
|
*
|
|
@@ -377,6 +543,29 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
377
543
|
* @see {@link Symbol.asyncDispose} For automatic cleanup
|
|
378
544
|
*/
|
|
379
545
|
close(): Promise<void>;
|
|
546
|
+
/**
|
|
547
|
+
* Close media input and free resources synchronously.
|
|
548
|
+
* Synchronous version of close.
|
|
549
|
+
*
|
|
550
|
+
* Releases format context and I/O context.
|
|
551
|
+
* Safe to call multiple times.
|
|
552
|
+
* Automatically called by Symbol.dispose.
|
|
553
|
+
*
|
|
554
|
+
* Direct mapping to avformat_close_input().
|
|
555
|
+
*
|
|
556
|
+
* @example
|
|
557
|
+
* ```typescript
|
|
558
|
+
* const input = MediaInput.openSync('video.mp4');
|
|
559
|
+
* try {
|
|
560
|
+
* // Use input
|
|
561
|
+
* } finally {
|
|
562
|
+
* input.closeSync();
|
|
563
|
+
* }
|
|
564
|
+
* ```
|
|
565
|
+
*
|
|
566
|
+
* @see {@link close} For async version
|
|
567
|
+
*/
|
|
568
|
+
closeSync(): void;
|
|
380
569
|
/**
|
|
381
570
|
* Get underlying format context.
|
|
382
571
|
*
|
|
@@ -404,4 +593,21 @@ export declare class MediaInput implements AsyncDisposable {
|
|
|
404
593
|
* @see {@link close} For manual cleanup
|
|
405
594
|
*/
|
|
406
595
|
[Symbol.asyncDispose](): Promise<void>;
|
|
596
|
+
/**
|
|
597
|
+
* Dispose of media input synchronously.
|
|
598
|
+
*
|
|
599
|
+
* Implements Disposable interface for automatic cleanup.
|
|
600
|
+
* Equivalent to calling closeSync().
|
|
601
|
+
*
|
|
602
|
+
* @example
|
|
603
|
+
* ```typescript
|
|
604
|
+
* {
|
|
605
|
+
* using input = MediaInput.openSync('video.mp4');
|
|
606
|
+
* // Process media...
|
|
607
|
+
* } // Automatically closed
|
|
608
|
+
* ```
|
|
609
|
+
*
|
|
610
|
+
* @see {@link closeSync} For manual cleanup
|
|
611
|
+
*/
|
|
612
|
+
[Symbol.dispose](): void;
|
|
407
613
|
}
|