hls.js 1.6.0-beta.2.0.canary.10923 → 1.6.0-beta.2.0.canary.10925
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/hls.d.mts +61 -29
- package/dist/hls.d.ts +61 -29
- package/dist/hls.js +653 -491
- package/dist/hls.js.d.ts +61 -29
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +3855 -3696
- package/dist/hls.light.js.map +1 -1
- package/dist/hls.light.min.js +1 -1
- package/dist/hls.light.min.js.map +1 -1
- package/dist/hls.light.mjs +1650 -1490
- package/dist/hls.light.mjs.map +1 -1
- package/dist/hls.min.js +1 -1
- package/dist/hls.min.js.map +1 -1
- package/dist/hls.mjs +656 -493
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/package.json +1 -1
- package/src/config.ts +15 -9
- package/src/controller/base-stream-controller.ts +12 -8
- package/src/controller/buffer-controller.ts +19 -22
- package/src/controller/eme-controller.ts +6 -1
- package/src/controller/gap-controller.ts +257 -35
- package/src/controller/interstitials-controller.ts +13 -10
- package/src/controller/stream-controller.ts +26 -73
- package/src/hls.ts +47 -3
- package/src/utils/buffer-helper.ts +35 -13
- package/src/utils/event-listener-helper.ts +16 -0
package/dist/hls.js.d.ts
CHANGED
@@ -283,7 +283,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
283
283
|
protected fragCurrent: Fragment | null;
|
284
284
|
protected fragmentTracker: FragmentTracker;
|
285
285
|
protected transmuxer: TransmuxerInterface | null;
|
286
|
-
protected _state:
|
286
|
+
protected _state: (typeof State)[keyof typeof State];
|
287
287
|
protected playlistType: PlaylistLevelType;
|
288
288
|
protected media: HTMLMediaElement | null;
|
289
289
|
protected mediaBuffer: Bufferable | null;
|
@@ -315,6 +315,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
315
315
|
get bufferingEnabled(): boolean;
|
316
316
|
pauseBuffering(): void;
|
317
317
|
resumeBuffering(): void;
|
318
|
+
get inFlightFrag(): InFlightData;
|
318
319
|
protected _streamEnded(bufferInfo: BufferInfo, levelDetails: LevelDetails): boolean;
|
319
320
|
getLevelDetails(): LevelDetails | undefined;
|
320
321
|
protected onMediaAttached(event: Events.MEDIA_ATTACHED, data: MediaAttachedData): void;
|
@@ -323,7 +324,6 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
323
324
|
protected onError(event: Events.ERROR, data: ErrorData): void;
|
324
325
|
protected onMediaSeeking: () => void;
|
325
326
|
protected onMediaEnded: () => void;
|
326
|
-
protected triggerEnded(): void;
|
327
327
|
protected onManifestLoaded(event: Events.MANIFEST_LOADED, data: ManifestLoadedData): void;
|
328
328
|
protected onHandlerDestroying(): void;
|
329
329
|
protected onHandlerDestroyed(): void;
|
@@ -384,8 +384,8 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|
384
384
|
private treatAsGap;
|
385
385
|
protected resetTransmuxer(): void;
|
386
386
|
protected recoverWorkerError(data: ErrorData): void;
|
387
|
-
set state(nextState:
|
388
|
-
get state():
|
387
|
+
set state(nextState: (typeof State)[keyof typeof State]);
|
388
|
+
get state(): (typeof State)[keyof typeof State];
|
389
389
|
}
|
390
390
|
|
391
391
|
export declare interface BaseTrack {
|
@@ -439,8 +439,8 @@ export declare class BufferController extends Logger implements ComponentAPI {
|
|
439
439
|
private _objectUrl;
|
440
440
|
private operationQueue;
|
441
441
|
private bufferCodecEventsTotal;
|
442
|
-
media
|
443
|
-
mediaSource
|
442
|
+
private media;
|
443
|
+
private mediaSource;
|
444
444
|
private lastMpegAudioChunk;
|
445
445
|
private blockedAudioAppend;
|
446
446
|
private lastVideoAppendEnd;
|
@@ -453,36 +453,36 @@ export declare class BufferController extends Logger implements ComponentAPI {
|
|
453
453
|
constructor(hls: Hls, fragmentTracker: FragmentTracker);
|
454
454
|
hasSourceTypes(): boolean;
|
455
455
|
destroy(): void;
|
456
|
-
|
457
|
-
|
456
|
+
private registerListeners;
|
457
|
+
private unregisterListeners;
|
458
458
|
transferMedia(): AttachMediaSourceData | null;
|
459
459
|
private initTracks;
|
460
460
|
private onManifestLoading;
|
461
|
-
|
462
|
-
|
461
|
+
private onManifestParsed;
|
462
|
+
private onMediaAttaching;
|
463
463
|
private assignMediaSource;
|
464
464
|
private attachTransferred;
|
465
465
|
private get mediaSourceOpenOrEnded();
|
466
466
|
private _onEndStreaming;
|
467
467
|
private _onStartStreaming;
|
468
|
-
|
469
|
-
|
468
|
+
private onMediaDetaching;
|
469
|
+
private onBufferReset;
|
470
470
|
private resetBuffer;
|
471
471
|
private removeBuffer;
|
472
472
|
private resetQueue;
|
473
|
-
|
473
|
+
private onBufferCodecs;
|
474
474
|
get sourceBufferTracks(): BaseTrackSet;
|
475
|
-
|
475
|
+
private appendChangeType;
|
476
476
|
private blockAudio;
|
477
477
|
private unblockAudio;
|
478
|
-
|
478
|
+
private onBufferAppending;
|
479
479
|
private getFlushOp;
|
480
|
-
|
481
|
-
|
480
|
+
private onBufferFlushing;
|
481
|
+
private onFragParsed;
|
482
482
|
private onFragChanged;
|
483
483
|
get bufferedToEnd(): boolean;
|
484
|
-
|
485
|
-
|
484
|
+
private onBufferEos;
|
485
|
+
private onLevelUpdated;
|
486
486
|
private updateDuration;
|
487
487
|
private onError;
|
488
488
|
private resetAppendErrors;
|
@@ -497,7 +497,7 @@ export declare class BufferController extends Logger implements ComponentAPI {
|
|
497
497
|
private getDurationAndRange;
|
498
498
|
private updateMediaSource;
|
499
499
|
private get tracksReady();
|
500
|
-
|
500
|
+
private checkPendingTracks;
|
501
501
|
private bufferCreated;
|
502
502
|
private createSourceBuffers;
|
503
503
|
private getTrackCodec;
|
@@ -572,6 +572,7 @@ export declare type BufferInfo = {
|
|
572
572
|
end: number;
|
573
573
|
nextStart?: number;
|
574
574
|
buffered?: BufferTimeRange[];
|
575
|
+
bufferedIndex: number;
|
575
576
|
};
|
576
577
|
|
577
578
|
/**
|
@@ -978,6 +979,7 @@ export declare class EMEController extends Logger implements ComponentAPI {
|
|
978
979
|
private requestLicense;
|
979
980
|
private onMediaAttached;
|
980
981
|
private onMediaDetached;
|
982
|
+
private _clear;
|
981
983
|
private onManifestLoading;
|
982
984
|
private onManifestLoaded;
|
983
985
|
private removeSession;
|
@@ -1485,6 +1487,14 @@ export declare interface FragParsingUserdataData {
|
|
1485
1487
|
samples: UserdataSample[];
|
1486
1488
|
}
|
1487
1489
|
|
1490
|
+
export declare type GapControllerConfig = {
|
1491
|
+
detectStallWithCurrentTimeMs: number;
|
1492
|
+
highBufferWatchdogPeriod: number;
|
1493
|
+
nudgeOffset: number;
|
1494
|
+
nudgeMaxRetry: number;
|
1495
|
+
nudgeOnVideoHole: boolean;
|
1496
|
+
};
|
1497
|
+
|
1488
1498
|
export declare type HdcpLevel = (typeof HdcpLevels)[number];
|
1489
1499
|
|
1490
1500
|
export declare const HdcpLevels: readonly ["NONE", "TYPE-0", "TYPE-1", null];
|
@@ -1518,9 +1528,12 @@ declare class Hls implements HlsEventEmitter {
|
|
1518
1528
|
private latencyController;
|
1519
1529
|
private levelController;
|
1520
1530
|
private streamController;
|
1531
|
+
private audioStreamController?;
|
1532
|
+
private subtititleStreamController?;
|
1521
1533
|
private audioTrackController?;
|
1522
1534
|
private subtitleTrackController?;
|
1523
1535
|
private interstitialsController?;
|
1536
|
+
private gapController;
|
1524
1537
|
private emeController?;
|
1525
1538
|
private cmcdController?;
|
1526
1539
|
private _media;
|
@@ -1631,6 +1644,7 @@ declare class Hls implements HlsEventEmitter {
|
|
1631
1644
|
* This allows for media buffering to be paused without interupting playlist loading.
|
1632
1645
|
*/
|
1633
1646
|
pauseBuffering(): void;
|
1647
|
+
get inFlightFragments(): InFlightFragments;
|
1634
1648
|
/**
|
1635
1649
|
* Swap through possible audio codecs in the stream (for example to switch from stereo to 5.1)
|
1636
1650
|
*/
|
@@ -1966,8 +1980,7 @@ export declare type HlsConfig = {
|
|
1966
1980
|
progressive: boolean;
|
1967
1981
|
lowLatencyMode: boolean;
|
1968
1982
|
primarySessionId?: string;
|
1969
|
-
|
1970
|
-
} & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & LevelControllerConfig & MP4RemuxerConfig & StreamControllerConfig & SelectionPreferences & LatencyControllerConfig & MetadataControllerConfig & TimelineControllerConfig & TSDemuxerConfig & HlsLoadPolicies & FragmentLoaderConfig & PlaylistLoaderConfig;
|
1983
|
+
} & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & GapControllerConfig & LevelControllerConfig & MP4RemuxerConfig & StreamControllerConfig & SelectionPreferences & LatencyControllerConfig & MetadataControllerConfig & TimelineControllerConfig & TSDemuxerConfig & HlsLoadPolicies & FragmentLoaderConfig & PlaylistLoaderConfig;
|
1971
1984
|
|
1972
1985
|
export declare interface HlsEventEmitter {
|
1973
1986
|
on<E extends keyof HlsListeners, Context = undefined>(event: E, listener: HlsListeners[E], context?: Context): void;
|
@@ -2115,6 +2128,17 @@ export declare interface ILogger {
|
|
2115
2128
|
error: ILogFunction;
|
2116
2129
|
}
|
2117
2130
|
|
2131
|
+
export declare type InFlightData = {
|
2132
|
+
frag: Fragment | null;
|
2133
|
+
state: (typeof State)[keyof typeof State];
|
2134
|
+
};
|
2135
|
+
|
2136
|
+
export declare type InFlightFragments = {
|
2137
|
+
[PlaylistLevelType.MAIN]: InFlightData;
|
2138
|
+
[PlaylistLevelType.AUDIO]?: InFlightData;
|
2139
|
+
[PlaylistLevelType.SUBTITLE]?: InFlightData;
|
2140
|
+
};
|
2141
|
+
|
2118
2142
|
export declare interface InitPTSFoundData {
|
2119
2143
|
id: PlaylistLevelType;
|
2120
2144
|
frag: MediaFragment;
|
@@ -3308,6 +3332,21 @@ export declare interface SourceBufferTrack extends BaseTrack {
|
|
3308
3332
|
|
3309
3333
|
export declare type SourceBufferTrackSet = Partial<Record<SourceBufferName, SourceBufferTrack>>;
|
3310
3334
|
|
3335
|
+
export declare const State: {
|
3336
|
+
STOPPED: string;
|
3337
|
+
IDLE: string;
|
3338
|
+
KEY_LOADING: string;
|
3339
|
+
FRAG_LOADING: string;
|
3340
|
+
FRAG_LOADING_WAITING_RETRY: string;
|
3341
|
+
WAITING_TRACK: string;
|
3342
|
+
PARSING: string;
|
3343
|
+
PARSED: string;
|
3344
|
+
ENDED: string;
|
3345
|
+
ERROR: string;
|
3346
|
+
WAITING_INIT_PTS: string;
|
3347
|
+
WAITING_LEVEL: string;
|
3348
|
+
};
|
3349
|
+
|
3311
3350
|
export declare type SteeringManifest = {
|
3312
3351
|
VERSION: 1;
|
3313
3352
|
TTL: number;
|
@@ -3323,7 +3362,6 @@ export declare interface SteeringManifestLoadedData {
|
|
3323
3362
|
|
3324
3363
|
export declare class StreamController extends BaseStreamController implements NetworkComponentAPI {
|
3325
3364
|
private audioCodecSwap;
|
3326
|
-
private gapController;
|
3327
3365
|
private level;
|
3328
3366
|
private _forceStartLoad;
|
3329
3367
|
private _hasEnoughToStart;
|
@@ -3359,10 +3397,8 @@ export declare class StreamController extends BaseStreamController implements Ne
|
|
3359
3397
|
protected flushMainBuffer(startOffset: number, endOffset: number): void;
|
3360
3398
|
protected onMediaAttached(event: Events.MEDIA_ATTACHED, data: MediaAttachedData): void;
|
3361
3399
|
protected onMediaDetaching(event: Events.MEDIA_DETACHING, data: MediaDetachingData): void;
|
3362
|
-
private onMediaWaiting;
|
3363
3400
|
private onMediaPlaying;
|
3364
3401
|
private onMediaSeeked;
|
3365
|
-
protected triggerEnded(): void;
|
3366
3402
|
protected onManifestLoading(): void;
|
3367
3403
|
private onManifestParsed;
|
3368
3404
|
private onLevelLoading;
|
@@ -3375,7 +3411,6 @@ export declare class StreamController extends BaseStreamController implements Ne
|
|
3375
3411
|
private onFragBuffered;
|
3376
3412
|
get hasEnoughToStart(): boolean;
|
3377
3413
|
protected onError(event: Events.ERROR, data: ErrorData): void;
|
3378
|
-
private checkBuffer;
|
3379
3414
|
private onFragLoadEmergencyAborted;
|
3380
3415
|
private onBufferFlushed;
|
3381
3416
|
private onLevelsUpdated;
|
@@ -3408,9 +3443,6 @@ export declare type StreamControllerConfig = {
|
|
3408
3443
|
maxBufferLength: number;
|
3409
3444
|
maxBufferSize: number;
|
3410
3445
|
maxBufferHole: number;
|
3411
|
-
highBufferWatchdogPeriod: number;
|
3412
|
-
nudgeOffset: number;
|
3413
|
-
nudgeMaxRetry: number;
|
3414
3446
|
maxFragLookUpTolerance: number;
|
3415
3447
|
maxMaxBufferLength: number;
|
3416
3448
|
startFragPrefetch: boolean;
|