node-av 6.2.0-beta.3 → 6.2.0-beta.4
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/dist/api/audio-frame-buffer.d.ts +73 -1
- package/dist/api/audio-frame-buffer.js +127 -1
- package/dist/api/audio-frame-buffer.js.map +1 -1
- package/dist/api/bitstream-filter.d.ts +82 -4
- package/dist/api/bitstream-filter.js +197 -100
- package/dist/api/bitstream-filter.js.map +1 -1
- package/dist/api/decoder.js +1 -1
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/demuxer.d.ts +7 -0
- package/dist/api/demuxer.js +88 -29
- package/dist/api/demuxer.js.map +1 -1
- package/dist/api/encoder-pool.d.ts +43 -1
- package/dist/api/encoder-pool.js +113 -9
- package/dist/api/encoder-pool.js.map +1 -1
- package/dist/api/encoder.d.ts +2 -0
- package/dist/api/encoder.js +105 -41
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter.js +15 -6
- package/dist/api/filter.js.map +1 -1
- package/dist/api/fmp4-stream.d.ts +93 -2
- package/dist/api/fmp4-stream.js +133 -15
- package/dist/api/fmp4-stream.js.map +1 -1
- package/dist/api/hardware.js +4 -3
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/io-stream.js +61 -5
- package/dist/api/io-stream.js.map +1 -1
- package/dist/api/muxer.d.ts +13 -0
- package/dist/api/muxer.js +69 -19
- package/dist/api/muxer.js.map +1 -1
- package/dist/api/pipeline.d.ts +2 -0
- package/dist/api/pipeline.js +23 -5
- package/dist/api/pipeline.js.map +1 -1
- package/dist/api/rtp-stream.d.ts +5 -6
- package/dist/api/rtp-stream.js +36 -26
- package/dist/api/rtp-stream.js.map +1 -1
- package/dist/api/scaler.d.ts +102 -16
- package/dist/api/scaler.js +316 -106
- package/dist/api/scaler.js.map +1 -1
- package/dist/api/utilities/async-queue.d.ts +3 -0
- package/dist/api/utilities/async-queue.js +8 -0
- package/dist/api/utilities/async-queue.js.map +1 -1
- package/dist/api/webrtc-stream.d.ts +2 -0
- package/dist/api/webrtc-stream.js +46 -12
- package/dist/api/webrtc-stream.js.map +1 -1
- package/dist/api/whisper.d.ts +2 -0
- package/dist/api/whisper.js +63 -23
- package/dist/api/whisper.js.map +1 -1
- package/dist/ffmpeg/install.js +104 -26
- package/dist/ffmpeg/install.js.map +1 -1
- package/dist/lib/binding.d.ts +1 -0
- package/dist/lib/binding.js.map +1 -1
- package/dist/lib/codec-context.d.ts +0 -2
- package/dist/lib/codec-context.js +4 -22
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/filter-context.d.ts +0 -1
- package/dist/lib/filter-context.js +2 -11
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/format-context.d.ts +45 -4
- package/dist/lib/format-context.js +50 -16
- package/dist/lib/format-context.js.map +1 -1
- package/dist/lib/frame.d.ts +11 -11
- package/dist/lib/frame.js +13 -20
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/hardware-frames-context.d.ts +0 -1
- package/dist/lib/hardware-frames-context.js +2 -8
- package/dist/lib/hardware-frames-context.js.map +1 -1
- package/dist/lib/native-types.d.ts +2 -2
- package/dist/lib/option.d.ts +26 -0
- package/dist/lib/option.js +42 -18
- package/dist/lib/option.js.map +1 -1
- package/dist/lib/packet.d.ts +5 -0
- package/dist/lib/packet.js +5 -0
- package/dist/lib/packet.js.map +1 -1
- package/dist/lib/stream.d.ts +3 -4
- package/dist/lib/stream.js +17 -24
- package/dist/lib/stream.js.map +1 -1
- package/install/check.js +26 -63
- package/package.json +33 -16
- package/build_mac_local.sh +0 -69
package/dist/api/filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/api/filter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/api/filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,9 @@ export type MP4BoxType = 'ftyp' | 'styp' | 'moov' | 'moof' | 'mdat' | 'free' | '
|
|
|
10
10
|
export interface MP4Box {
|
|
11
11
|
/** Four-character code identifying the box type (e.g., 'ftyp', 'moov', 'moof') */
|
|
12
12
|
type: MP4BoxType;
|
|
13
|
-
/** Total size of the box in bytes (including 8-byte header) */
|
|
13
|
+
/** Total size of the box in bytes (including the 8-byte header, or 16-byte for 64-bit boxes) */
|
|
14
14
|
size: number;
|
|
15
|
-
/** Box payload data (excluding the 8-byte header) */
|
|
15
|
+
/** Box payload data (excluding the 8-byte header, or 16-byte for 64-bit boxes) */
|
|
16
16
|
data: Buffer;
|
|
17
17
|
/** Offset of this box in the original buffer */
|
|
18
18
|
offset: number;
|
|
@@ -66,12 +66,53 @@ export interface FMP4StreamOptions {
|
|
|
66
66
|
supportedCodecs?: string;
|
|
67
67
|
/**
|
|
68
68
|
* Fragment duration in microseconds.
|
|
69
|
+
*
|
|
70
|
+
* Passed to the mp4 muxer as `frag_duration`, which creates a new fragment
|
|
71
|
+
* whenever the current one exceeds this duration (in addition to any cuts
|
|
72
|
+
* requested via movFlags such as `frag_keyframe`).
|
|
69
73
|
* Smaller values reduce latency but increase overhead.
|
|
70
74
|
* Set to 1 to send data as soon as possible.
|
|
71
75
|
*
|
|
72
76
|
* @default 1
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const stream = FMP4Stream.create('rtsp://camera.local/stream', {
|
|
81
|
+
* supportedCodecs: 'avc1.640029,mp4a.40.2',
|
|
82
|
+
* fragDuration: 2_000_000, // 2 seconds in microseconds
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
73
85
|
*/
|
|
74
86
|
fragDuration?: number;
|
|
87
|
+
/**
|
|
88
|
+
* Maximum number of media fragments buffered for a {@link FMP4Stream.fragments}
|
|
89
|
+
* consumer before the oldest are dropped.
|
|
90
|
+
*
|
|
91
|
+
* Live sources (RTSP cameras) produce fragments at a fixed rate regardless of
|
|
92
|
+
* consumer speed. Without a bound, a slow or stalled consumer would grow the
|
|
93
|
+
* queue until the process runs out of memory. When the backlog exceeds this
|
|
94
|
+
* limit, the oldest media fragments are dropped (never the init segment,
|
|
95
|
+
* which is kept separately via {@link FMP4Stream.initSegment}) and
|
|
96
|
+
* {@link FMP4Stream.droppedFragments} is incremented.
|
|
97
|
+
*
|
|
98
|
+
* @default 16
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const stream = FMP4Stream.create('rtsp://camera.local/stream', {
|
|
103
|
+
* supportedCodecs: 'avc1.640029,mp4a.40.2',
|
|
104
|
+
* boxMode: true,
|
|
105
|
+
* maxQueuedFragments: 8,
|
|
106
|
+
* });
|
|
107
|
+
*
|
|
108
|
+
* await stream.start();
|
|
109
|
+
* for await (const fragment of stream.fragments()) {
|
|
110
|
+
* await sendToClient(fragment.data); // Slow consumer - oldest fragments dropped
|
|
111
|
+
* }
|
|
112
|
+
* console.log(`Dropped ${stream.droppedFragments} fragments`);
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
maxQueuedFragments?: number;
|
|
75
116
|
/**
|
|
76
117
|
* Hardware acceleration configuration for video transcoding.
|
|
77
118
|
*
|
|
@@ -204,9 +245,12 @@ export declare class FMP4Stream {
|
|
|
204
245
|
private signal?;
|
|
205
246
|
private supportedCodecs;
|
|
206
247
|
private incompleteBoxBuffer;
|
|
248
|
+
private abortHandler?;
|
|
207
249
|
private fragmentQueue;
|
|
250
|
+
private _droppedFragments;
|
|
208
251
|
private _initSegment;
|
|
209
252
|
private _initSegmentResolve;
|
|
253
|
+
private _initSegmentReject;
|
|
210
254
|
private _initSegmentPromise;
|
|
211
255
|
private _ftypData;
|
|
212
256
|
private _moovData;
|
|
@@ -257,10 +301,32 @@ export declare class FMP4Stream {
|
|
|
257
301
|
*
|
|
258
302
|
* Only available when boxMode is enabled.
|
|
259
303
|
* Resolves once the first ftyp and moov boxes have been received.
|
|
304
|
+
* Rejects if the stream fails or is stopped before the init segment
|
|
305
|
+
* was produced, so awaiting it never hangs.
|
|
260
306
|
*
|
|
261
307
|
* @throws {Error} If boxMode is not enabled
|
|
262
308
|
*/
|
|
263
309
|
get initSegment(): Promise<Buffer>;
|
|
310
|
+
/**
|
|
311
|
+
* Number of media fragments dropped due to consumer backpressure.
|
|
312
|
+
*
|
|
313
|
+
* Incremented whenever the {@link fragments} backlog exceeds
|
|
314
|
+
* `maxQueuedFragments` and the oldest fragment is discarded.
|
|
315
|
+
* Reset to 0 when the stream is (re)started.
|
|
316
|
+
*
|
|
317
|
+
* @returns Total dropped fragments for the current run
|
|
318
|
+
*
|
|
319
|
+
* @example
|
|
320
|
+
* ```typescript
|
|
321
|
+
* for await (const fragment of stream.fragments()) {
|
|
322
|
+
* await sendToClient(fragment.data);
|
|
323
|
+
* if (stream.droppedFragments > 0) {
|
|
324
|
+
* console.warn(`Consumer too slow: ${stream.droppedFragments} fragments dropped`);
|
|
325
|
+
* }
|
|
326
|
+
* }
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
329
|
+
get droppedFragments(): number;
|
|
264
330
|
/**
|
|
265
331
|
* Get the demuxer instance.
|
|
266
332
|
*
|
|
@@ -399,8 +465,16 @@ export declare class FMP4Stream {
|
|
|
399
465
|
*
|
|
400
466
|
* The generator completes when the stream stops or the pipeline ends.
|
|
401
467
|
*
|
|
468
|
+
* Only a single consumer is supported: a second concurrent fragments() call
|
|
469
|
+
* would silently strand the first consumer, so it throws instead. The
|
|
470
|
+
* backlog is bounded by `maxQueuedFragments` - if the consumer falls behind
|
|
471
|
+
* a live source, the oldest fragments are dropped (see
|
|
472
|
+
* {@link droppedFragments}).
|
|
473
|
+
*
|
|
402
474
|
* @yields {FMP4Fragment} Media fragment with data buffer and box info
|
|
403
475
|
*
|
|
476
|
+
* @throws {Error} If another fragments() iterator is already active
|
|
477
|
+
*
|
|
404
478
|
* @example
|
|
405
479
|
* ```typescript
|
|
406
480
|
* const stream = FMP4Stream.create('rtsp://camera/stream', {
|
|
@@ -446,6 +520,11 @@ export declare class FMP4Stream {
|
|
|
446
520
|
/**
|
|
447
521
|
* Process buffer in box mode - buffers until complete boxes are available.
|
|
448
522
|
*
|
|
523
|
+
* The muxer splits writes at arbitrary positions, so a chunk may end
|
|
524
|
+
* anywhere - including inside a box header. Any trailing partial box
|
|
525
|
+
* (header or body) is buffered for the next chunk; the parser never
|
|
526
|
+
* loses bytes regardless of where the split falls.
|
|
527
|
+
*
|
|
449
528
|
* @param chunk - Incoming data chunk from FFmpeg
|
|
450
529
|
*
|
|
451
530
|
* @internal
|
|
@@ -461,6 +540,18 @@ export declare class FMP4Stream {
|
|
|
461
540
|
* @internal
|
|
462
541
|
*/
|
|
463
542
|
private pushFragment;
|
|
543
|
+
/**
|
|
544
|
+
* Reject a pending initSegment promise so consumers never hang.
|
|
545
|
+
*
|
|
546
|
+
* No-op when the promise was never requested or has already settled. The
|
|
547
|
+
* promise is marked as handled to avoid an unhandled rejection when no
|
|
548
|
+
* consumer is currently awaiting it.
|
|
549
|
+
*
|
|
550
|
+
* @param error - Rejection reason (pipeline error or stop-before-init)
|
|
551
|
+
*
|
|
552
|
+
* @internal
|
|
553
|
+
*/
|
|
554
|
+
private rejectInitSegment;
|
|
464
555
|
/**
|
|
465
556
|
* Signal the fragment queue that no more fragments will arrive.
|
|
466
557
|
*
|
package/dist/api/fmp4-stream.js
CHANGED
|
@@ -83,9 +83,12 @@ export class FMP4Stream {
|
|
|
83
83
|
signal;
|
|
84
84
|
supportedCodecs;
|
|
85
85
|
incompleteBoxBuffer = null;
|
|
86
|
+
abortHandler;
|
|
86
87
|
fragmentQueue = null;
|
|
88
|
+
_droppedFragments = 0;
|
|
87
89
|
_initSegment = null;
|
|
88
90
|
_initSegmentResolve = null;
|
|
91
|
+
_initSegmentReject = null;
|
|
89
92
|
_initSegmentPromise = null;
|
|
90
93
|
_ftypData = null;
|
|
91
94
|
_moovData = null;
|
|
@@ -141,6 +144,7 @@ export class FMP4Stream {
|
|
|
141
144
|
},
|
|
142
145
|
bufferSize: options.bufferSize ?? 2 * 1024 * 1024,
|
|
143
146
|
boxMode: options.boxMode ?? false,
|
|
147
|
+
maxQueuedFragments: options.maxQueuedFragments ?? 16,
|
|
144
148
|
movFlags: options.movFlags ?? '+frag_keyframe+separate_moof+default_base_moof+empty_moov',
|
|
145
149
|
};
|
|
146
150
|
this.signal = options.signal;
|
|
@@ -189,6 +193,8 @@ export class FMP4Stream {
|
|
|
189
193
|
*
|
|
190
194
|
* Only available when boxMode is enabled.
|
|
191
195
|
* Resolves once the first ftyp and moov boxes have been received.
|
|
196
|
+
* Rejects if the stream fails or is stopped before the init segment
|
|
197
|
+
* was produced, so awaiting it never hangs.
|
|
192
198
|
*
|
|
193
199
|
* @throws {Error} If boxMode is not enabled
|
|
194
200
|
*/
|
|
@@ -196,16 +202,39 @@ export class FMP4Stream {
|
|
|
196
202
|
if (!this.options.boxMode) {
|
|
197
203
|
throw new Error('initSegment is only available in box mode');
|
|
198
204
|
}
|
|
199
|
-
this._initSegmentPromise ??= new Promise((resolve) => {
|
|
205
|
+
this._initSegmentPromise ??= new Promise((resolve, reject) => {
|
|
200
206
|
if (this._initSegment) {
|
|
201
207
|
resolve(this._initSegment);
|
|
202
208
|
}
|
|
203
209
|
else {
|
|
204
210
|
this._initSegmentResolve = resolve;
|
|
211
|
+
this._initSegmentReject = reject;
|
|
205
212
|
}
|
|
206
213
|
});
|
|
207
214
|
return this._initSegmentPromise;
|
|
208
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Number of media fragments dropped due to consumer backpressure.
|
|
218
|
+
*
|
|
219
|
+
* Incremented whenever the {@link fragments} backlog exceeds
|
|
220
|
+
* `maxQueuedFragments` and the oldest fragment is discarded.
|
|
221
|
+
* Reset to 0 when the stream is (re)started.
|
|
222
|
+
*
|
|
223
|
+
* @returns Total dropped fragments for the current run
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```typescript
|
|
227
|
+
* for await (const fragment of stream.fragments()) {
|
|
228
|
+
* await sendToClient(fragment.data);
|
|
229
|
+
* if (stream.droppedFragments > 0) {
|
|
230
|
+
* console.warn(`Consumer too slow: ${stream.droppedFragments} fragments dropped`);
|
|
231
|
+
* }
|
|
232
|
+
* }
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
get droppedFragments() {
|
|
236
|
+
return this._droppedFragments;
|
|
237
|
+
}
|
|
209
238
|
/**
|
|
210
239
|
* Get the demuxer instance.
|
|
211
240
|
*
|
|
@@ -352,6 +381,8 @@ export class FMP4Stream {
|
|
|
352
381
|
async start() {
|
|
353
382
|
this.startPromise ??= this.doStart().catch((error) => {
|
|
354
383
|
this.startPromise = undefined;
|
|
384
|
+
// A pending initSegment consumer must not hang when startup fails.
|
|
385
|
+
this.rejectInitSegment(error instanceof Error ? error : new Error(String(error)));
|
|
355
386
|
throw error;
|
|
356
387
|
});
|
|
357
388
|
await this.startPromise;
|
|
@@ -366,7 +397,14 @@ export class FMP4Stream {
|
|
|
366
397
|
return;
|
|
367
398
|
}
|
|
368
399
|
this.signal?.throwIfAborted();
|
|
369
|
-
|
|
400
|
+
// Store the handler so stop() can remove it - otherwise listeners would
|
|
401
|
+
// accumulate across restarts. Teardown errors are swallowed here: they are
|
|
402
|
+
// already surfaced via onClose(error) by the completion handler.
|
|
403
|
+
this.abortHandler = () => {
|
|
404
|
+
this.stop().catch(() => { });
|
|
405
|
+
};
|
|
406
|
+
this.signal?.addEventListener('abort', this.abortHandler, { once: true });
|
|
407
|
+
this._droppedFragments = 0;
|
|
370
408
|
// Frame-source path: encode pre-composited frames directly (no demuxer/decoder).
|
|
371
409
|
if (this.source) {
|
|
372
410
|
await this.startFromFrames();
|
|
@@ -422,7 +460,7 @@ export class FMP4Stream {
|
|
|
422
460
|
}
|
|
423
461
|
const encoderCodec = this.hardwareContext?.getEncoderCodec('h264') ?? Codec.findEncoderByName(FF_ENCODER_LIBX264);
|
|
424
462
|
let encoderOptions = {};
|
|
425
|
-
if (encoderCodec.name === FF_ENCODER_LIBX264
|
|
463
|
+
if (encoderCodec.name === FF_ENCODER_LIBX264) {
|
|
426
464
|
encoderOptions.preset = 'ultrafast';
|
|
427
465
|
encoderOptions.tune = 'zerolatency';
|
|
428
466
|
}
|
|
@@ -506,10 +544,16 @@ export class FMP4Stream {
|
|
|
506
544
|
completion
|
|
507
545
|
.then(() => {
|
|
508
546
|
this.endFragments();
|
|
547
|
+
// No-op in the normal case (init segment resolved long ago) - only
|
|
548
|
+
// fires if the stream ended without ever emitting ftyp+moov.
|
|
549
|
+
this.rejectInitSegment(new Error('FMP4Stream ended before init segment was produced'));
|
|
509
550
|
this.options.onClose?.();
|
|
510
551
|
})
|
|
511
552
|
.catch(async (error) => {
|
|
512
553
|
this.endFragments();
|
|
554
|
+
// Reject with the pipeline error so an initSegment consumer sees the
|
|
555
|
+
// actual failure instead of the generic "stopped" error from stop().
|
|
556
|
+
this.rejectInitSegment(error instanceof Error ? error : new Error(String(error)));
|
|
513
557
|
await this.stop();
|
|
514
558
|
this.options.onClose?.(error);
|
|
515
559
|
});
|
|
@@ -612,6 +656,13 @@ export class FMP4Stream {
|
|
|
612
656
|
*/
|
|
613
657
|
async stop() {
|
|
614
658
|
this.endFragments();
|
|
659
|
+
// A consumer awaiting the init segment must not hang forever.
|
|
660
|
+
this.rejectInitSegment(new Error('FMP4Stream stopped before init segment was produced'));
|
|
661
|
+
// Remove the abort listener so it does not accumulate across restarts.
|
|
662
|
+
if (this.abortHandler) {
|
|
663
|
+
this.signal?.removeEventListener('abort', this.abortHandler);
|
|
664
|
+
this.abortHandler = undefined;
|
|
665
|
+
}
|
|
615
666
|
// Allow a fresh start() after stopping.
|
|
616
667
|
this.startPromise = undefined;
|
|
617
668
|
// Stop pipeline if running and wait for completion. Swallow a rejected
|
|
@@ -646,8 +697,11 @@ export class FMP4Stream {
|
|
|
646
697
|
this.hardwareContext = undefined;
|
|
647
698
|
await this.output?.close();
|
|
648
699
|
this.output = undefined;
|
|
700
|
+
// Reset parser and init segment state so a restart parses a clean stream.
|
|
701
|
+
this.incompleteBoxBuffer = null;
|
|
649
702
|
this._initSegment = null;
|
|
650
703
|
this._initSegmentResolve = null;
|
|
704
|
+
this._initSegmentReject = null;
|
|
651
705
|
this._initSegmentPromise = null;
|
|
652
706
|
this._ftypData = null;
|
|
653
707
|
this._moovData = null;
|
|
@@ -663,8 +717,16 @@ export class FMP4Stream {
|
|
|
663
717
|
*
|
|
664
718
|
* The generator completes when the stream stops or the pipeline ends.
|
|
665
719
|
*
|
|
720
|
+
* Only a single consumer is supported: a second concurrent fragments() call
|
|
721
|
+
* would silently strand the first consumer, so it throws instead. The
|
|
722
|
+
* backlog is bounded by `maxQueuedFragments` - if the consumer falls behind
|
|
723
|
+
* a live source, the oldest fragments are dropped (see
|
|
724
|
+
* {@link droppedFragments}).
|
|
725
|
+
*
|
|
666
726
|
* @yields {FMP4Fragment} Media fragment with data buffer and box info
|
|
667
727
|
*
|
|
728
|
+
* @throws {Error} If another fragments() iterator is already active
|
|
729
|
+
*
|
|
668
730
|
* @example
|
|
669
731
|
* ```typescript
|
|
670
732
|
* const stream = FMP4Stream.create('rtsp://camera/stream', {
|
|
@@ -681,6 +743,9 @@ export class FMP4Stream {
|
|
|
681
743
|
* ```
|
|
682
744
|
*/
|
|
683
745
|
async *fragments() {
|
|
746
|
+
if (this.fragmentQueue) {
|
|
747
|
+
throw new Error('fragments() supports only a single consumer; the previous iterator is still active');
|
|
748
|
+
}
|
|
684
749
|
this.fragmentQueue = { queue: [], resolve: null, done: false };
|
|
685
750
|
try {
|
|
686
751
|
while (true) {
|
|
@@ -783,6 +848,11 @@ export class FMP4Stream {
|
|
|
783
848
|
/**
|
|
784
849
|
* Process buffer in box mode - buffers until complete boxes are available.
|
|
785
850
|
*
|
|
851
|
+
* The muxer splits writes at arbitrary positions, so a chunk may end
|
|
852
|
+
* anywhere - including inside a box header. Any trailing partial box
|
|
853
|
+
* (header or body) is buffered for the next chunk; the parser never
|
|
854
|
+
* loses bytes regardless of where the split falls.
|
|
855
|
+
*
|
|
786
856
|
* @param chunk - Incoming data chunk from FFmpeg
|
|
787
857
|
*
|
|
788
858
|
* @internal
|
|
@@ -795,30 +865,51 @@ export class FMP4Stream {
|
|
|
795
865
|
}
|
|
796
866
|
let offset = 0;
|
|
797
867
|
const boxes = [];
|
|
798
|
-
while (offset
|
|
868
|
+
while (offset < chunk.length) {
|
|
869
|
+
const remaining = chunk.length - offset;
|
|
870
|
+
// Partial 32-bit header - buffer the tail for the next chunk. Dropping
|
|
871
|
+
// it would desynchronize the parser for the rest of the stream.
|
|
872
|
+
if (remaining < 8) {
|
|
873
|
+
this.incompleteBoxBuffer = chunk.subarray(offset);
|
|
874
|
+
break;
|
|
875
|
+
}
|
|
799
876
|
// Read box header
|
|
800
|
-
const
|
|
801
|
-
|
|
877
|
+
const size32 = chunk.readUInt32BE(offset);
|
|
878
|
+
let headerSize = 8;
|
|
879
|
+
let boxSize = size32;
|
|
880
|
+
if (size32 === 1) {
|
|
881
|
+
// 64-bit box: the actual size follows the type field as a 64-bit
|
|
882
|
+
// largesize (16-byte header total). movenc emits this for mdat > 4 GB.
|
|
883
|
+
if (remaining < 16) {
|
|
884
|
+
this.incompleteBoxBuffer = chunk.subarray(offset);
|
|
885
|
+
break;
|
|
886
|
+
}
|
|
887
|
+
headerSize = 16;
|
|
888
|
+
boxSize = Number(chunk.readBigUInt64BE(offset + 8));
|
|
889
|
+
}
|
|
890
|
+
// Safety check: invalid box size. size==0 ("box extends to end of file")
|
|
891
|
+
// cannot be framed in a live stream and any size below the header size
|
|
892
|
+
// is corrupt - recovery is impossible, so drop the rest of this chunk
|
|
893
|
+
// rather than emit garbage framing downstream.
|
|
894
|
+
if (boxSize < headerSize) {
|
|
895
|
+
break;
|
|
896
|
+
}
|
|
802
897
|
// Check if we have the complete box
|
|
803
898
|
if (offset + boxSize > chunk.length) {
|
|
804
|
-
// Box is incomplete - save for next chunk
|
|
899
|
+
// Box body is incomplete - save the whole box for the next chunk
|
|
805
900
|
this.incompleteBoxBuffer = chunk.subarray(offset);
|
|
806
901
|
break;
|
|
807
902
|
}
|
|
808
903
|
// We have the complete box - parse it
|
|
809
|
-
const
|
|
904
|
+
const boxType = chunk.toString('ascii', offset + 4, offset + 8);
|
|
905
|
+
boxes.push({
|
|
810
906
|
type: boxType,
|
|
811
907
|
size: boxSize,
|
|
812
|
-
data: chunk.subarray(offset +
|
|
908
|
+
data: chunk.subarray(offset + headerSize, offset + boxSize),
|
|
813
909
|
offset: offset,
|
|
814
|
-
};
|
|
815
|
-
boxes.push(box);
|
|
910
|
+
});
|
|
816
911
|
// Move to next box
|
|
817
912
|
offset += boxSize;
|
|
818
|
-
// Safety check: invalid box size
|
|
819
|
-
if (boxSize < 8) {
|
|
820
|
-
break;
|
|
821
|
-
}
|
|
822
913
|
}
|
|
823
914
|
// If we have complete boxes, send them to the callback
|
|
824
915
|
if (boxes.length > 0) {
|
|
@@ -840,6 +931,7 @@ export class FMP4Stream {
|
|
|
840
931
|
this._initSegment = Buffer.concat([this._ftypData, this._moovData]);
|
|
841
932
|
this._initSegmentResolve?.(this._initSegment);
|
|
842
933
|
this._initSegmentResolve = null;
|
|
934
|
+
this._initSegmentReject = null;
|
|
843
935
|
}
|
|
844
936
|
}
|
|
845
937
|
// fragments() generator gets only media fragments (moof+mdat)
|
|
@@ -868,8 +960,34 @@ export class FMP4Stream {
|
|
|
868
960
|
}
|
|
869
961
|
else {
|
|
870
962
|
this.fragmentQueue.queue.push(fragment);
|
|
963
|
+
// Live sources keep producing regardless of consumer speed - bound the
|
|
964
|
+
// backlog by dropping the oldest media fragments. The init segment never
|
|
965
|
+
// enters this queue in box mode (kept separately via initSegment).
|
|
966
|
+
while (this.fragmentQueue.queue.length > this.options.maxQueuedFragments) {
|
|
967
|
+
this.fragmentQueue.queue.shift();
|
|
968
|
+
this._droppedFragments++;
|
|
969
|
+
}
|
|
871
970
|
}
|
|
872
971
|
}
|
|
972
|
+
/**
|
|
973
|
+
* Reject a pending initSegment promise so consumers never hang.
|
|
974
|
+
*
|
|
975
|
+
* No-op when the promise was never requested or has already settled. The
|
|
976
|
+
* promise is marked as handled to avoid an unhandled rejection when no
|
|
977
|
+
* consumer is currently awaiting it.
|
|
978
|
+
*
|
|
979
|
+
* @param error - Rejection reason (pipeline error or stop-before-init)
|
|
980
|
+
*
|
|
981
|
+
* @internal
|
|
982
|
+
*/
|
|
983
|
+
rejectInitSegment(error) {
|
|
984
|
+
if (!this._initSegmentReject)
|
|
985
|
+
return;
|
|
986
|
+
this._initSegmentPromise?.catch(() => { });
|
|
987
|
+
this._initSegmentReject(error);
|
|
988
|
+
this._initSegmentReject = null;
|
|
989
|
+
this._initSegmentResolve = null;
|
|
990
|
+
}
|
|
873
991
|
/**
|
|
874
992
|
* Signal the fragment queue that no more fragments will arrive.
|
|
875
993
|
*
|