hls.js 1.5.12-0.canary.10340 → 1.5.12-0.canary.10343

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
@@ -69,7 +69,7 @@ export declare type ABRControllerConfig = {
69
69
 
70
70
  export declare class AttrList {
71
71
  [key: string]: any;
72
- constructor(attrs: string | Record<string, any>);
72
+ constructor(attrs: string | Record<string, any>, parsed?: Pick<ParsedMultivariantPlaylist | LevelDetails, 'variableList' | 'hasVariableRefs' | 'playlistParsingError'>);
73
73
  get clientAttrs(): string[];
74
74
  decimalInteger(attrName: string): number;
75
75
  hexadecimalInteger(attrName: string): Uint8Array | null;
@@ -77,12 +77,17 @@ export declare class AttrList {
77
77
  decimalFloatingPoint(attrName: string): number;
78
78
  optionalFloat(attrName: string, defaultValue: number): number;
79
79
  enumeratedString(attrName: string): string | undefined;
80
+ enumeratedStringList<T extends {
81
+ [key: string]: boolean;
82
+ }>(attrName: string, dict: T): {
83
+ [key in keyof T]: boolean;
84
+ };
80
85
  bool(attrName: string): boolean;
81
86
  decimalResolution(attrName: string): {
82
87
  width: number;
83
88
  height: number;
84
89
  } | undefined;
85
- static parseAttrList(input: string): Record<string, any>;
90
+ static parseAttrList(input: string, parsed?: Pick<ParsedMultivariantPlaylist | LevelDetails, 'variableList' | 'hasVariableRefs' | 'playlistParsingError'>): Record<string, string>;
86
91
  }
87
92
 
88
93
  export declare type AudioPlaylistType = 'AUDIO';
@@ -286,7 +291,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
286
291
  protected _handleTransmuxerFlush(chunkMeta: ChunkMetadata): void;
287
292
  private shouldLoadParts;
288
293
  protected getCurrentContext(chunkMeta: ChunkMetadata): {
289
- frag: Fragment;
294
+ frag: MediaFragment;
290
295
  part: Part | null;
291
296
  level: Level;
292
297
  } | null;
@@ -303,8 +308,8 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
303
308
  mapToInitFragWhenRequired(frag: Fragment | null): typeof frag;
304
309
  getNextPart(partList: Part[], frag: Fragment, targetBufferTime: number): number;
305
310
  private loadedEndOfParts;
306
- protected getInitialLiveFragment(levelDetails: LevelDetails, fragments: Array<Fragment>): Fragment | null;
307
- protected getFragmentAtPosition(bufferEnd: number, end: number, levelDetails: LevelDetails): Fragment | null;
311
+ protected getInitialLiveFragment(levelDetails: LevelDetails, fragments: MediaFragment[]): MediaFragment | null;
312
+ protected getFragmentAtPosition(bufferEnd: number, end: number, levelDetails: LevelDetails): MediaFragment | null;
308
313
  protected synchronizeToLiveEdge(levelDetails: LevelDetails): void;
309
314
  protected alignPlaylists(details: LevelDetails, previousDetails: LevelDetails | undefined, switchDetails: LevelDetails | undefined): number;
310
315
  protected waitForCdnTuneIn(details: LevelDetails): boolean | 0;
@@ -697,20 +702,32 @@ export declare interface CuesParsedData {
697
702
 
698
703
  export declare class DateRange {
699
704
  attr: AttrList;
705
+ tagAnchor: Fragment | null;
706
+ tagOrder: number;
700
707
  private _startDate;
701
708
  private _endDate?;
709
+ private _cue?;
702
710
  private _badValueForSameId?;
703
- constructor(dateRangeAttr: AttrList, dateRangeWithSameId?: DateRange);
711
+ constructor(dateRangeAttr: AttrList, dateRangeWithSameId?: DateRange | undefined, tagCount?: number);
704
712
  get id(): string;
705
713
  get class(): string;
714
+ get cue(): DateRangeCue;
715
+ get startTime(): number;
706
716
  get startDate(): Date;
707
717
  get endDate(): Date | null;
708
718
  get duration(): number | null;
709
719
  get plannedDuration(): number | null;
710
720
  get endOnNext(): boolean;
721
+ get isInterstitial(): boolean;
711
722
  get isValid(): boolean;
712
723
  }
713
724
 
725
+ export declare type DateRangeCue = {
726
+ pre: boolean;
727
+ post: boolean;
728
+ once: boolean;
729
+ };
730
+
714
731
  declare interface DecryptData {
715
732
  uri: string;
716
733
  method: string;
@@ -1256,8 +1273,8 @@ declare class FragmentTracker implements ComponentAPI {
1256
1273
  * A buffered Fragment is one whose loading, parsing and appending is done (completed or "partial" meaning aborted).
1257
1274
  * If not found any Fragment, return null
1258
1275
  */
1259
- getBufferedFrag(position: number, levelType: PlaylistLevelType): Fragment | null;
1260
- getFragAtPos(position: number, levelType: PlaylistLevelType, buffered?: boolean): Fragment | null;
1276
+ getBufferedFrag(position: number, levelType: PlaylistLevelType): MediaFragment | null;
1277
+ getFragAtPos(position: number, levelType: PlaylistLevelType, buffered?: boolean): MediaFragment | null;
1261
1278
  /**
1262
1279
  * Partial fragments effected by coded frame eviction will be removed
1263
1280
  * The browser will unload parts of the buffer to free up memory for new buffer data
@@ -1270,7 +1287,7 @@ declare class FragmentTracker implements ComponentAPI {
1270
1287
  */
1271
1288
  detectPartialFragments(data: FragBufferedData): void;
1272
1289
  private removeParts;
1273
- fragBuffered(frag: Fragment, force?: true): void;
1290
+ fragBuffered(frag: MediaFragment, force?: true): void;
1274
1291
  private getBufferedTimes;
1275
1292
  /**
1276
1293
  * Gets the partial fragment for a certain time
@@ -1835,7 +1852,7 @@ export declare interface ILogger {
1835
1852
 
1836
1853
  export declare interface InitPTSFoundData {
1837
1854
  id: string;
1838
- frag: Fragment;
1855
+ frag: MediaFragment;
1839
1856
  initPTS: number;
1840
1857
  timescale: number;
1841
1858
  }
@@ -1997,10 +2014,11 @@ export declare class LevelDetails {
1997
2014
  averagetargetduration?: number;
1998
2015
  endCC: number;
1999
2016
  endSN: number;
2000
- fragments: Fragment[];
2001
- fragmentHint?: Fragment;
2017
+ fragments: MediaFragment[];
2018
+ fragmentHint?: MediaFragment;
2002
2019
  partList: Part[] | null;
2003
2020
  dateRanges: Record<string, DateRange>;
2021
+ dateRangeTagCount: number;
2004
2022
  live: boolean;
2005
2023
  ageHeader: number;
2006
2024
  advancedDateTime?: number;
@@ -2364,6 +2382,10 @@ export declare interface MediaEndedData {
2364
2382
  stalled: boolean;
2365
2383
  }
2366
2384
 
2385
+ export declare interface MediaFragment extends Fragment {
2386
+ sn: number;
2387
+ }
2388
+
2367
2389
  export declare type MediaKeyFunc = (keySystem: KeySystems, supportedConfigurations: MediaKeySystemConfiguration[]) => Promise<MediaKeySystemAccess>;
2368
2390
 
2369
2391
  export declare interface MediaKeySessionContext {
@@ -2467,6 +2489,17 @@ declare interface PACData {
2467
2489
  italics: boolean;
2468
2490
  }
2469
2491
 
2492
+ export declare type ParsedMultivariantPlaylist = {
2493
+ contentSteering: ContentSteeringOptions | null;
2494
+ levels: LevelParsed[];
2495
+ playlistParsingError: Error | null;
2496
+ sessionData: Record<string, AttrList> | null;
2497
+ sessionKeys: LevelKey[] | null;
2498
+ startTimeOffset: number | null;
2499
+ variableList: VariableMap | null;
2500
+ hasVariableRefs: boolean;
2501
+ };
2502
+
2470
2503
  /**
2471
2504
  * Object representing parsed data from an HLS Partial Segment. Found in {@link hls.js#LevelDetails.partList}.
2472
2505
  */
@@ -2476,10 +2509,10 @@ export declare class Part extends BaseSegment {
2476
2509
  readonly gap: boolean;
2477
2510
  readonly independent: boolean;
2478
2511
  readonly relurl: string;
2479
- readonly fragment: Fragment;
2512
+ readonly fragment: MediaFragment;
2480
2513
  readonly index: number;
2481
2514
  stats: LoadStats;
2482
- constructor(partAttrs: AttrList, frag: Fragment, baseurl: string, index: number, previous?: Part);
2515
+ constructor(partAttrs: AttrList, frag: MediaFragment, baseurl: string, index: number, previous?: Part);
2483
2516
  get start(): number;
2484
2517
  get end(): number;
2485
2518
  get loaded(): boolean;
@@ -2736,7 +2769,7 @@ declare class StreamController extends BaseStreamController implements NetworkCo
2736
2769
  get currentFrag(): Fragment | null;
2737
2770
  get currentProgramDateTime(): Date | null;
2738
2771
  get currentLevel(): number;
2739
- get nextBufferedFrag(): Fragment | null;
2772
+ get nextBufferedFrag(): MediaFragment | null;
2740
2773
  get forceStartLoad(): boolean;
2741
2774
  }
2742
2775
 
@@ -3064,7 +3097,7 @@ declare class TransmuxerInterface {
3064
3097
  constructor(hls: Hls, id: PlaylistLevelType, onTransmuxComplete: (transmuxResult: TransmuxerResult) => void, onFlush: (chunkMeta: ChunkMetadata) => void);
3065
3098
  resetWorker(): void;
3066
3099
  destroy(): void;
3067
- push(data: ArrayBuffer, initSegmentData: Uint8Array | undefined, audioCodec: string | undefined, videoCodec: string | undefined, frag: Fragment, part: Part | null, duration: number, accurateTimeOffset: boolean, chunkMeta: ChunkMetadata, defaultInitPTS?: RationalTimestamp): void;
3100
+ push(data: ArrayBuffer, initSegmentData: Uint8Array | undefined, audioCodec: string | undefined, videoCodec: string | undefined, frag: MediaFragment, part: Part | null, duration: number, accurateTimeOffset: boolean, chunkMeta: ChunkMetadata, defaultInitPTS?: RationalTimestamp): void;
3068
3101
  flush(chunkMeta: ChunkMetadata): void;
3069
3102
  private transmuxerError;
3070
3103
  private handleFlushResult;