hls.js 1.6.0-beta.2.0.canary.10924 → 1.6.0-beta.2.0.canary.10926

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.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: string;
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: string);
388
- get state(): string;
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: HTMLMediaElement | null;
443
- mediaSource: MediaSource | null;
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
- protected registerListeners(): void;
457
- protected unregisterListeners(): void;
456
+ private registerListeners;
457
+ private unregisterListeners;
458
458
  transferMedia(): AttachMediaSourceData | null;
459
459
  private initTracks;
460
460
  private onManifestLoading;
461
- protected onManifestParsed(event: Events.MANIFEST_PARSED, data: ManifestParsedData): void;
462
- protected onMediaAttaching(event: Events.MEDIA_ATTACHING, data: MediaAttachingData): void;
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
- protected onMediaDetaching(event: Events.MEDIA_DETACHING, data: MediaDetachingData): void;
469
- protected onBufferReset(): void;
468
+ private onMediaDetaching;
469
+ private onBufferReset;
470
470
  private resetBuffer;
471
471
  private removeBuffer;
472
472
  private resetQueue;
473
- protected onBufferCodecs(event: Events.BUFFER_CODECS, data: BufferCodecsData): void;
473
+ private onBufferCodecs;
474
474
  get sourceBufferTracks(): BaseTrackSet;
475
- protected appendChangeType(type: SourceBufferName, container: string, codec: string): void;
475
+ private appendChangeType;
476
476
  private blockAudio;
477
477
  private unblockAudio;
478
- protected onBufferAppending(event: Events.BUFFER_APPENDING, eventData: BufferAppendingData): void;
478
+ private onBufferAppending;
479
479
  private getFlushOp;
480
- protected onBufferFlushing(event: Events.BUFFER_FLUSHING, data: BufferFlushingData): void;
481
- protected onFragParsed(event: Events.FRAG_PARSED, data: FragParsedData): void;
480
+ private onBufferFlushing;
481
+ private onFragParsed;
482
482
  private onFragChanged;
483
483
  get bufferedToEnd(): boolean;
484
- protected onBufferEos(event: Events.BUFFER_EOS, data: BufferEOSData): void;
485
- protected onLevelUpdated(event: Events.LEVEL_UPDATED, { details }: LevelUpdatedData): void;
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
- protected checkPendingTracks(): void;
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
  /**
@@ -1448,7 +1449,7 @@ export declare class FragmentTracker implements ComponentAPI {
1448
1449
  /**
1449
1450
  * Gets the partial fragment for a certain time
1450
1451
  */
1451
- getPartialFragment(time: number): Fragment | null;
1452
+ getPartialFragment(time: number): MediaFragment | null;
1452
1453
  isEndListAppended(type: PlaylistLevelType): boolean;
1453
1454
  getState(fragment: Fragment): FragmentState;
1454
1455
  private isTimeBuffered;
@@ -1486,6 +1487,14 @@ export declare interface FragParsingUserdataData {
1486
1487
  samples: UserdataSample[];
1487
1488
  }
1488
1489
 
1490
+ export declare type GapControllerConfig = {
1491
+ detectStallWithCurrentTimeMs: number;
1492
+ highBufferWatchdogPeriod: number;
1493
+ nudgeOffset: number;
1494
+ nudgeMaxRetry: number;
1495
+ nudgeOnVideoHole: boolean;
1496
+ };
1497
+
1489
1498
  export declare type HdcpLevel = (typeof HdcpLevels)[number];
1490
1499
 
1491
1500
  export declare const HdcpLevels: readonly ["NONE", "TYPE-0", "TYPE-1", null];
@@ -1519,9 +1528,12 @@ declare class Hls implements HlsEventEmitter {
1519
1528
  private latencyController;
1520
1529
  private levelController;
1521
1530
  private streamController;
1531
+ private audioStreamController?;
1532
+ private subtititleStreamController?;
1522
1533
  private audioTrackController?;
1523
1534
  private subtitleTrackController?;
1524
1535
  private interstitialsController?;
1536
+ private gapController;
1525
1537
  private emeController?;
1526
1538
  private cmcdController?;
1527
1539
  private _media;
@@ -1632,6 +1644,7 @@ declare class Hls implements HlsEventEmitter {
1632
1644
  * This allows for media buffering to be paused without interupting playlist loading.
1633
1645
  */
1634
1646
  pauseBuffering(): void;
1647
+ get inFlightFragments(): InFlightFragments;
1635
1648
  /**
1636
1649
  * Swap through possible audio codecs in the stream (for example to switch from stereo to 5.1)
1637
1650
  */
@@ -1652,7 +1665,14 @@ declare class Hls implements HlsEventEmitter {
1652
1665
  * @returns an array of levels (variants) sorted by HDCP-LEVEL, RESOLUTION (height), FRAME-RATE, CODECS, VIDEO-RANGE, and BANDWIDTH
1653
1666
  */
1654
1667
  get levels(): Level[];
1668
+ /**
1669
+ * @returns LevelDetails of last loaded level (variant) or `null` prior to loading a media playlist.
1670
+ */
1655
1671
  get latestLevelDetails(): LevelDetails | null;
1672
+ /**
1673
+ * @returns Level object of selected level (variant) or `null` prior to selecting a level or once the level is removed.
1674
+ */
1675
+ get loadLevelObj(): Level | null;
1656
1676
  /**
1657
1677
  * Index of quality level (variant) currently played
1658
1678
  */
@@ -1967,8 +1987,7 @@ export declare type HlsConfig = {
1967
1987
  progressive: boolean;
1968
1988
  lowLatencyMode: boolean;
1969
1989
  primarySessionId?: string;
1970
- detectStallWithCurrentTimeMs: number;
1971
- } & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & LevelControllerConfig & MP4RemuxerConfig & StreamControllerConfig & SelectionPreferences & LatencyControllerConfig & MetadataControllerConfig & TimelineControllerConfig & TSDemuxerConfig & HlsLoadPolicies & FragmentLoaderConfig & PlaylistLoaderConfig;
1990
+ } & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & GapControllerConfig & LevelControllerConfig & MP4RemuxerConfig & StreamControllerConfig & SelectionPreferences & LatencyControllerConfig & MetadataControllerConfig & TimelineControllerConfig & TSDemuxerConfig & HlsLoadPolicies & FragmentLoaderConfig & PlaylistLoaderConfig;
1972
1991
 
1973
1992
  export declare interface HlsEventEmitter {
1974
1993
  on<E extends keyof HlsListeners, Context = undefined>(event: E, listener: HlsListeners[E], context?: Context): void;
@@ -2116,6 +2135,17 @@ export declare interface ILogger {
2116
2135
  error: ILogFunction;
2117
2136
  }
2118
2137
 
2138
+ export declare type InFlightData = {
2139
+ frag: Fragment | null;
2140
+ state: (typeof State)[keyof typeof State];
2141
+ };
2142
+
2143
+ export declare type InFlightFragments = {
2144
+ [PlaylistLevelType.MAIN]: InFlightData;
2145
+ [PlaylistLevelType.AUDIO]?: InFlightData;
2146
+ [PlaylistLevelType.SUBTITLE]?: InFlightData;
2147
+ };
2148
+
2119
2149
  export declare interface InitPTSFoundData {
2120
2150
  id: PlaylistLevelType;
2121
2151
  frag: MediaFragment;
@@ -3309,6 +3339,21 @@ export declare interface SourceBufferTrack extends BaseTrack {
3309
3339
 
3310
3340
  export declare type SourceBufferTrackSet = Partial<Record<SourceBufferName, SourceBufferTrack>>;
3311
3341
 
3342
+ export declare const State: {
3343
+ STOPPED: string;
3344
+ IDLE: string;
3345
+ KEY_LOADING: string;
3346
+ FRAG_LOADING: string;
3347
+ FRAG_LOADING_WAITING_RETRY: string;
3348
+ WAITING_TRACK: string;
3349
+ PARSING: string;
3350
+ PARSED: string;
3351
+ ENDED: string;
3352
+ ERROR: string;
3353
+ WAITING_INIT_PTS: string;
3354
+ WAITING_LEVEL: string;
3355
+ };
3356
+
3312
3357
  export declare type SteeringManifest = {
3313
3358
  VERSION: 1;
3314
3359
  TTL: number;
@@ -3324,7 +3369,6 @@ export declare interface SteeringManifestLoadedData {
3324
3369
 
3325
3370
  export declare class StreamController extends BaseStreamController implements NetworkComponentAPI {
3326
3371
  private audioCodecSwap;
3327
- private gapController;
3328
3372
  private level;
3329
3373
  private _forceStartLoad;
3330
3374
  private _hasEnoughToStart;
@@ -3360,10 +3404,8 @@ export declare class StreamController extends BaseStreamController implements Ne
3360
3404
  protected flushMainBuffer(startOffset: number, endOffset: number): void;
3361
3405
  protected onMediaAttached(event: Events.MEDIA_ATTACHED, data: MediaAttachedData): void;
3362
3406
  protected onMediaDetaching(event: Events.MEDIA_DETACHING, data: MediaDetachingData): void;
3363
- private onMediaWaiting;
3364
3407
  private onMediaPlaying;
3365
3408
  private onMediaSeeked;
3366
- protected triggerEnded(): void;
3367
3409
  protected onManifestLoading(): void;
3368
3410
  private onManifestParsed;
3369
3411
  private onLevelLoading;
@@ -3376,7 +3418,6 @@ export declare class StreamController extends BaseStreamController implements Ne
3376
3418
  private onFragBuffered;
3377
3419
  get hasEnoughToStart(): boolean;
3378
3420
  protected onError(event: Events.ERROR, data: ErrorData): void;
3379
- private checkBuffer;
3380
3421
  private onFragLoadEmergencyAborted;
3381
3422
  private onBufferFlushed;
3382
3423
  private onLevelsUpdated;
@@ -3409,9 +3450,6 @@ export declare type StreamControllerConfig = {
3409
3450
  maxBufferLength: number;
3410
3451
  maxBufferSize: number;
3411
3452
  maxBufferHole: number;
3412
- highBufferWatchdogPeriod: number;
3413
- nudgeOffset: number;
3414
- nudgeMaxRetry: number;
3415
3453
  maxFragLookUpTolerance: number;
3416
3454
  maxMaxBufferLength: number;
3417
3455
  startFragPrefetch: boolean;