node-av 5.2.4 → 6.0.0-beta.10

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 (106) hide show
  1. package/README.md +15 -1
  2. package/dist/api/bitstream-filter.d.ts +110 -87
  3. package/dist/api/bitstream-filter.js +162 -102
  4. package/dist/api/bitstream-filter.js.map +1 -1
  5. package/dist/api/decoder.d.ts +87 -8
  6. package/dist/api/decoder.js +179 -4
  7. package/dist/api/decoder.js.map +1 -1
  8. package/dist/api/demuxer.d.ts +30 -24
  9. package/dist/api/demuxer.js +4 -5
  10. package/dist/api/demuxer.js.map +1 -1
  11. package/dist/api/device.js.map +1 -1
  12. package/dist/api/encoder-pool.d.ts +220 -0
  13. package/dist/api/encoder-pool.js +285 -0
  14. package/dist/api/encoder-pool.js.map +1 -0
  15. package/dist/api/encoder.d.ts +133 -7
  16. package/dist/api/encoder.js +392 -68
  17. package/dist/api/encoder.js.map +1 -1
  18. package/dist/api/filter-complex.d.ts +2 -1
  19. package/dist/api/filter-complex.js +11 -7
  20. package/dist/api/filter-complex.js.map +1 -1
  21. package/dist/api/filter-presets.d.ts +130 -654
  22. package/dist/api/filter-presets.js +180 -858
  23. package/dist/api/filter-presets.js.map +1 -1
  24. package/dist/api/filter.js +13 -8
  25. package/dist/api/filter.js.map +1 -1
  26. package/dist/api/fmp4-stream.js +1 -1
  27. package/dist/api/fmp4-stream.js.map +1 -1
  28. package/dist/api/index.d.ts +6 -6
  29. package/dist/api/index.js +8 -8
  30. package/dist/api/index.js.map +1 -1
  31. package/dist/api/muxer.d.ts +43 -15
  32. package/dist/api/muxer.js +79 -27
  33. package/dist/api/muxer.js.map +1 -1
  34. package/dist/api/pipeline.d.ts +50 -0
  35. package/dist/api/pipeline.js +138 -22
  36. package/dist/api/pipeline.js.map +1 -1
  37. package/dist/api/probe.d.ts +128 -0
  38. package/dist/api/probe.js +227 -0
  39. package/dist/api/probe.js.map +1 -0
  40. package/dist/api/rtp-stream.js +1 -1
  41. package/dist/api/rtp-stream.js.map +1 -1
  42. package/dist/api/scaler.d.ts +431 -0
  43. package/dist/api/scaler.js +620 -0
  44. package/dist/api/scaler.js.map +1 -0
  45. package/dist/api/utilities/async-queue.d.ts +27 -1
  46. package/dist/api/utilities/async-queue.js +38 -1
  47. package/dist/api/utilities/async-queue.js.map +1 -1
  48. package/dist/api/utilities/electron-shared-texture.d.ts +41 -1
  49. package/dist/api/utilities/electron-shared-texture.js +41 -4
  50. package/dist/api/utilities/electron-shared-texture.js.map +1 -1
  51. package/dist/api/utilities/index.d.ts +1 -1
  52. package/dist/api/utilities/index.js.map +1 -1
  53. package/dist/api/webrtc-stream.d.ts +0 -1
  54. package/dist/api/webrtc-stream.js +0 -1
  55. package/dist/api/webrtc-stream.js.map +1 -1
  56. package/dist/constants/bsf-options.d.ts +333 -0
  57. package/dist/constants/bsf-options.js +7 -0
  58. package/dist/constants/bsf-options.js.map +1 -0
  59. package/dist/constants/constants.d.ts +109 -0
  60. package/dist/constants/constants.js +110 -0
  61. package/dist/constants/constants.js.map +1 -1
  62. package/dist/constants/decoders.d.ts +636 -618
  63. package/dist/constants/decoders.js +1 -3
  64. package/dist/constants/decoders.js.map +1 -1
  65. package/dist/constants/encoders.d.ts +300 -282
  66. package/dist/constants/encoders.js +0 -2
  67. package/dist/constants/encoders.js.map +1 -1
  68. package/dist/constants/filter-options.d.ts +10915 -0
  69. package/dist/constants/filter-options.js +7 -0
  70. package/dist/constants/filter-options.js.map +1 -0
  71. package/dist/constants/format-options.d.ts +3056 -0
  72. package/dist/constants/format-options.js +7 -0
  73. package/dist/constants/format-options.js.map +1 -0
  74. package/dist/constants/formats.d.ts +18 -0
  75. package/dist/constants/formats.js +7 -0
  76. package/dist/constants/formats.js.map +1 -0
  77. package/dist/constants/index.d.ts +5 -0
  78. package/dist/constants/options.d.ts +4073 -0
  79. package/dist/constants/options.js +7 -0
  80. package/dist/constants/options.js.map +1 -0
  81. package/dist/lib/binding.d.ts +4 -1
  82. package/dist/lib/binding.js.map +1 -1
  83. package/dist/lib/codec.d.ts +36 -5
  84. package/dist/lib/codec.js +37 -4
  85. package/dist/lib/codec.js.map +1 -1
  86. package/dist/lib/dictionary.d.ts +1 -1
  87. package/dist/lib/dictionary.js.map +1 -1
  88. package/dist/lib/error.d.ts +69 -0
  89. package/dist/lib/error.js +92 -0
  90. package/dist/lib/error.js.map +1 -1
  91. package/dist/lib/frame.d.ts +46 -3
  92. package/dist/lib/frame.js +50 -3
  93. package/dist/lib/frame.js.map +1 -1
  94. package/dist/lib/index.d.ts +1 -1
  95. package/dist/lib/index.js.map +1 -1
  96. package/dist/lib/native-types.d.ts +68 -0
  97. package/dist/lib/packet.d.ts +17 -3
  98. package/dist/lib/packet.js +19 -3
  99. package/dist/lib/packet.js.map +1 -1
  100. package/dist/lib/utilities.d.ts +21 -0
  101. package/dist/lib/utilities.js +23 -0
  102. package/dist/lib/utilities.js.map +1 -1
  103. package/dist/webrtc/index.d.ts +3 -0
  104. package/dist/webrtc/index.js +7 -0
  105. package/dist/webrtc/index.js.map +1 -0
  106. package/package.json +32 -21
@@ -50,7 +50,7 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
50
50
  var e = new Error(message);
51
51
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
52
  });
53
- import { AV_CODEC_FLAG_COPY_OPAQUE, AV_FRAME_FLAG_CORRUPT, AV_NOPTS_VALUE, AV_ROUND_UP, AVERROR_DECODER_NOT_FOUND, AVERROR_EAGAIN, AVERROR_EOF, AVERROR_INVALIDDATA, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_VIDEO, EOF, INT_MAX, } from '../constants/constants.js';
53
+ import { AV_CHANNEL_ORDER_UNSPEC, AV_CODEC_FLAG_COPY_OPAQUE, AV_FRAME_FLAG_CORRUPT, AV_NOPTS_VALUE, AV_ROUND_UP, AVERROR_DECODER_NOT_FOUND, AVERROR_EAGAIN, AVERROR_EOF, AVERROR_INVALIDDATA, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_VIDEO, EOF, INT_MAX, } from '../constants/constants.js';
54
54
  import { CodecContext } from '../lib/codec-context.js';
55
55
  import { Codec } from '../lib/codec.js';
56
56
  import { Dictionary } from '../lib/dictionary.js';
@@ -58,7 +58,8 @@ import { FFmpegError } from '../lib/error.js';
58
58
  import { Frame } from '../lib/frame.js';
59
59
  import { Packet } from '../lib/packet.js';
60
60
  import { Rational } from '../lib/rational.js';
61
- import { avGcd, avInvQ, avMulQ, avRescaleDelta, avRescaleQ, avRescaleQRnd } from '../lib/utilities.js';
61
+ import { SoftwareResampleContext } from '../lib/software-resample-context.js';
62
+ import { avChannelLayoutDefault, avGcd, avInvQ, avMulQ, avRescaleDelta, avRescaleQ, avRescaleQRnd } from '../lib/utilities.js';
62
63
  import { FRAME_THREAD_QUEUE_SIZE, PACKET_THREAD_QUEUE_SIZE } from './constants.js';
63
64
  import { AsyncQueue } from './utilities/async-queue.js';
64
65
  import { Scheduler } from './utilities/scheduler.js';
@@ -119,6 +120,15 @@ export class Decoder {
119
120
  // Audio-specific frame tracking
120
121
  lastFrameSampleRate = 0;
121
122
  lastFilterInRescaleDelta = AV_NOPTS_VALUE;
123
+ // Audio output resampling (DecoderOptions.resample)
124
+ audioResampler;
125
+ resampledFrame;
126
+ resampleTarget;
127
+ // When the decoded layout is unspecified (e.g. PCM), the concrete native layout
128
+ // applied to each input frame so swr's input matches its configuration.
129
+ resampleInputLayout;
130
+ audioResamplerSetup = false;
131
+ audioResamplerDrained = false;
122
132
  // Worker pattern for push-based processing
123
133
  inputQueue;
124
134
  outputQueue;
@@ -147,8 +157,8 @@ export class Decoder {
147
157
  this.frame = new Frame();
148
158
  this.frame.alloc();
149
159
  this.lastFrameTb = new Rational(0, 1);
150
- this.inputQueue = new AsyncQueue(PACKET_THREAD_QUEUE_SIZE);
151
- this.outputQueue = new AsyncQueue(FRAME_THREAD_QUEUE_SIZE);
160
+ this.inputQueue = new AsyncQueue(PACKET_THREAD_QUEUE_SIZE, (p) => p.free());
161
+ this.outputQueue = new AsyncQueue(FRAME_THREAD_QUEUE_SIZE, (f) => f.free());
152
162
  }
153
163
  static async create(stream, optionsOrCodec, maybeOptions) {
154
164
  // Parse arguments
@@ -1167,6 +1177,13 @@ export class Decoder {
1167
1177
  // Handles timestamp extrapolation, sample rate changes, and duration calculation
1168
1178
  if (this.codecContext.codecType === AVMEDIA_TYPE_AUDIO) {
1169
1179
  this.processAudioFrame(this.frame);
1180
+ if (!this.audioResamplerSetup) {
1181
+ this.setupAudioResampler(this.frame);
1182
+ }
1183
+ if (this.audioResampler) {
1184
+ // null = resampler buffered the input without emitting; caller feeds more
1185
+ return this.resampleAudioClone(this.frame);
1186
+ }
1170
1187
  }
1171
1188
  // Got a frame, clone it for the user
1172
1189
  const cloned = this.frame.clone();
@@ -1180,6 +1197,14 @@ export class Decoder {
1180
1197
  return null;
1181
1198
  }
1182
1199
  else if (ret === AVERROR_EOF) {
1200
+ // Flush any samples buffered inside the resampler before signaling EOF
1201
+ if (this.audioResampler && !this.audioResamplerDrained) {
1202
+ const drained = this.drainResamplerClone();
1203
+ if (drained) {
1204
+ return drained;
1205
+ }
1206
+ this.audioResamplerDrained = true;
1207
+ }
1183
1208
  // End of stream
1184
1209
  return EOF;
1185
1210
  }
@@ -1269,6 +1294,13 @@ export class Decoder {
1269
1294
  // Handles timestamp extrapolation, sample rate changes, and duration calculation
1270
1295
  if (this.codecContext.codecType === AVMEDIA_TYPE_AUDIO) {
1271
1296
  this.processAudioFrame(this.frame);
1297
+ if (!this.audioResamplerSetup) {
1298
+ this.setupAudioResampler(this.frame);
1299
+ }
1300
+ if (this.audioResampler) {
1301
+ // null = resampler buffered the input without emitting; caller feeds more
1302
+ return this.resampleAudioClone(this.frame);
1303
+ }
1272
1304
  }
1273
1305
  // Got a frame, clone it for the user
1274
1306
  const cloned = this.frame.clone();
@@ -1282,6 +1314,14 @@ export class Decoder {
1282
1314
  return null;
1283
1315
  }
1284
1316
  else if (ret === AVERROR_EOF) {
1317
+ // Flush any samples buffered inside the resampler before signaling EOF
1318
+ if (this.audioResampler && !this.audioResamplerDrained) {
1319
+ const drained = this.drainResamplerClone();
1320
+ if (drained) {
1321
+ return drained;
1322
+ }
1323
+ this.audioResamplerDrained = true;
1324
+ }
1285
1325
  // End of stream
1286
1326
  return EOF;
1287
1327
  }
@@ -1338,7 +1378,14 @@ export class Decoder {
1338
1378
  this.isClosed = true;
1339
1379
  this.inputQueue?.close();
1340
1380
  this.outputQueue?.close();
1381
+ // Free any packets/frames left buffered on an aborted/early-closed pipeline.
1382
+ this.inputQueue?.clear();
1383
+ this.outputQueue?.clear();
1341
1384
  this.frame.free();
1385
+ this.audioResampler?.[Symbol.dispose]();
1386
+ this.audioResampler = undefined;
1387
+ this.resampledFrame?.free();
1388
+ this.resampledFrame = undefined;
1342
1389
  this.codecContext.freeContext();
1343
1390
  this.initialized = false;
1344
1391
  }
@@ -1752,6 +1799,134 @@ export class Decoder {
1752
1799
  frame.duration = BigInt(frame.nbSamples);
1753
1800
  frame.timeBase = new Rational(tbFilter.num, tbFilter.den);
1754
1801
  }
1802
+ /**
1803
+ * Lazily configure the audio output resampler from the first decoded frame.
1804
+ *
1805
+ * Reads the source format from the frame, resolves the target from
1806
+ * `options.resample` (omitted fields keep the source value), and builds a
1807
+ * `SoftwareResampleContext` only when something actually differs. Runs once.
1808
+ *
1809
+ * @param frame - First decoded audio frame
1810
+ *
1811
+ * @throws {FFmpegError} If the resampler cannot be configured or initialized
1812
+ *
1813
+ * @internal
1814
+ */
1815
+ setupAudioResampler(frame) {
1816
+ this.audioResamplerSetup = true;
1817
+ const cfg = this.options.resample;
1818
+ if (!cfg) {
1819
+ return;
1820
+ }
1821
+ const inRate = frame.sampleRate;
1822
+ const inFmt = frame.format;
1823
+ // swr requires a concrete layout on both sides. Decoded PCM frames often carry
1824
+ // an unspecified layout (order UNSPEC, mask 0); normalize it to the canonical
1825
+ // native layout and re-apply it to each input frame so swr's input matches.
1826
+ let inLayout = frame.channelLayout;
1827
+ if (inLayout.order === AV_CHANNEL_ORDER_UNSPEC) {
1828
+ inLayout = avChannelLayoutDefault(inLayout.nbChannels);
1829
+ this.resampleInputLayout = inLayout;
1830
+ }
1831
+ const targetRate = cfg.sampleRate ?? inRate;
1832
+ const targetFmt = cfg.sampleFormat ?? inFmt;
1833
+ const targetLayout = cfg.channelLayout ?? inLayout;
1834
+ const needsResample = targetRate !== inRate || targetFmt !== inFmt || targetLayout.nbChannels !== inLayout.nbChannels;
1835
+ if (!needsResample) {
1836
+ this.resampleInputLayout = undefined;
1837
+ return;
1838
+ }
1839
+ this.resampleTarget = { rate: targetRate, fmt: targetFmt, layout: targetLayout };
1840
+ const swr = new SoftwareResampleContext();
1841
+ FFmpegError.throwIfError(swr.allocSetOpts2(targetLayout, targetFmt, targetRate, inLayout, inFmt, inRate), 'Failed to configure audio resampler');
1842
+ FFmpegError.throwIfError(swr.init(), 'Failed to initialize audio resampler');
1843
+ this.audioResampler = swr;
1844
+ }
1845
+ /**
1846
+ * Lazily allocate the reused resampler output frame.
1847
+ *
1848
+ * @returns The allocated output frame
1849
+ *
1850
+ * @internal
1851
+ */
1852
+ getResampleFrame() {
1853
+ if (!this.resampledFrame) {
1854
+ this.resampledFrame = new Frame();
1855
+ this.resampledFrame.alloc();
1856
+ }
1857
+ return this.resampledFrame;
1858
+ }
1859
+ /**
1860
+ * Resample a decoded audio frame to the target format and clone it for the user.
1861
+ *
1862
+ * `swr_convert_frame` allocates/sizes the output buffer; the sample timestamp
1863
+ * (carried in the frame's own timebase) is preserved, while `nb_samples` and
1864
+ * `sample_rate` reflect the new rate. Returns null when the resampler buffered
1865
+ * the input without emitting samples yet (caller should feed more).
1866
+ *
1867
+ * @param frame - Decoded source audio frame
1868
+ *
1869
+ * @returns Cloned resampled frame owned by the caller, or null if none emitted
1870
+ *
1871
+ * @throws {FFmpegError} If resampling fails
1872
+ *
1873
+ * @internal
1874
+ */
1875
+ resampleAudioClone(frame) {
1876
+ // Give swr the concrete layout it was configured with when the source is unspecified.
1877
+ if (this.resampleInputLayout) {
1878
+ frame.channelLayout = this.resampleInputLayout;
1879
+ }
1880
+ const out = this.getResampleFrame();
1881
+ out.unref();
1882
+ out.format = this.resampleTarget.fmt;
1883
+ out.sampleRate = this.resampleTarget.rate;
1884
+ out.channelLayout = this.resampleTarget.layout;
1885
+ FFmpegError.throwIfError(this.audioResampler.convertFrame(out, frame), 'Failed to resample audio frame');
1886
+ if (out.nbSamples <= 0) {
1887
+ return null;
1888
+ }
1889
+ // Keep the frame self-consistent: audio timebase is 1/sampleRate, so the
1890
+ // output carries the target rate's timebase with the pts rescaled into it
1891
+ // (and the duration in the same units), not the source frame's timebase.
1892
+ const outTb = new Rational(1, this.resampleTarget.rate);
1893
+ out.timeBase = outTb;
1894
+ out.pts = frame.pts === AV_NOPTS_VALUE ? AV_NOPTS_VALUE : avRescaleQ(frame.pts, frame.timeBase, outTb);
1895
+ out.duration = BigInt(out.nbSamples);
1896
+ const cloned = out.clone();
1897
+ if (!cloned) {
1898
+ throw new Error('Failed to clone resampled frame (out of memory)');
1899
+ }
1900
+ return cloned;
1901
+ }
1902
+ /**
1903
+ * Drain samples buffered inside the resampler (rate-conversion delay) at EOF.
1904
+ *
1905
+ * @returns Cloned drained frame owned by the caller, or null when empty
1906
+ *
1907
+ * @throws {FFmpegError} If draining fails
1908
+ *
1909
+ * @internal
1910
+ */
1911
+ drainResamplerClone() {
1912
+ const out = this.getResampleFrame();
1913
+ out.unref();
1914
+ out.format = this.resampleTarget.fmt;
1915
+ out.sampleRate = this.resampleTarget.rate;
1916
+ out.channelLayout = this.resampleTarget.layout;
1917
+ const ret = this.audioResampler.convertFrame(out, null);
1918
+ if (ret < 0 || out.nbSamples <= 0) {
1919
+ return null;
1920
+ }
1921
+ out.timeBase = new Rational(1, this.resampleTarget.rate);
1922
+ out.pts = AV_NOPTS_VALUE;
1923
+ out.duration = BigInt(out.nbSamples);
1924
+ const cloned = out.clone();
1925
+ if (!cloned) {
1926
+ throw new Error('Failed to clone resampled frame (out of memory)');
1927
+ }
1928
+ return cloned;
1929
+ }
1755
1930
  /**
1756
1931
  * Dispose of decoder.
1757
1932
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/api/decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/api/decoder.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Readable } from 'node:stream';
2
- import { RtpPacket } from 'werift';
3
2
  import { FormatContext } from '../lib/format-context.js';
4
3
  import { InputFormat } from '../lib/input-format.js';
5
4
  import { IOContext } from '../lib/io-context.js';
6
5
  import { Packet } from '../lib/packet.js';
7
- import type { AVMediaType, AVPixelFormat, AVSampleFormat, AVSeekFlag } from '../constants/index.js';
6
+ import type { RtpPacket } from 'werift';
7
+ import type { AVMediaType, AVPixelFormat, AVSampleFormat, AVSeekFlag, DemuxerFormat, DemuxerOptionsFor } from '../constants/index.js';
8
8
  import type { Stream } from '../lib/stream.js';
9
9
  import type { IRational } from '../lib/types.js';
10
10
  import type { IOInputCallbacks } from './io-stream.js';
@@ -87,7 +87,7 @@ export interface AudioRawData {
87
87
  /**
88
88
  * Options for Demuxer opening.
89
89
  */
90
- export interface DemuxerOptions {
90
+ export interface DemuxerOptions<F extends DemuxerFormat | (string & {}) = DemuxerFormat | (string & {})> {
91
91
  /**
92
92
  * Buffer size for reading/writing operations.
93
93
  *
@@ -103,8 +103,10 @@ export interface DemuxerOptions {
103
103
  * Use this to specify the input format explicitly instead of auto-detection.
104
104
  * Useful for raw formats like 'rawvideo', 'rawaudio', etc.
105
105
  *
106
+ * When given as a literal (e.g. `'mov'`), `options` is strongly typed to that
107
+ * demuxer's known options plus the generic AVFormatContext options.
106
108
  */
107
- format?: string;
109
+ format?: F;
108
110
  /**
109
111
  * Skip reading stream information on open.
110
112
  *
@@ -160,10 +162,13 @@ export interface DemuxerOptions {
160
162
  /**
161
163
  * FFmpeg format options passed directly to the input.
162
164
  *
163
- * Key-value pairs of FFmpeg AVFormatContext options.
164
- * These are passed directly to avformat_open_input().
165
+ * Key-value pairs of FFmpeg AVFormatContext / demuxer-private / protocol
166
+ * options, passed to avformat_open_input(). When `format` is a known literal,
167
+ * these are typed to that demuxer's options (autocomplete + value typing);
168
+ * arbitrary keys remain allowed so protocol options (e.g. `rtsp_transport`)
169
+ * still pass.
165
170
  */
166
- options?: Record<string, string | number | boolean | undefined | null>;
171
+ options?: DemuxerOptionsFor<F>;
167
172
  /**
168
173
  * AbortSignal for cancellation.
169
174
  *
@@ -423,20 +428,21 @@ export declare class Demuxer implements AsyncDisposable, Disposable {
423
428
  * ```
424
429
  *
425
430
  * @see {@link DemuxerOptions} For configuration options
426
- * @see {@link RawData} For raw data input
431
+ * @see {@link VideoRawData} For raw video data input
432
+ * @see {@link AudioRawData} For raw audio data input
427
433
  * @see {@link IOInputCallbacks} For custom I/O interface
428
434
  */
429
- static open(input: string | Buffer, options?: DemuxerOptions): Promise<Demuxer>;
430
- static open(input: IOInputCallbacks, options: (DemuxerOptions | undefined) & {
431
- format: string;
435
+ static open<const F extends DemuxerFormat | (string & {}) = DemuxerFormat | (string & {})>(input: string | Buffer, options?: DemuxerOptions<F>): Promise<Demuxer>;
436
+ static open<const F extends DemuxerFormat | (string & {})>(input: IOInputCallbacks, options: DemuxerOptions<F> & {
437
+ format: F;
432
438
  }): Promise<Demuxer>;
433
- static open(input: IOContext, options: (DemuxerOptions | undefined) & {
434
- format: string;
439
+ static open<const F extends DemuxerFormat | (string & {})>(input: IOContext, options: DemuxerOptions<F> & {
440
+ format: F;
435
441
  }): Promise<Demuxer>;
436
- static open(input: Readable, options: (DemuxerOptions | undefined) & {
437
- format: string;
442
+ static open<const F extends DemuxerFormat | (string & {})>(input: Readable, options: DemuxerOptions<F> & {
443
+ format: F;
438
444
  }): Promise<Demuxer>;
439
- static open(rawData: VideoRawData | AudioRawData, options?: DemuxerOptions): Promise<Demuxer>;
445
+ static open<const F extends DemuxerFormat | (string & {}) = DemuxerFormat | (string & {})>(rawData: VideoRawData | AudioRawData, options?: DemuxerOptions<F>): Promise<Demuxer>;
440
446
  /**
441
447
  * Open media from file, URL, Buffer, raw data, or custom I/O callbacks synchronously.
442
448
  * Synchronous version of open.
@@ -505,17 +511,17 @@ export declare class Demuxer implements AsyncDisposable, Disposable {
505
511
  * @see {@link open} For async version
506
512
  * @see {@link IOInputCallbacks} For custom I/O interface
507
513
  */
508
- static openSync(input: string | Buffer, options?: DemuxerOptions): Demuxer;
509
- static openSync(input: IOInputCallbacks, options: (DemuxerOptions | undefined) & {
510
- format: string;
514
+ static openSync<const F extends DemuxerFormat | (string & {}) = DemuxerFormat | (string & {})>(input: string | Buffer, options?: DemuxerOptions<F>): Demuxer;
515
+ static openSync<const F extends DemuxerFormat | (string & {})>(input: IOInputCallbacks, options: DemuxerOptions<F> & {
516
+ format: F;
511
517
  }): Demuxer;
512
- static openSync(input: IOContext, options: (DemuxerOptions | undefined) & {
513
- format: string;
518
+ static openSync<const F extends DemuxerFormat | (string & {})>(input: IOContext, options: DemuxerOptions<F> & {
519
+ format: F;
514
520
  }): Demuxer;
515
- static openSync(input: Readable, options: (DemuxerOptions | undefined) & {
516
- format: string;
521
+ static openSync<const F extends DemuxerFormat | (string & {})>(input: Readable, options: DemuxerOptions<F> & {
522
+ format: F;
517
523
  }): Demuxer;
518
- static openSync(rawData: VideoRawData | AudioRawData, options?: DemuxerOptions): Demuxer;
524
+ static openSync<const F extends DemuxerFormat | (string & {}) = DemuxerFormat | (string & {})>(rawData: VideoRawData | AudioRawData, options?: DemuxerOptions<F>): Demuxer;
519
525
  /**
520
526
  * Open RTP/SRTP input stream via localhost UDP.
521
527
  *
@@ -55,7 +55,6 @@ import { closeSync, openSync, readSync } from 'fs';
55
55
  import { open } from 'fs/promises';
56
56
  import { Readable } from 'node:stream';
57
57
  import { resolve } from 'path';
58
- import { RtpPacket } from 'werift';
59
58
  import { AV_NOPTS_VALUE, AV_PIX_FMT_NONE, AV_ROUND_NEAR_INF, AV_ROUND_PASS_MINMAX, AV_TIME_BASE, AV_TIME_BASE_Q, AVFLAG_NONE, AVFMT_FLAG_CUSTOM_IO, AVFMT_FLAG_NONBLOCK, AVFMT_TS_DISCONT, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_VIDEO, AVSEEK_CUR, AVSEEK_END, AVSEEK_SET, } from '../constants/constants.js';
60
59
  import { Dictionary } from '../lib/dictionary.js';
61
60
  import { AVERROR_EAGAIN, FFmpegError } from '../lib/error.js';
@@ -738,7 +737,7 @@ export class Demuxer {
738
737
  if (!port) {
739
738
  throw new Error(`No port found for stream index ${streamIndex}. Available streams: ${ports.length}`);
740
739
  }
741
- const data = rtpPacket instanceof RtpPacket ? rtpPacket.serialize() : rtpPacket;
740
+ const data = Buffer.isBuffer(rtpPacket) ? rtpPacket : rtpPacket.serialize();
742
741
  udpSocket.send(data, port, '127.0.0.1');
743
742
  };
744
743
  const close = async () => {
@@ -857,7 +856,7 @@ export class Demuxer {
857
856
  if (!port) {
858
857
  throw new Error(`No port found for stream index ${streamIndex}. Available streams: ${ports.length}`);
859
858
  }
860
- const data = rtpPacket instanceof RtpPacket ? rtpPacket.serialize() : rtpPacket;
859
+ const data = Buffer.isBuffer(rtpPacket) ? rtpPacket : rtpPacket.serialize();
861
860
  udpSocket.send(data, port, '127.0.0.1');
862
861
  };
863
862
  const close = async () => {
@@ -1810,12 +1809,12 @@ export class Demuxer {
1810
1809
  // Disable correction when copyTs is enabled
1811
1810
  let disableDiscontinuityCorrection = this.options.copyTs;
1812
1811
  // Rescale packet DTS to AV_TIME_BASE for comparison
1813
- const pktDts = avRescaleQRnd(packet.dts, packet.timeBase, AV_TIME_BASE_Q, (AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX));
1812
+ const pktDts = avRescaleQRnd(packet.dts, packet.timeBase, AV_TIME_BASE_Q, AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX);
1814
1813
  // PTS wrap-around detection
1815
1814
  // Only applies when copyTs is enabled and stream has limited timestamp bits
1816
1815
  if (this.options.copyTs && state.nextDts !== AV_NOPTS_VALUE && fmtIsDiscont && stream.ptsWrapBits < 60) {
1817
1816
  // Calculate wrapped DTS by adding 2^pts_wrap_bits to packet DTS
1818
- const wrapDts = avRescaleQRnd(packet.dts + (1n << BigInt(stream.ptsWrapBits)), packet.timeBase, AV_TIME_BASE_Q, (AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX));
1817
+ const wrapDts = avRescaleQRnd(packet.dts + (1n << BigInt(stream.ptsWrapBits)), packet.timeBase, AV_TIME_BASE_Q, AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX);
1819
1818
  // If wrapped DTS is closer to predicted nextDts, enable correction
1820
1819
  const wrapDelta = wrapDts > state.nextDts ? wrapDts - state.nextDts : state.nextDts - wrapDts;
1821
1820
  const normalDelta = pktDts > state.nextDts ? pktDts - state.nextDts : state.nextDts - pktDts;