node-av 0.0.1 → 1.0.1

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 CHANGED
@@ -1,8 +1,6 @@
1
1
  # NodeAV
2
2
 
3
- > ⚠️ **Work in Progress**: This project is currently under active development and not yet ready for production use. APIs may change, and some features may be incomplete or unstable.
4
-
5
- Node.js bindings for FFmpeg libraries, providing both low-level and high-level APIs for audio/video processing. Built from the ground up with TypeScript, NodeAV offers complete type safety and IntelliSense support throughout your media processing workflows. The library seamlessly bridges the gap between FFmpeg's powerful C APIs and modern JavaScript development, enabling developers to leverage the full capabilities of FFmpeg directly within Node.js applications without sacrificing performance or functionality. Whether you need direct control over codecs, formats, and filters through low-level bindings, or prefer the convenience of high-level abstractions with automatic resource management and async/await support, NodeAV provides a unified, type-safe interface for all your audio and video processing needs.
3
+ Native Node.js bindings for FFmpeg with full TypeScript support. Provides direct access to FFmpeg's C APIs through N-API. Includes both raw FFmpeg bindings for full control and higher-level abstractions. Automatic resource management via Disposable pattern, hardware acceleration support and prebuilt binaries for Windows, Linux, and macOS.
6
4
 
7
5
  ## Installation
8
6
 
@@ -10,155 +8,98 @@ Node.js bindings for FFmpeg libraries, providing both low-level and high-level A
10
8
  npm install node-av
11
9
  ```
12
10
 
13
- ## Requirements
14
-
15
- **For Users**
16
- - Node.js v20 or higher
17
- - No FFmpeg installation required - all necessary libraries are bundled
18
-
19
- **For Development**
20
- - Node.js v20 or higher
21
- - FFmpeg 7.1+ development headers
22
- - TypeScript 5.0+ (for TypeScript development)
23
- - C++ build tools (for building native bindings)
24
-
25
11
  ## Quick Start
26
12
 
27
13
  ### High-Level API
28
14
 
29
15
  ```typescript
30
- import { MediaInput, MediaOutput, Decoder, Encoder } from 'node-av/api';
31
- import { AV_PIX_FMT_YUV420P } from 'node-av/constants';
16
+ import { Decoder, Encoder, MediaInput, MediaOutput } from 'node-av/api';
32
17
 
33
18
  // Open media
34
- const input = await MediaInput.open('input.mp4');
35
- const output = await MediaOutput.open('output.mp4');
19
+ await using input = await MediaInput.open('input.mp4');
20
+ await using output = await MediaOutput.open('output.mp4');
36
21
 
37
22
  // Get video stream
38
23
  const videoStream = input.video();
39
24
 
40
25
  // Create decoder/encoder
41
- const decoder = await Decoder.create(videoStream);
42
- const encoder = await Encoder.create('libx264', videoStream, {
26
+ using decoder = await Decoder.create(videoStream!);
27
+ using encoder = await Encoder.create('libx264', videoStream!, {
43
28
  bitrate: '2M',
44
- gopSize: 60
29
+ gopSize: 60,
45
30
  });
46
31
 
47
32
  // Add stream to output
48
33
  const outputIndex = output.addStream(encoder);
49
34
  await output.writeHeader();
50
35
 
51
- // Process frames
36
+ // Process packets
52
37
  for await (const packet of input.packets()) {
53
- if (packet.streamIndex === videoStream.index) {
54
- const frame = await decoder.decode(packet);
38
+ if (packet.streamIndex === videoStream!.index) {
39
+ using frame = await decoder.decode(packet);
55
40
  if (frame) {
56
- const encoded = await encoder.encode(frame);
41
+ using encoded = await encoder.encode(frame);
57
42
  if (encoded) {
58
43
  await output.writePacket(encoded, outputIndex);
59
- encoded.free();
60
44
  }
61
- frame.free();
62
45
  }
63
46
  }
64
- packet.free();
65
47
  }
66
48
 
67
- // Cleanup
49
+ // Flush decoder/encoder
50
+ for await (const frame of decoder.flushFrames()) {
51
+ using encoded = await encoder.encode(frame);
52
+ if (encoded) {
53
+ await output.writePacket(encoded, outputIndex);
54
+ }
55
+ }
56
+
57
+ for await (const packet of encoder.flushPackets()) {
58
+ await output.writePacket(packet, outputIndex);
59
+ }
60
+
61
+ // End
68
62
  await output.writeTrailer();
69
- await output.close();
70
- await input.close();
71
63
  ```
72
64
 
73
65
  ### Pipeline API
74
66
 
75
- The Pipeline API provides streamlined media processing with automatic flow control. It supports two modes:
76
-
77
- #### Simple Pipeline (single stream)
78
-
79
67
  ```typescript
80
- import { pipeline, MediaInput, MediaOutput, Decoder, Encoder, FilterAPI } from 'node-av/api';
68
+ import { pipeline, MediaInput, MediaOutput, Decoder, Encoder } from 'node-av/api';
81
69
 
82
- // Full transcode pipeline: input → decoder → encoder → output
70
+ // Simple transcode pipeline: input → decoder → encoder → output
83
71
  const input = await MediaInput.open('input.mp4');
84
72
  const output = await MediaOutput.open('output.mp4');
85
73
  const decoder = await Decoder.create(input.video());
86
- const encoder = await Encoder.create('libx264', {
87
- type: 'video',
88
- width: 1920,
89
- height: 1080,
90
- pixelFormat: AV_PIX_FMT_YUV420P,
91
- timeBase: { num: 1, den: 30 }
92
- }, {
93
- bitrate: '2M'
74
+ const encoder = await Encoder.create('libx264', input.video(), {
75
+ bitrate: '2M',
76
+ gopSize: 60
94
77
  });
95
78
 
96
79
  const control = pipeline(input, decoder, encoder, output);
97
80
  await control.completion;
98
81
 
99
- // With filter: input → decoder → filter → encoder → output
100
- const filter = await FilterAPI.create('scale=1280:720', input.video());
101
- const control2 = pipeline(input, decoder, filter, encoder, output);
102
- await control2.completion;
103
-
104
- // Stream copy (no re-encoding): input → output
105
- const control3 = pipeline(input, output);
106
- await control3.completion;
82
+ // The pipeline automatically handles:
83
+ // - Flow control between components
84
+ // - Resource management and cleanup
85
+ // - Error propagation
86
+ // - Backpressure handling
107
87
  ```
108
88
 
109
- #### Named Pipeline (multiple streams)
89
+ ## More Examples
110
90
 
111
- ```typescript
112
- // Process multiple streams with named routing
113
- const control = pipeline(
114
- { video: videoInput, audio: audioInput },
115
- {
116
- video: [videoDecoder, videoFilter, videoEncoder],
117
- audio: [audioDecoder, audioFilter, audioEncoder]
118
- },
119
- { video: videoOutput, audio: audioOutput }
120
- );
121
- await control.completion;
122
-
123
- // With single output (muxing)
124
- const control2 = pipeline(
125
- { video: videoInput, audio: audioInput },
126
- {
127
- video: [videoDecoder, videoEncoder],
128
- audio: 'passthrough' // Stream copy
129
- },
130
- output
131
- );
132
- await control2.completion;
133
- ```
91
+ The `examples/` directory contains comprehensive examples for all API levels:
134
92
 
135
- #### Partial Pipeline (returns generator)
93
+ **High-Level API** (`api-*.ts`)
94
+ - Hardware acceleration, muxing, streaming, custom I/O, and more
136
95
 
137
- ```typescript
138
- // Pipeline without output returns async generator
139
- const frames = pipeline(input, decoder);
140
- for await (const frame of frames) {
141
- // Process frames
142
- frame.free();
143
- }
96
+ **Low-Level API** (direct FFmpeg bindings)
97
+ - Ported FFmpeg C examples showing fine-grained control
144
98
 
145
- // With filter
146
- const filteredFrames = pipeline(input, decoder, filter);
147
- for await (const frame of filteredFrames) {
148
- // Process filtered frames
149
- frame.free();
150
- }
99
+ **Pipeline API** (`api-pipeline-*.ts`)
100
+ - Complex workflows with automatic flow control
151
101
 
152
- // Named partial pipeline
153
- const generators = pipeline(
154
- { video: videoInput, audio: audioInput },
155
- {
156
- video: [videoDecoder, videoFilter],
157
- audio: [audioDecoder]
158
- }
159
- );
160
- // generators.video and generators.audio are async generators
161
- ```
102
+ See the [Examples Table](#examples) for a complete list.
162
103
 
163
104
  ## Hardware Acceleration
164
105
 
@@ -265,20 +206,6 @@ const rawAudio = await MediaInput.open({
265
206
  });
266
207
  ```
267
208
 
268
- ## Error Handling
269
-
270
- ```typescript
271
- import { FFmpegError } from 'node-av';
272
-
273
- try {
274
- const media = await MediaInput.open('input.mp4');
275
- } catch (error) {
276
- if (error instanceof FFmpegError) {
277
- console.error(`FFmpeg error ${error.code}: ${error.message}`);
278
- }
279
- }
280
- ```
281
-
282
209
  ## Resource Management
283
210
 
284
211
  The library supports automatic resource cleanup using the Disposable pattern:
@@ -374,4 +301,8 @@ For issues and questions, please use the GitHub issue tracker.
374
301
 
375
302
  - [FFmpeg Documentation](https://ffmpeg.org/documentation.html)
376
303
  - [FFmpeg Doxygen](https://ffmpeg.org/doxygen/trunk/)
377
- - [Jellyfin FFmpeg](https://github.com/jellyfin/jellyfin-ffmpeg)
304
+ - [Jellyfin FFmpeg](https://github.com/jellyfin/jellyfin-ffmpeg)
305
+
306
+ ---
307
+
308
+ *Part of the [camera.ui](https://github.com/seydx/camera.ui) ecosystem - A comprehensive camera management solution.*
package/binding.gyp CHANGED
@@ -63,7 +63,7 @@
63
63
  "xcode_settings": {
64
64
  "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
65
65
  "CLANG_CXX_LIBRARY": "libc++",
66
- "MACOSX_DEPLOYMENT_TARGET": "10.15"
66
+ "MACOSX_DEPLOYMENT_TARGET": "14.0"
67
67
  },
68
68
  "msvs_settings": {
69
69
  "VCCLCompilerTool": {
@@ -183,10 +183,7 @@ export class Encoder {
183
183
  const videoInfo = input;
184
184
  codecContext.width = videoInfo.width;
185
185
  codecContext.height = videoInfo.height;
186
- // Only set pixelFormat if provided (might be omitted for hardware encoders)
187
- if (videoInfo.pixelFormat !== undefined) {
188
- codecContext.pixelFormat = videoInfo.pixelFormat;
189
- }
186
+ codecContext.pixelFormat = videoInfo.pixelFormat;
190
187
  // Set pkt_timebase and timeBase to input timebase
191
188
  codecContext.pktTimebase = new Rational(videoInfo.timeBase.num, videoInfo.timeBase.den);
192
189
  codecContext.timeBase = new Rational(videoInfo.timeBase.num, videoInfo.timeBase.den);
@@ -262,12 +259,10 @@ export class Encoder {
262
259
  }
263
260
  // Apply hardware acceleration if provided and encoder supports it
264
261
  if (options.hardware && isHardwareEncoder) {
265
- // For hardware encoders, always set the hardware pixel format
266
- // (overrides what was copied from stream parameters)
267
- codecContext.pixelFormat = options.hardware.getHardwarePixelFormat();
268
262
  // Check if frames context already available (shared from decoder)
269
263
  if (options.hardware.framesContext) {
270
264
  codecContext.hwFramesCtx = options.hardware.framesContext;
265
+ codecContext.pixelFormat = options.hardware.getHardwarePixelFormat();
271
266
  }
272
267
  // Else: Will set hwFramesCtx later in encode() when first frame arrives
273
268
  // DO NOT create frames context here - wait for first frame!
@@ -333,6 +328,9 @@ export class Encoder {
333
328
  this.hardware.ensureFramesContext(frame.width, frame.height);
334
329
  this.codecContext.hwFramesCtx = this.hardware.framesContext ?? null;
335
330
  }
331
+ if (this.codecContext.hwFramesCtx) {
332
+ this.codecContext.pixelFormat = this.hardware.getHardwarePixelFormat();
333
+ }
336
334
  }
337
335
  // Software encoder completely ignores hardware context
338
336
  // NO MANUAL RESCALING! FFmpeg's avcodec_send_frame() does this internally
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/api/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/api/encoder.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * This module loads the native C++ bindings compiled by node-gyp.
5
5
  * All native classes are accessed through this single entry point.
6
6
  */
7
- import type { AVHWDeviceType, AVLogLevel, AVMediaType, AVOptionSearchFlags, AVPixelFormat, AVSampleFormat } from './constants.js';
7
+ import type { AVError, AVHWDeviceType, AVLogLevel, AVMediaType, AVOptionSearchFlags, AVPixelFormat, AVSampleFormat } from './constants.js';
8
+ import type { PosixError } from './error.js';
8
9
  import type { NativeAudioFifo, NativeBitStreamFilter, NativeBitStreamFilterContext, NativeCodec, NativeCodecContext, NativeCodecParameters, NativeCodecParser, NativeDictionary, NativeFFmpegError, NativeFilter, NativeFilterContext, NativeFilterGraph, NativeFilterInOut, NativeFormatContext, NativeFrame, NativeHardwareDeviceContext, NativeHardwareFramesContext, NativeInputFormat, NativeIOContext, NativeLog, NativeOption, NativeOutputFormat, NativePacket, NativeSoftwareResampleContext, NativeSoftwareScaleContext, NativeStream } from './native-types.js';
9
10
  import type { ChannelLayout, IRational } from './types.js';
10
11
  type NativePacketConstructor = new () => NativePacket;
@@ -41,8 +42,7 @@ type NativeDictionaryConstructor = new () => NativeDictionary;
41
42
  interface NativeFFmpegErrorConstructor {
42
43
  new (code?: number): NativeFFmpegError;
43
44
  strerror(errnum: number): string;
44
- makeError(posixError: number): number;
45
- isError(code: number): boolean;
45
+ getAverror(errorName: PosixError): AVError;
46
46
  }
47
47
  interface NativeFilterConstructor {
48
48
  new (): NativeFilter;
@@ -14,55 +14,31 @@ function loadBinding() {
14
14
  const platform = process.platform;
15
15
  const arch = process.arch;
16
16
  const platformArch = `${platform}-${arch}`;
17
- // Try 1: Platform-specific package (optionalDependencies)
17
+ // Local build directory (--build-from-source)
18
18
  try {
19
- const packageName = `@seydx/node-av-${platformArch}`;
20
- return require(`${packageName}/node-av.node`);
21
- }
22
- catch (err) {
23
- errors.push(new Error(`Platform package not found: ${err}`));
24
- }
25
- // Try 2: Local build directory (development)
26
- try {
27
- const localPath = join(process.cwd(), 'build', 'Release', 'node-av.node');
28
- if (existsSync(localPath)) {
29
- return require(localPath);
30
- }
31
- }
32
- catch (err) {
33
- errors.push(new Error(`Local build not found: ${err}`));
34
- }
35
- // Try 3: Binary directory (postinstall)
36
- try {
37
- const binaryPath = join(process.cwd(), 'binary', 'node-av.node');
38
- if (existsSync(binaryPath)) {
39
- return require(binaryPath);
19
+ const localPath = [join(process.cwd(), 'build', 'Release', 'node-av.node'), join(process.cwd(), 'binary', 'node-av.node'), join(process.cwd(), 'node-av.node')];
20
+ for (const path of localPath) {
21
+ if (existsSync(path)) {
22
+ return require(path);
23
+ }
40
24
  }
41
25
  }
42
26
  catch (err) {
43
- errors.push(new Error(`Binary directory not found: ${err}`));
27
+ errors.push(new Error(`Local build not found or loading failed: ${err}`));
44
28
  }
45
- // Try 4: node-gyp-build style paths
29
+ // Platform-specific package (optionalDependencies)
46
30
  try {
47
- const gypBuildPath = join(process.cwd(), 'build', 'node-av.node');
48
- if (existsSync(gypBuildPath)) {
49
- return require(gypBuildPath);
50
- }
31
+ const packageName = `@seydx/node-av-${platformArch}`;
32
+ return require(`${packageName}/node-av.node`);
51
33
  }
52
34
  catch (err) {
53
- errors.push(new Error(`node-gyp build not found: ${err}`));
35
+ errors.push(new Error(`Platform package not found or loading failed: ${err}`));
54
36
  }
55
37
  // All attempts failed
56
38
  const errorMessages = errors.map((e) => e.message).join('\n ');
57
39
  // prettier-ignore
58
40
  throw new Error(`Could not load the node-av native binding for ${platformArch}.\n` +
59
- `Attempted locations:\n ${errorMessages}\n\n` +
60
- 'Possible solutions:\n' +
61
- "1. Run 'npm install' to download the prebuilt binary\n" +
62
- "2. Run 'npm install --build-from-source' to compile from source\n" +
63
- '3. Ensure you have the required dependencies for your platform\n' +
64
- '\n' +
65
- 'See https://github.com/seydx/av for more information.');
41
+ `Attempted locations:\n ${errorMessages}\n\n`);
66
42
  }
67
43
  // Load the native binding with fallback logic
68
44
  const bindings = loadBinding();
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/lib/binding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA+Q5B,SAAS,WAAW;IAClB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,kBAAkB;IAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,YAAY,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAE3C,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,kBAAkB,YAAY,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC1E,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,sBAAsB;IACtB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,kBAAkB;IAClB,MAAM,IAAI,KAAK,CACb,iDAAiD,YAAY,KAAK;QAClE,2BAA2B,aAAa,MAAM;QAC9C,uBAAuB;QACvB,wDAAwD;QACxD,mEAAmE;QACnE,kEAAkE;QAClE,IAAI;QACJ,uDAAuD,CACxD,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/lib/binding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA+Q5B,SAAS,WAAW;IAClB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,kBAAkB;IAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,YAAY,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAE3C,8CAA8C;IAC9C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAChK,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,kBAAkB,YAAY,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,sBAAsB;IACtB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,kBAAkB;IAClB,MAAM,IAAI,KAAK,CACb,iDAAiD,YAAY,KAAK;QAClE,2BAA2B,aAAa,MAAM,CAC/C,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -652,16 +652,6 @@ export declare const AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT: AVStreamGroupPar
652
652
  export declare const AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION: AVStreamGroupParamsType;
653
653
  export declare const AV_STREAM_GROUP_PARAMS_TILE_GRID: AVStreamGroupParamsType;
654
654
  export declare const AV_STREAM_GROUP_PARAMS_LCEVC: AVStreamGroupParamsType;
655
- export type AVLangCodespace = number & {
656
- readonly [__ffmpeg_brand]: 'AVLangCodespace';
657
- };
658
- export declare const AV_LANG_ISO639_2_BIBL: AVLangCodespace;
659
- export declare const AV_LANG_ISO639_2_TERM: AVLangCodespace;
660
- export declare const AV_LANG_ISO639_1: AVLangCodespace;
661
- export type AVWriteUncodedFrameFlags = number & {
662
- readonly [__ffmpeg_brand]: 'AVWriteUncodedFrameFlags';
663
- };
664
- export declare const AV_WRITE_UNCODED_FRAME_QUERY: AVWriteUncodedFrameFlags;
665
655
  export type AVEscapeMode = number & {
666
656
  readonly [__ffmpeg_brand]: 'AVEscapeMode';
667
657
  };
@@ -1988,7 +1978,6 @@ export type SWRFlag = number & {
1988
1978
  readonly [__ffmpeg_brand]: 'SWRFlag';
1989
1979
  };
1990
1980
  export declare const SWR_FLAG_RESAMPLE: SWRFlag;
1991
- export declare const SWR_CH_MAX: SWRFlag;
1992
1981
  export declare const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX = 1;
1993
1982
  export declare const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX = 2;
1994
1983
  export declare const AV_CODEC_HW_CONFIG_METHOD_INTERNAL = 4;
@@ -2024,14 +2013,6 @@ export declare const AVERROR_HTTP_SERVER_ERROR: AVError;
2024
2013
  export declare const AVERROR_EXPERIMENTAL: AVError;
2025
2014
  export declare const AVERROR_INPUT_CHANGED: AVError;
2026
2015
  export declare const AVERROR_OUTPUT_CHANGED: AVError;
2027
- export declare const AVERROR_EAGAIN: AVError;
2028
- export declare const AVERROR_ENOMEM: AVError;
2029
- export declare const AVERROR_EINVAL: AVError;
2030
- export declare const AVERROR_EPIPE: AVError;
2031
- export declare const AVERROR_ENOSYS: AVError;
2032
- export declare const AVERROR_EIO: AVError;
2033
- export declare const AVERROR_EPERM: AVError;
2034
- export declare const AVERROR_ETIMEDOUT: AVError;
2035
2016
  export declare const AV_NOPTS_VALUE = -9223372036854775808n;
2036
2017
  export declare function cast<T>(value: number): T;
2037
2018
  export {};
@@ -621,10 +621,6 @@ export const AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT = 1;
621
621
  export const AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION = 2;
622
622
  export const AV_STREAM_GROUP_PARAMS_TILE_GRID = 3;
623
623
  export const AV_STREAM_GROUP_PARAMS_LCEVC = 4;
624
- export const AV_LANG_ISO639_2_BIBL = 0;
625
- export const AV_LANG_ISO639_2_TERM = 1;
626
- export const AV_LANG_ISO639_1 = 2;
627
- export const AV_WRITE_UNCODED_FRAME_QUERY = 1;
628
624
  export const AV_ESCAPE_MODE_AUTO = 0;
629
625
  export const AV_ESCAPE_MODE_BACKSLASH = 1;
630
626
  export const AV_ESCAPE_MODE_QUOTE = 2;
@@ -1606,7 +1602,6 @@ export const SWS_CS_SMPTE240M = 7;
1606
1602
  export const SWS_CS_DEFAULT = 5;
1607
1603
  export const SWS_CS_BT2020 = 9;
1608
1604
  export const SWR_FLAG_RESAMPLE = 1;
1609
- export const SWR_CH_MAX = 64;
1610
1605
  // ============================================================================
1611
1606
  // AV_CODEC_HW_CONFIG_METHOD - Hardware configuration methods
1612
1607
  // ============================================================================
@@ -1642,14 +1637,6 @@ export const AVERROR_HTTP_SERVER_ERROR = -1482175992;
1642
1637
  export const AVERROR_EXPERIMENTAL = -733130664;
1643
1638
  export const AVERROR_INPUT_CHANGED = -1668179713;
1644
1639
  export const AVERROR_OUTPUT_CHANGED = -1668179714;
1645
- export const AVERROR_EAGAIN = -35;
1646
- export const AVERROR_ENOMEM = -12;
1647
- export const AVERROR_EINVAL = -22;
1648
- export const AVERROR_EPIPE = -32;
1649
- export const AVERROR_ENOSYS = -78;
1650
- export const AVERROR_EIO = -5;
1651
- export const AVERROR_EPERM = -1;
1652
- export const AVERROR_ETIMEDOUT = -60;
1653
1640
  // Special time constants
1654
1641
  export const AV_NOPTS_VALUE = -9223372036854775808n; // INT64_MIN
1655
1642
  // Helper function to cast numbers to branded types