node-av 1.1.0 → 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.
- package/README.md +51 -38
- package/dist/api/bitstream-filter.d.ts +180 -123
- package/dist/api/bitstream-filter.js +180 -125
- package/dist/api/bitstream-filter.js.map +1 -1
- package/dist/api/decoder.d.ts +279 -132
- package/dist/api/decoder.js +285 -142
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/encoder.d.ts +246 -162
- package/dist/api/encoder.js +272 -208
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-presets.d.ts +690 -94
- package/dist/api/filter-presets.js +686 -102
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/filter.d.ts +249 -213
- package/dist/api/filter.js +252 -242
- package/dist/api/filter.js.map +1 -1
- package/dist/api/hardware.d.ts +224 -117
- package/dist/api/hardware.js +380 -214
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/index.d.ts +3 -3
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/io-stream.d.ts +65 -61
- package/dist/api/io-stream.js +43 -46
- package/dist/api/io-stream.js.map +1 -1
- package/dist/api/media-input.d.ts +242 -140
- package/dist/api/media-input.js +205 -103
- package/dist/api/media-input.js.map +1 -1
- package/dist/api/media-output.d.ts +206 -128
- package/dist/api/media-output.js +210 -128
- package/dist/api/media-output.js.map +1 -1
- package/dist/api/pipeline.d.ts +168 -38
- package/dist/api/pipeline.js +238 -14
- package/dist/api/pipeline.js.map +1 -1
- package/dist/api/types.d.ts +21 -187
- package/dist/api/utils.d.ts +1 -2
- package/dist/api/utils.js +9 -0
- package/dist/api/utils.js.map +1 -1
- package/dist/lib/audio-fifo.d.ts +127 -170
- package/dist/lib/audio-fifo.js +130 -173
- package/dist/lib/audio-fifo.js.map +1 -1
- package/dist/lib/binding.js +5 -0
- package/dist/lib/binding.js.map +1 -1
- package/dist/lib/bitstream-filter-context.d.ts +139 -184
- package/dist/lib/bitstream-filter-context.js +139 -188
- package/dist/lib/bitstream-filter-context.js.map +1 -1
- package/dist/lib/bitstream-filter.d.ts +68 -54
- package/dist/lib/bitstream-filter.js +68 -54
- package/dist/lib/bitstream-filter.js.map +1 -1
- package/dist/lib/codec-context.d.ts +316 -380
- package/dist/lib/codec-context.js +316 -381
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/codec-parameters.d.ts +160 -170
- package/dist/lib/codec-parameters.js +162 -172
- package/dist/lib/codec-parameters.js.map +1 -1
- package/dist/lib/codec-parser.d.ts +91 -104
- package/dist/lib/codec-parser.js +92 -103
- package/dist/lib/codec-parser.js.map +1 -1
- package/dist/lib/codec.d.ts +264 -281
- package/dist/lib/codec.js +268 -285
- package/dist/lib/codec.js.map +1 -1
- package/dist/lib/dictionary.d.ts +149 -203
- package/dist/lib/dictionary.js +158 -212
- package/dist/lib/dictionary.js.map +1 -1
- package/dist/lib/error.d.ts +96 -130
- package/dist/lib/error.js +98 -128
- package/dist/lib/error.js.map +1 -1
- package/dist/lib/filter-context.d.ts +284 -218
- package/dist/lib/filter-context.js +290 -227
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/filter-graph.d.ts +251 -292
- package/dist/lib/filter-graph.js +253 -294
- package/dist/lib/filter-graph.js.map +1 -1
- package/dist/lib/filter-inout.d.ts +87 -95
- package/dist/lib/filter-inout.js +87 -95
- package/dist/lib/filter-inout.js.map +1 -1
- package/dist/lib/filter.d.ts +93 -111
- package/dist/lib/filter.js +93 -111
- package/dist/lib/filter.js.map +1 -1
- package/dist/lib/format-context.d.ts +320 -428
- package/dist/lib/format-context.js +313 -385
- package/dist/lib/format-context.js.map +1 -1
- package/dist/lib/frame.d.ts +262 -405
- package/dist/lib/frame.js +263 -408
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/hardware-device-context.d.ts +149 -203
- package/dist/lib/hardware-device-context.js +149 -203
- package/dist/lib/hardware-device-context.js.map +1 -1
- package/dist/lib/hardware-frames-context.d.ts +170 -180
- package/dist/lib/hardware-frames-context.js +171 -181
- package/dist/lib/hardware-frames-context.js.map +1 -1
- package/dist/lib/index.d.ts +2 -1
- package/dist/lib/index.js +2 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/input-format.d.ts +89 -117
- package/dist/lib/input-format.js +89 -117
- package/dist/lib/input-format.js.map +1 -1
- package/dist/lib/io-context.d.ts +209 -241
- package/dist/lib/io-context.js +220 -252
- package/dist/lib/io-context.js.map +1 -1
- package/dist/lib/log.d.ts +85 -119
- package/dist/lib/log.js +85 -122
- package/dist/lib/log.js.map +1 -1
- package/dist/lib/native-types.d.ts +117 -106
- package/dist/lib/native-types.js +0 -7
- package/dist/lib/native-types.js.map +1 -1
- package/dist/lib/option.d.ts +284 -241
- package/dist/lib/option.js +309 -249
- package/dist/lib/option.js.map +1 -1
- package/dist/lib/output-format.d.ts +77 -101
- package/dist/lib/output-format.js +77 -101
- package/dist/lib/output-format.js.map +1 -1
- package/dist/lib/packet.d.ts +172 -240
- package/dist/lib/packet.js +172 -241
- package/dist/lib/packet.js.map +1 -1
- package/dist/lib/rational.d.ts +0 -2
- package/dist/lib/rational.js +0 -2
- package/dist/lib/rational.js.map +1 -1
- package/dist/lib/software-resample-context.d.ts +241 -325
- package/dist/lib/software-resample-context.js +242 -326
- package/dist/lib/software-resample-context.js.map +1 -1
- package/dist/lib/software-scale-context.d.ts +129 -173
- package/dist/lib/software-scale-context.js +131 -175
- package/dist/lib/software-scale-context.js.map +1 -1
- package/dist/lib/stream.d.ts +87 -197
- package/dist/lib/stream.js +87 -197
- package/dist/lib/stream.js.map +1 -1
- package/dist/lib/utilities.d.ts +372 -181
- package/dist/lib/utilities.js +373 -182
- package/dist/lib/utilities.js.map +1 -1
- package/install/check.js +0 -1
- package/package.json +21 -12
- package/release_notes.md +43 -59
- package/CHANGELOG.md +0 -8
|
@@ -5,14 +5,7 @@
|
|
|
5
5
|
* This file contains all TypeScript interfaces for the native C++ FFmpeg bindings.
|
|
6
6
|
* These interfaces represent the exact API surface exposed by the C++ layer.
|
|
7
7
|
*
|
|
8
|
-
* IMPORTANT:
|
|
9
|
-
* - These are internal interfaces - users should use the wrapper classes in lib/
|
|
10
|
-
* - All interfaces map 1:1 to C++ binding implementations
|
|
11
|
-
* - Properties marked as readonly only have getters in C++
|
|
12
|
-
* - Resource-owning classes provide both free() and Symbol.dispose for cleanup
|
|
13
|
-
*
|
|
14
8
|
* @internal
|
|
15
|
-
* @packageDocumentation
|
|
16
9
|
*/
|
|
17
10
|
import type { AVDictFlag, AVFilterCmdFlag, AVFilterConstants, AVFilterFlag, AVFrameSideDataType, AVHWDeviceType, AVHWFrameTransferDirection, AVIOFlag, AVOptionFlag, AVOptionType, AVPacketSideDataType, AVPixelFormat, AVSeekFlag, AVSeekWhence, SWSFlag } from '../constants/constants.js';
|
|
18
11
|
import type { AVChromaLocation, AVCodecCap, AVCodecFlag, AVCodecFlag2, AVCodecID, AVColorPrimaries, AVColorRange, AVColorSpace, AVColorTransferCharacteristic, AVDiscard, AVDisposition, AVFormatFlag, AVMediaType, AVPacketFlag, AVPictureType, AVProfile, AVSampleFormat, AVStreamEventFlag } from '../constants/index.js';
|
|
@@ -27,23 +20,23 @@ import type { ChannelLayout, CodecProfile, FilterPad, IRational } from './types.
|
|
|
27
20
|
*/
|
|
28
21
|
export interface NativePacket extends Disposable {
|
|
29
22
|
readonly __brand: 'NativePacket';
|
|
30
|
-
|
|
31
|
-
free(): void;
|
|
32
|
-
ref(src: NativePacket): number;
|
|
33
|
-
unref(): void;
|
|
34
|
-
clone(): NativePacket | null;
|
|
35
|
-
rescaleTs(srcTb: IRational, dstTb: IRational): void;
|
|
36
|
-
makeRefcounted(): number;
|
|
37
|
-
makeWritable(): number;
|
|
23
|
+
readonly size: number;
|
|
38
24
|
streamIndex: number;
|
|
39
25
|
pts: bigint;
|
|
40
26
|
dts: bigint;
|
|
41
27
|
duration: bigint;
|
|
42
28
|
pos: bigint;
|
|
43
|
-
readonly size: number;
|
|
44
29
|
flags: AVPacketFlag;
|
|
45
30
|
data: Buffer | null;
|
|
46
31
|
isKeyframe: boolean;
|
|
32
|
+
alloc(): void;
|
|
33
|
+
free(): void;
|
|
34
|
+
ref(src: NativePacket): number;
|
|
35
|
+
unref(): void;
|
|
36
|
+
clone(): NativePacket | null;
|
|
37
|
+
rescaleTs(srcTb: IRational, dstTb: IRational): void;
|
|
38
|
+
makeRefcounted(): number;
|
|
39
|
+
makeWritable(): number;
|
|
47
40
|
getSideData(type: AVPacketSideDataType): Buffer | null;
|
|
48
41
|
addSideData(type: AVPacketSideDataType, data: Buffer): number;
|
|
49
42
|
newSideData(type: AVPacketSideDataType, size: number): Buffer;
|
|
@@ -60,17 +53,11 @@ export interface NativePacket extends Disposable {
|
|
|
60
53
|
*/
|
|
61
54
|
export interface NativeFrame extends Disposable {
|
|
62
55
|
readonly __brand: 'NativeFrame';
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
getBuffer(align?: number): number;
|
|
69
|
-
allocBuffer(): number;
|
|
70
|
-
makeWritable(): number;
|
|
71
|
-
copyProps(src: NativeFrame): number;
|
|
72
|
-
copy(src: NativeFrame): number;
|
|
73
|
-
fromBuffer(buffer: Buffer): number;
|
|
56
|
+
readonly channels: number;
|
|
57
|
+
readonly linesize: number[];
|
|
58
|
+
readonly data: Buffer[] | null;
|
|
59
|
+
readonly extendedData: Buffer[] | null;
|
|
60
|
+
readonly isWritable: boolean;
|
|
74
61
|
format: AVPixelFormat | AVSampleFormat;
|
|
75
62
|
width: number;
|
|
76
63
|
height: number;
|
|
@@ -84,20 +71,26 @@ export interface NativeFrame extends Disposable {
|
|
|
84
71
|
sampleAspectRatio: IRational;
|
|
85
72
|
sampleRate: number;
|
|
86
73
|
channelLayout: ChannelLayout;
|
|
87
|
-
readonly channels: number;
|
|
88
|
-
readonly linesize: number[];
|
|
89
74
|
colorRange: AVColorRange;
|
|
90
75
|
colorPrimaries: AVColorPrimaries;
|
|
91
76
|
colorTrc: AVColorTransferCharacteristic;
|
|
92
77
|
colorSpace: AVColorSpace;
|
|
93
78
|
chromaLocation: AVChromaLocation;
|
|
94
|
-
readonly data: Buffer[] | null;
|
|
95
|
-
readonly extendedData: Buffer[] | null;
|
|
96
79
|
hwFramesCtx: NativeHardwareFramesContext | null;
|
|
80
|
+
alloc(): void;
|
|
81
|
+
free(): void;
|
|
82
|
+
ref(src: NativeFrame): number;
|
|
83
|
+
unref(): void;
|
|
84
|
+
clone(): NativeFrame | null;
|
|
85
|
+
getBuffer(align?: number): number;
|
|
86
|
+
allocBuffer(): number;
|
|
87
|
+
makeWritable(): number;
|
|
88
|
+
copyProps(src: NativeFrame): number;
|
|
89
|
+
copy(src: NativeFrame): number;
|
|
90
|
+
fromBuffer(buffer: Buffer): number;
|
|
97
91
|
hwframeTransferData(dst: NativeFrame, flags?: number): Promise<number>;
|
|
98
92
|
isHwFrame(): boolean;
|
|
99
93
|
isSwFrame(): boolean;
|
|
100
|
-
readonly isWritable: boolean;
|
|
101
94
|
getSideData(type: AVFrameSideDataType): Buffer | null;
|
|
102
95
|
newSideData(type: AVFrameSideDataType, size: number): Buffer;
|
|
103
96
|
removeSideData(type: AVFrameSideDataType): void;
|
|
@@ -145,23 +138,15 @@ export interface NativeCodec {
|
|
|
145
138
|
*/
|
|
146
139
|
export interface NativeCodecContext extends Disposable {
|
|
147
140
|
readonly __brand: 'NativeCodecContext';
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
parametersToContext(params: NativeCodecParameters): number;
|
|
153
|
-
parametersFromContext(params: NativeCodecParameters): number;
|
|
154
|
-
flushBuffers(): void;
|
|
155
|
-
sendPacket(packet: NativePacket | null): Promise<number>;
|
|
156
|
-
receiveFrame(frame: NativeFrame): Promise<number>;
|
|
157
|
-
sendFrame(frame: NativeFrame | null): Promise<number>;
|
|
158
|
-
receivePacket(packet: NativePacket): Promise<number>;
|
|
141
|
+
readonly delay: number;
|
|
142
|
+
readonly hasBFrames: number;
|
|
143
|
+
readonly frameNumber: number;
|
|
144
|
+
readonly isOpen: boolean;
|
|
159
145
|
codecType: AVMediaType;
|
|
160
146
|
codecId: AVCodecID;
|
|
161
147
|
bitRate: bigint;
|
|
162
148
|
timeBase: IRational;
|
|
163
149
|
pktTimebase: IRational;
|
|
164
|
-
readonly delay: number;
|
|
165
150
|
flags: AVCodecFlag;
|
|
166
151
|
flags2: AVCodecFlag2;
|
|
167
152
|
extraData: Buffer | null;
|
|
@@ -174,7 +159,6 @@ export interface NativeCodecContext extends Disposable {
|
|
|
174
159
|
pixelFormat: AVPixelFormat;
|
|
175
160
|
maxBFrames: number;
|
|
176
161
|
mbDecision: number;
|
|
177
|
-
readonly hasBFrames: number;
|
|
178
162
|
sampleAspectRatio: IRational;
|
|
179
163
|
framerate: IRational;
|
|
180
164
|
colorRange: AVColorRange;
|
|
@@ -186,7 +170,6 @@ export interface NativeCodecContext extends Disposable {
|
|
|
186
170
|
channels: number;
|
|
187
171
|
sampleFormat: AVSampleFormat;
|
|
188
172
|
frameSize: number;
|
|
189
|
-
readonly frameNumber: number;
|
|
190
173
|
channelLayout: ChannelLayout;
|
|
191
174
|
qMin: number;
|
|
192
175
|
qMax: number;
|
|
@@ -195,8 +178,19 @@ export interface NativeCodecContext extends Disposable {
|
|
|
195
178
|
rcMinRate: bigint;
|
|
196
179
|
hwDeviceCtx: NativeHardwareDeviceContext | null;
|
|
197
180
|
hwFramesCtx: NativeHardwareFramesContext | null;
|
|
181
|
+
allocContext3(codec?: NativeCodec | null): void;
|
|
182
|
+
freeContext(): void;
|
|
183
|
+
open2(codec?: NativeCodec | null, options?: NativeDictionary | null): Promise<number>;
|
|
184
|
+
open2Sync(codec?: NativeCodec | null, options?: NativeDictionary | null): number;
|
|
185
|
+
close(): number;
|
|
186
|
+
parametersToContext(params: NativeCodecParameters): number;
|
|
187
|
+
parametersFromContext(params: NativeCodecParameters): number;
|
|
188
|
+
flushBuffers(): void;
|
|
189
|
+
sendPacket(packet: NativePacket | null): Promise<number>;
|
|
190
|
+
receiveFrame(frame: NativeFrame): Promise<number>;
|
|
191
|
+
sendFrame(frame: NativeFrame | null): Promise<number>;
|
|
192
|
+
receivePacket(packet: NativePacket): Promise<number>;
|
|
198
193
|
setHardwarePixelFormat(hwFormat: AVPixelFormat, swFormat?: AVPixelFormat): void;
|
|
199
|
-
readonly isOpen: boolean;
|
|
200
194
|
[Symbol.dispose](): void;
|
|
201
195
|
}
|
|
202
196
|
/**
|
|
@@ -223,17 +217,11 @@ export interface NativeCodecParser {
|
|
|
223
217
|
*/
|
|
224
218
|
export interface NativeCodecParameters extends Disposable {
|
|
225
219
|
readonly __brand: 'NativeCodecParameters';
|
|
226
|
-
|
|
227
|
-
free(): void;
|
|
228
|
-
copy(dst: NativeCodecParameters): number;
|
|
229
|
-
fromContext(codecContext: NativeCodecContext): number;
|
|
230
|
-
toContext(codecContext: NativeCodecContext): number;
|
|
231
|
-
toJSON(): Record<string, any>;
|
|
220
|
+
readonly extradataSize: number;
|
|
232
221
|
codecType: AVMediaType;
|
|
233
222
|
codecId: AVCodecID;
|
|
234
223
|
codecTag: number;
|
|
235
224
|
extradata: Buffer | null;
|
|
236
|
-
readonly extradataSize: number;
|
|
237
225
|
format: AVPixelFormat | AVSampleFormat;
|
|
238
226
|
bitRate: bigint;
|
|
239
227
|
profile: AVProfile;
|
|
@@ -250,6 +238,12 @@ export interface NativeCodecParameters extends Disposable {
|
|
|
250
238
|
channelLayout: ChannelLayout;
|
|
251
239
|
channels: number;
|
|
252
240
|
sampleRate: number;
|
|
241
|
+
alloc(): void;
|
|
242
|
+
free(): void;
|
|
243
|
+
copy(dst: NativeCodecParameters): number;
|
|
244
|
+
fromContext(codecContext: NativeCodecContext): number;
|
|
245
|
+
toContext(codecContext: NativeCodecContext): number;
|
|
246
|
+
toJSON(): Record<string, any>;
|
|
253
247
|
[Symbol.dispose](): void;
|
|
254
248
|
}
|
|
255
249
|
/**
|
|
@@ -299,11 +293,11 @@ export interface NativeIOContext extends AsyncDisposable {
|
|
|
299
293
|
readonly eof: boolean;
|
|
300
294
|
readonly error: number;
|
|
301
295
|
readonly seekable: number;
|
|
302
|
-
maxPacketSize: number;
|
|
303
|
-
direct: number;
|
|
304
296
|
readonly pos: bigint;
|
|
305
297
|
readonly bufferSize: number;
|
|
306
298
|
readonly writeFlag: boolean;
|
|
299
|
+
maxPacketSize: number;
|
|
300
|
+
direct: number;
|
|
307
301
|
[Symbol.asyncDispose](): Promise<void>;
|
|
308
302
|
}
|
|
309
303
|
/**
|
|
@@ -353,6 +347,7 @@ export interface NativeOutputFormat {
|
|
|
353
347
|
export interface NativeStream {
|
|
354
348
|
readonly __brand: 'NativeStream';
|
|
355
349
|
readonly index: number;
|
|
350
|
+
readonly attachedPic: NativePacket | null;
|
|
356
351
|
id: number;
|
|
357
352
|
codecpar: NativeCodecParameters;
|
|
358
353
|
timeBase: IRational;
|
|
@@ -365,7 +360,6 @@ export interface NativeStream {
|
|
|
365
360
|
avgFrameRate: IRational;
|
|
366
361
|
rFrameRate: IRational;
|
|
367
362
|
metadata: NativeDictionary | null;
|
|
368
|
-
readonly attachedPic: NativePacket | null;
|
|
369
363
|
eventFlags: AVStreamEventFlag;
|
|
370
364
|
}
|
|
371
365
|
/**
|
|
@@ -378,6 +372,24 @@ export interface NativeStream {
|
|
|
378
372
|
*/
|
|
379
373
|
export interface NativeFormatContext extends AsyncDisposable {
|
|
380
374
|
readonly __brand: 'NativeFormatContext';
|
|
375
|
+
readonly startTime: bigint;
|
|
376
|
+
readonly duration: bigint;
|
|
377
|
+
readonly bitRate: bigint;
|
|
378
|
+
readonly iformat: NativeInputFormat | null;
|
|
379
|
+
readonly nbStreams: number;
|
|
380
|
+
readonly streams: NativeStream[] | null;
|
|
381
|
+
readonly nbPrograms: number;
|
|
382
|
+
readonly pbBytes: bigint;
|
|
383
|
+
readonly probeScore: number;
|
|
384
|
+
url: string | null;
|
|
385
|
+
flags: AVFormatFlag;
|
|
386
|
+
probesize: bigint;
|
|
387
|
+
maxAnalyzeDuration: bigint;
|
|
388
|
+
metadata: NativeDictionary | null;
|
|
389
|
+
oformat: NativeOutputFormat | null;
|
|
390
|
+
pb: NativeIOContext | null;
|
|
391
|
+
strictStdCompliance: number;
|
|
392
|
+
maxStreams: number;
|
|
381
393
|
allocContext(): void;
|
|
382
394
|
allocOutputContext2(oformat: NativeOutputFormat | null, formatName: string | null, filename: string | null): number;
|
|
383
395
|
freeContext(): void;
|
|
@@ -400,24 +412,6 @@ export interface NativeFormatContext extends AsyncDisposable {
|
|
|
400
412
|
streamIndex: number;
|
|
401
413
|
decoder: NativeCodec | null;
|
|
402
414
|
};
|
|
403
|
-
url: string | null;
|
|
404
|
-
readonly startTime: bigint;
|
|
405
|
-
readonly duration: bigint;
|
|
406
|
-
readonly bitRate: bigint;
|
|
407
|
-
flags: AVFormatFlag;
|
|
408
|
-
probesize: bigint;
|
|
409
|
-
maxAnalyzeDuration: bigint;
|
|
410
|
-
metadata: NativeDictionary | null;
|
|
411
|
-
readonly iformat: NativeInputFormat | null;
|
|
412
|
-
oformat: NativeOutputFormat | null;
|
|
413
|
-
pb: NativeIOContext | null;
|
|
414
|
-
readonly nbStreams: number;
|
|
415
|
-
readonly streams: NativeStream[] | null;
|
|
416
|
-
strictStdCompliance: number;
|
|
417
|
-
maxStreams: number;
|
|
418
|
-
readonly nbPrograms: number;
|
|
419
|
-
readonly pbBytes: bigint;
|
|
420
|
-
readonly probeScore: number;
|
|
421
415
|
[Symbol.dispose](): void;
|
|
422
416
|
}
|
|
423
417
|
/**
|
|
@@ -425,8 +419,11 @@ export interface NativeFormatContext extends AsyncDisposable {
|
|
|
425
419
|
*
|
|
426
420
|
* Provides error code translation and string representation.
|
|
427
421
|
* Maps FFmpeg error codes to human-readable messages.
|
|
422
|
+
*
|
|
423
|
+
* @internal
|
|
428
424
|
*/
|
|
429
425
|
export interface NativeFFmpegError {
|
|
426
|
+
readonly __brand: 'NativeFFmpegError';
|
|
430
427
|
readonly code: number;
|
|
431
428
|
readonly message: string;
|
|
432
429
|
}
|
|
@@ -440,6 +437,8 @@ export interface NativeFFmpegError {
|
|
|
440
437
|
*/
|
|
441
438
|
export interface NativeAudioFifo extends Disposable {
|
|
442
439
|
readonly __brand: 'NativeAudioFifo';
|
|
440
|
+
readonly size: number;
|
|
441
|
+
readonly space: number;
|
|
443
442
|
alloc(sampleFmt: AVSampleFormat, channels: number, nbSamples: number): void;
|
|
444
443
|
free(): void;
|
|
445
444
|
write(data: Buffer | Buffer[], nbSamples: number): Promise<number>;
|
|
@@ -448,8 +447,6 @@ export interface NativeAudioFifo extends Disposable {
|
|
|
448
447
|
drain(nbSamples: number): void;
|
|
449
448
|
reset(): void;
|
|
450
449
|
realloc(nbSamples: number): number;
|
|
451
|
-
readonly size: number;
|
|
452
|
-
readonly space: number;
|
|
453
450
|
}
|
|
454
451
|
/**
|
|
455
452
|
* Native SwsContext binding interface
|
|
@@ -524,6 +521,13 @@ export interface NativeFilter {
|
|
|
524
521
|
*/
|
|
525
522
|
export interface NativeFilterContext extends Disposable {
|
|
526
523
|
readonly __brand: 'NativeFilterContext';
|
|
524
|
+
readonly filter: NativeFilter | null;
|
|
525
|
+
readonly graph: NativeFilterGraph | null;
|
|
526
|
+
readonly nbInputs: number;
|
|
527
|
+
readonly nbOutputs: number;
|
|
528
|
+
readonly ready: number;
|
|
529
|
+
name: string | null;
|
|
530
|
+
hwDeviceCtx: NativeHardwareDeviceContext | null;
|
|
527
531
|
init(options?: NativeDictionary | null): number;
|
|
528
532
|
initStr(args?: string | null): number;
|
|
529
533
|
link(srcPad: number, dst: NativeFilterContext, dstPad: number): number;
|
|
@@ -550,13 +554,6 @@ export interface NativeFilterContext extends Disposable {
|
|
|
550
554
|
buffersinkGetChannelLayout(): ChannelLayout;
|
|
551
555
|
buffersinkGetSampleAspectRatio(): IRational;
|
|
552
556
|
free(): void;
|
|
553
|
-
name: string | null;
|
|
554
|
-
readonly filter: NativeFilter | null;
|
|
555
|
-
readonly graph: NativeFilterGraph | null;
|
|
556
|
-
readonly nbInputs: number;
|
|
557
|
-
readonly nbOutputs: number;
|
|
558
|
-
readonly ready: number;
|
|
559
|
-
hwDeviceCtx: NativeHardwareDeviceContext | null;
|
|
560
557
|
[Symbol.dispose](): void;
|
|
561
558
|
}
|
|
562
559
|
/**
|
|
@@ -569,6 +566,11 @@ export interface NativeFilterContext extends Disposable {
|
|
|
569
566
|
*/
|
|
570
567
|
export interface NativeFilterGraph extends Disposable {
|
|
571
568
|
readonly __brand: 'NativeFilterGraph';
|
|
569
|
+
readonly nbFilters: number;
|
|
570
|
+
readonly filters: NativeFilterContext[] | null;
|
|
571
|
+
threadType: AVFilterConstants;
|
|
572
|
+
nbThreads: number;
|
|
573
|
+
scaleSwsOpts: string | null;
|
|
572
574
|
alloc(): void;
|
|
573
575
|
free(): void;
|
|
574
576
|
createFilter(filter: NativeFilter, name: string, args?: string | null): NativeFilterContext | null;
|
|
@@ -585,11 +587,6 @@ export interface NativeFilterGraph extends Disposable {
|
|
|
585
587
|
response: string | null;
|
|
586
588
|
};
|
|
587
589
|
queueCommand(target: string, cmd: string, arg: string, ts: number, flags?: AVFilterCmdFlag): number;
|
|
588
|
-
readonly nbFilters: number;
|
|
589
|
-
readonly filters: NativeFilterContext[] | null;
|
|
590
|
-
threadType: AVFilterConstants;
|
|
591
|
-
nbThreads: number;
|
|
592
|
-
scaleSwsOpts: string | null;
|
|
593
590
|
[Symbol.dispose](): void;
|
|
594
591
|
}
|
|
595
592
|
/**
|
|
@@ -602,12 +599,12 @@ export interface NativeFilterGraph extends Disposable {
|
|
|
602
599
|
*/
|
|
603
600
|
export interface NativeFilterInOut extends Disposable {
|
|
604
601
|
readonly __brand: 'NativeFilterInOut';
|
|
605
|
-
alloc(): void;
|
|
606
|
-
free(): void;
|
|
607
602
|
name: string | null;
|
|
608
603
|
filterCtx: NativeFilterContext | null;
|
|
609
604
|
padIdx: number;
|
|
610
605
|
next: NativeFilterInOut | null;
|
|
606
|
+
alloc(): void;
|
|
607
|
+
free(): void;
|
|
611
608
|
[Symbol.dispose](): void;
|
|
612
609
|
}
|
|
613
610
|
/**
|
|
@@ -615,9 +612,13 @@ export interface NativeFilterInOut extends Disposable {
|
|
|
615
612
|
*
|
|
616
613
|
* Hardware device context for hardware acceleration.
|
|
617
614
|
* Direct mapping to FFmpeg's AVHWDeviceContext.
|
|
615
|
+
*
|
|
616
|
+
* @internal
|
|
618
617
|
*/
|
|
619
618
|
export interface NativeHardwareDeviceContext extends Disposable {
|
|
620
619
|
readonly __brand: 'NativeHardwareDeviceContext';
|
|
620
|
+
readonly type: AVHWDeviceType;
|
|
621
|
+
readonly hwctx: bigint | null;
|
|
621
622
|
alloc(type: AVHWDeviceType): void;
|
|
622
623
|
init(): number;
|
|
623
624
|
create(type: AVHWDeviceType, device: string | null, options: any | null): number;
|
|
@@ -632,8 +633,6 @@ export interface NativeHardwareDeviceContext extends Disposable {
|
|
|
632
633
|
maxHeight: number;
|
|
633
634
|
} | null;
|
|
634
635
|
free(): void;
|
|
635
|
-
readonly type: AVHWDeviceType;
|
|
636
|
-
readonly hwctx: bigint | null;
|
|
637
636
|
[Symbol.dispose](): void;
|
|
638
637
|
}
|
|
639
638
|
/**
|
|
@@ -641,9 +640,17 @@ export interface NativeHardwareDeviceContext extends Disposable {
|
|
|
641
640
|
*
|
|
642
641
|
* Hardware frames context for hardware acceleration.
|
|
643
642
|
* Direct mapping to FFmpeg's AVHWFramesContext.
|
|
643
|
+
*
|
|
644
|
+
* @internal
|
|
644
645
|
*/
|
|
645
646
|
export interface NativeHardwareFramesContext extends Disposable {
|
|
646
647
|
readonly __brand: 'NativeHardwareFramesContext';
|
|
648
|
+
readonly deviceRef: NativeHardwareDeviceContext | null;
|
|
649
|
+
format: AVPixelFormat;
|
|
650
|
+
swFormat: AVPixelFormat;
|
|
651
|
+
width: number;
|
|
652
|
+
height: number;
|
|
653
|
+
initialPoolSize: number;
|
|
647
654
|
alloc(device: NativeHardwareDeviceContext): void;
|
|
648
655
|
init(): number;
|
|
649
656
|
getBuffer(frame: NativeFrame, flags?: number): number;
|
|
@@ -652,16 +659,15 @@ export interface NativeHardwareFramesContext extends Disposable {
|
|
|
652
659
|
map(dst: NativeFrame, src: NativeFrame, flags?: number): number;
|
|
653
660
|
createDerived(format: AVPixelFormat, derivedDevice: NativeHardwareDeviceContext, source: NativeHardwareFramesContext, flags?: number): number;
|
|
654
661
|
free(): void;
|
|
655
|
-
format: AVPixelFormat;
|
|
656
|
-
swFormat: AVPixelFormat;
|
|
657
|
-
width: number;
|
|
658
|
-
height: number;
|
|
659
|
-
initialPoolSize: number;
|
|
660
|
-
readonly deviceRef: NativeHardwareDeviceContext | null;
|
|
661
662
|
[Symbol.dispose](): void;
|
|
662
663
|
}
|
|
663
664
|
/**
|
|
664
|
-
* Native
|
|
665
|
+
* Native AVBitStreamFilter binding interface
|
|
666
|
+
*
|
|
667
|
+
* Represents a bitstream filter definition for modifying packet data.
|
|
668
|
+
* This is an immutable descriptor - actual filtering happens via BitStreamFilterContext.
|
|
669
|
+
* Used for tasks like H.264 annexb conversion, adding/removing metadata, or format adjustments.
|
|
670
|
+
*
|
|
665
671
|
* @internal
|
|
666
672
|
*/
|
|
667
673
|
export interface NativeBitStreamFilter {
|
|
@@ -670,11 +676,21 @@ export interface NativeBitStreamFilter {
|
|
|
670
676
|
readonly codecIds: number[] | null;
|
|
671
677
|
}
|
|
672
678
|
/**
|
|
673
|
-
* Native
|
|
679
|
+
* Native AVBSFContext binding interface
|
|
680
|
+
*
|
|
681
|
+
* The main interface for bitstream filtering operations.
|
|
682
|
+
* Processes packets without full decode/encode, modifying headers, metadata, or format.
|
|
683
|
+
* Must be allocated with a filter, initialized, and properly disposed after use.
|
|
684
|
+
*
|
|
674
685
|
* @internal
|
|
675
686
|
*/
|
|
676
687
|
export interface NativeBitStreamFilterContext extends Disposable {
|
|
677
688
|
readonly __brand: 'NativeBitStreamFilterContext';
|
|
689
|
+
readonly inputCodecParameters: NativeCodecParameters | null;
|
|
690
|
+
readonly outputCodecParameters: NativeCodecParameters | null;
|
|
691
|
+
readonly outputTimeBase: IRational | null;
|
|
692
|
+
readonly filter: NativeBitStreamFilter | null;
|
|
693
|
+
inputTimeBase: IRational;
|
|
678
694
|
alloc(filter: NativeBitStreamFilter): number;
|
|
679
695
|
init(): number;
|
|
680
696
|
free(): void;
|
|
@@ -682,11 +698,6 @@ export interface NativeBitStreamFilterContext extends Disposable {
|
|
|
682
698
|
sendPacket(packet: NativePacket | null): Promise<number>;
|
|
683
699
|
receivePacket(packet: NativePacket): Promise<number>;
|
|
684
700
|
isInitialized(): boolean;
|
|
685
|
-
readonly inputCodecParameters: NativeCodecParameters | null;
|
|
686
|
-
readonly outputCodecParameters: NativeCodecParameters | null;
|
|
687
|
-
inputTimeBase: IRational;
|
|
688
|
-
readonly outputTimeBase: IRational | null;
|
|
689
|
-
readonly filter: NativeBitStreamFilter | null;
|
|
690
701
|
[Symbol.dispose](): void;
|
|
691
702
|
}
|
|
692
703
|
/**
|
package/dist/lib/native-types.js
CHANGED
|
@@ -5,14 +5,7 @@
|
|
|
5
5
|
* This file contains all TypeScript interfaces for the native C++ FFmpeg bindings.
|
|
6
6
|
* These interfaces represent the exact API surface exposed by the C++ layer.
|
|
7
7
|
*
|
|
8
|
-
* IMPORTANT:
|
|
9
|
-
* - These are internal interfaces - users should use the wrapper classes in lib/
|
|
10
|
-
* - All interfaces map 1:1 to C++ binding implementations
|
|
11
|
-
* - Properties marked as readonly only have getters in C++
|
|
12
|
-
* - Resource-owning classes provide both free() and Symbol.dispose for cleanup
|
|
13
|
-
*
|
|
14
8
|
* @internal
|
|
15
|
-
* @packageDocumentation
|
|
16
9
|
*/
|
|
17
10
|
export {};
|
|
18
11
|
//# sourceMappingURL=native-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-types.js","sourceRoot":"","sources":["../../src/lib/native-types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"native-types.js","sourceRoot":"","sources":["../../src/lib/native-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|