From badd85d2bc8b1550533118ac3e57ae6f03fb4074 Mon Sep 17 00:00:00 2001 From: Jamie Stackhouse Date: Thu, 4 Feb 2021 23:21:19 -0400 Subject: [PATCH 01/18] Add build:types to GitHub build workflow. The package.json already had a "types" key. So by adding the build:types to the workflow, the next released version of hls.js will have a hls.d.ts. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1817764775b..a4b0a3803f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,7 +80,7 @@ jobs: - name: build run: | - npm run type-check + npm run build:types npm run build npm run docs # check that hls.js doesn't error if requiring in node From f808fd4bc3c181c60581a9cf32e10c0eac2c7ec7 Mon Sep 17 00:00:00 2001 From: Jamie Stackhouse Date: Thu, 4 Feb 2021 23:24:30 -0400 Subject: [PATCH 02/18] Update types key to point at the generated declaration file. Added build:types to the GitHub workflow for build. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 63ccd6bb41a..f9a53f5a53b 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/video-dev/hls.js/issues" }, "main": "./dist/hls.js", - "types": "./dist/hls.d.ts", + "types": "./dist/src/hls.d.ts", "files": [ "dist/**/*", "src/**/*" From 793b34fd432cbd4a1c45743c65f37d4f08176671 Mon Sep 17 00:00:00 2001 From: Jamie Stackhouse Date: Sun, 7 Feb 2021 14:33:39 -0400 Subject: [PATCH 03/18] Setup API extractor. --- .gitignore | 2 + .npmignore | 1 + .prettierignore | 1 + api-extractor.json | 39 + demo/chart/timeline-chart.ts | 14 +- docs/hls.js.api.md | 1861 +++++++++++++++++ package-lock.json | 205 ++ package.json | 5 +- src/config.ts | 26 +- src/controller/abr-controller.ts | 2 +- src/controller/audio-stream-controller.ts | 4 +- src/controller/base-playlist-controller.ts | 2 +- src/controller/base-stream-controller.ts | 4 +- src/controller/buffer-controller.ts | 2 +- src/controller/fragment-finders.ts | 2 +- src/controller/fragment-tracker.ts | 2 +- src/controller/gap-controller.ts | 2 +- src/controller/latency-controller.ts | 2 +- src/controller/level-helper.ts | 4 +- src/controller/stream-controller.ts | 4 +- src/controller/subtitle-stream-controller.ts | 4 +- src/controller/timeline-controller.ts | 2 +- src/demux/transmuxer-interface.ts | 2 +- src/demux/transmuxer.ts | 2 +- src/hls.ts | 141 +- src/loader/fragment-loader.ts | 2 +- src/loader/fragment.ts | 12 +- src/loader/key-loader.ts | 2 +- src/loader/level-details.ts | 7 +- src/loader/level-key.ts | 2 +- src/loader/load-stats.ts | 2 +- src/loader/m3u8-parser.ts | 8 +- src/loader/playlist-loader.ts | 6 +- src/remux/mp4-remuxer.ts | 2 +- src/types/events.ts | 10 +- src/types/fragment-tracker.ts | 2 +- src/types/general.ts | 4 - src/types/level.ts | 4 +- src/types/loader.ts | 12 +- src/utils/attr-list.ts | 10 +- src/utils/discontinuities.ts | 4 +- src/utils/fetch-loader.ts | 2 +- src/utils/xhr-loader.ts | 2 +- tests/mocks/data.js | 2 +- .../buffer-controller-operations.ts | 4 +- tests/unit/controller/fragment-tracker.ts | 4 +- tests/unit/controller/latency-controller.ts | 2 +- tests/unit/controller/level-helper.ts | 8 +- tests/unit/controller/stream-controller.ts | 6 +- .../controller/subtitle-track-controller.js | 4 +- tests/unit/demuxer/transmuxer.ts | 2 +- tests/unit/loader/fragment-loader.ts | 6 +- tests/unit/loader/fragment.js | 2 +- tests/unit/loader/level.js | 2 +- tests/unit/loader/playlist-loader.js | 2 +- tests/unit/utils/attr-list.js | 2 +- tsconfig-lib.json | 18 + tsconfig.json | 15 +- 58 files changed, 2371 insertions(+), 136 deletions(-) create mode 100644 api-extractor.json create mode 100644 docs/hls.js.api.md create mode 100644 tsconfig-lib.json diff --git a/.gitignore b/.gitignore index b0716c30ef6..fe6ecd6149f 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,9 @@ coverage/ .idea/* # Build +/lib /dist +/temp /dist.zip /netlify /api-docs diff --git a/.npmignore b/.npmignore index 46a5d086559..fc57557e3a7 100644 --- a/.npmignore +++ b/.npmignore @@ -7,3 +7,4 @@ bower.json design.md hls.js.sublime-project /streams.js +/lib diff --git a/.prettierignore b/.prettierignore index a6678488399..892d98f2cda 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,3 +3,4 @@ package-lock.json /coverage libs/ +docs/hls.js.api.md diff --git a/api-extractor.json b/api-extractor.json new file mode 100644 index 00000000000..77a97f02f6d --- /dev/null +++ b/api-extractor.json @@ -0,0 +1,39 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "/lib/hls.d.ts", + "bundledPackages": [], + "compiler": { + "tsconfigFilePath": "/tsconfig-lib.json" + }, + "apiReport": { + "enabled": true, + "reportFolder": "/docs" + }, + "docModel": { + "enabled": false + }, + "dtsRollup": { + "enabled": true + }, + "tsdocMetadata": { + "enabled": false + }, + "newlineKind": "lf", + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + } + } + } +} diff --git a/demo/chart/timeline-chart.ts b/demo/chart/timeline-chart.ts index 51d92a8140f..a9b05519414 100644 --- a/demo/chart/timeline-chart.ts +++ b/demo/chart/timeline-chart.ts @@ -1,11 +1,11 @@ import Chart from 'chart.js'; import 'chartjs-plugin-zoom'; import { applyChartInstanceOverrides, hhmmss } from './chartjs-horizontal-bar'; -import Fragment from '../../src/loader/fragment'; +import { Fragment } from '../../src/loader/fragment'; import type { Level } from '../../src/types/level'; import type { TrackSet } from '../../src/types/track'; import type { MediaPlaylist } from '../../src/types/media-playlist'; -import type LevelDetails from '../../src/loader/level-details'; +import type { LevelDetails } from '../../src/loader/level-details'; import { FragChangedData, FragLoadedData, @@ -83,7 +83,7 @@ export class TimelineChart { const obj = dataset.data![(element[0] as any)._index]; // eslint-disable-next-line no-console console.log(obj); - if (self.hls && self.hls.media) { + if (self.hls?.media) { const scale = this.chartScales[X_AXIS_SECONDS]; const pos = Chart.helpers.getRelativePosition(event, chart); self.hls.media.currentTime = scale.getValueForPixel(pos.x); @@ -600,7 +600,7 @@ export class TimelineChart { drawCurrentTime() { const chart = this.chart; - if (self.hls && self.hls.media && chart.data.datasets!.length) { + if (self.hls?.media && chart.data.datasets!.length) { const currentTime = self.hls.media.currentTime; const scale = this.chartScales[X_AXIS_SECONDS]; const ctx = chart.ctx; @@ -672,14 +672,12 @@ function datasetWithDefaults(options) { } function getPlaylistStart(details: LevelDetails): number { - return details.fragments && details.fragments.length - ? details.fragments[0].start - : 0; + return details.fragments?.length ? details.fragments[0].start : 0; } function getLevelName(level: Level, index: number) { let label = '(main playlist)'; - if (level.attrs && level.attrs.BANDWIDTH) { + if (level.attrs?.BANDWIDTH) { label = `${getMainLevelAttribute(level)}@${level.attrs.BANDWIDTH}`; if (level.name) { label = `${label} (${level.name})`; diff --git a/docs/hls.js.api.md b/docs/hls.js.api.md new file mode 100644 index 00000000000..5e9235b7880 --- /dev/null +++ b/docs/hls.js.api.md @@ -0,0 +1,1861 @@ +## API Report File for "hls.js" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// @public (undocumented) +export type ABRControllerConfig = { + abrEwmaFastLive: number; + abrEwmaSlowLive: number; + abrEwmaFastVoD: number; + abrEwmaSlowVoD: number; + abrEwmaDefaultEstimate: number; + abrBandWidthFactor: number; + abrBandWidthUpFactor: number; + abrMaxWithRealBitrate: boolean; + maxStarvationDelay: number; + maxLoadingDelay: number; +}; + +// @public (undocumented) +export class AttrList { + constructor(attrs: string | Record); + // (undocumented) + [key: string]: any; + // (undocumented) + bool(attrName: string): boolean; + // (undocumented) + decimalFloatingPoint(attrName: string): number; + // (undocumented) + decimalInteger(attrName: string): number; + // (undocumented) + decimalResolution(attrName: string): { + width: number; + height: number; + } | undefined; + // (undocumented) + enumeratedString(attrName: string): string | undefined; + // (undocumented) + hexadecimalInteger(attrName: string): Uint8Array | null; + // (undocumented) + hexadecimalIntegerAsNumber(attrName: string): number; + // (undocumented) + optionalFloat(attrName: string, defaultValue: number): number; + // (undocumented) + static parseAttrList(input: string): Record; +} + +// @public (undocumented) +export type AudioPlaylistType = 'AUDIO'; + +// @public (undocumented) +export interface AudioTrackLoadedData extends TrackLoadedData { +} + +// @public (undocumented) +export interface AudioTracksUpdatedData { + // (undocumented) + audioTracks: MediaPlaylist[]; +} + +// @public (undocumented) +export interface AudioTrackSwitchedData { + // (undocumented) + id: number; +} + +// @public (undocumented) +export interface AudioTrackSwitchingData { + // (undocumented) + id: number; + // (undocumented) + type: MediaPlaylistType | 'main'; + // (undocumented) + url: string; +} + +// @public (undocumented) +export class BaseSegment { + constructor(baseurl: string); + // (undocumented) + readonly baseurl: string; + // (undocumented) + get byteRange(): number[]; + // (undocumented) + get byteRangeEndOffset(): number; + // (undocumented) + get byteRangeStartOffset(): number; + // (undocumented) + elementaryStreams: ElementaryStreams; + // (undocumented) + relurl?: string; + // (undocumented) + setByteRange(value: string, previous?: BaseSegment): void; + // (undocumented) + get url(): string; + set url(value: string); + } + +// @public (undocumented) +export interface BufferAppendedData { + // (undocumented) + chunkMeta: ChunkMetadata; + // (undocumented) + frag: Fragment; + // (undocumented) + parent: PlaylistLevelType; + // (undocumented) + part: Part | null; + // (undocumented) + timeRanges: { + audio?: TimeRanges; + video?: TimeRanges; + audiovideo?: TimeRanges; + }; +} + +// @public (undocumented) +export interface BufferAppendingData { + // (undocumented) + chunkMeta: ChunkMetadata; + // (undocumented) + data: Uint8Array; + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; + // (undocumented) + type: SourceBufferName; +} + +// @public (undocumented) +export interface BufferCodecsData { + // (undocumented) + audio?: Track; + // (undocumented) + video?: Track; +} + +// @public (undocumented) +export type BufferControllerConfig = { + appendErrorMaxRetry: number; + liveDurationInfinity: boolean; + liveBackBufferLength: number; +}; + +// @public (undocumented) +export interface BufferCreatedData { + // (undocumented) + tracks: TrackSet; +} + +// @public (undocumented) +export interface BufferEOSData { + // (undocumented) + type?: SourceBufferName; +} + +// @public (undocumented) +export interface BufferFlushedData { + // (undocumented) + type: SourceBufferName; +} + +// @public (undocumented) +export interface BufferFlushingData { + // (undocumented) + endOffset: number; + // (undocumented) + startOffset: number; + // (undocumented) + type: SourceBufferName | null; +} + +// @public (undocumented) +export type CapLevelControllerConfig = { + capLevelToPlayerSize: boolean; +}; + +// @public (undocumented) +export class ChunkMetadata { + constructor(level: number, sn: number, id: number, size?: number, part?: number, partial?: boolean); + // (undocumented) + readonly buffering: { + [key in SourceBufferName]: HlsChunkPerformanceTiming; + }; + // (undocumented) + readonly id: number; + // (undocumented) + readonly level: number; + // (undocumented) + readonly part: number; + // (undocumented) + readonly partial: boolean; + // (undocumented) + readonly size: number; + // (undocumented) + readonly sn: number; + // (undocumented) + readonly transmuxing: HlsChunkPerformanceTiming; +} + +// @public (undocumented) +export interface CuesInterface { + // Warning: (ae-forgotten-export) The symbol "CaptionScreen" needs to be exported by the entry point hls.d.ts + // + // (undocumented) + newCue(track: TextTrack | null, startTime: number, endTime: number, captionScreen: CaptionScreen): VTTCue[]; +} + +// @public (undocumented) +export interface CuesParsedData { + // (undocumented) + cues: any; + // (undocumented) + track: string; + // (undocumented) + type: 'captions' | 'subtitles'; +} + +// @public (undocumented) +export type DRMSystemOptions = { + audioRobustness?: string; + videoRobustness?: string; +}; + +// @public (undocumented) +export interface ElementaryStreamInfo { + // (undocumented) + endDTS: number; + // (undocumented) + endPTS: number; + // (undocumented) + partial?: boolean; + // (undocumented) + startDTS: number; + // (undocumented) + startPTS: number; +} + +// @public (undocumented) +export type ElementaryStreams = Record; + +// @public (undocumented) +export enum ElementaryStreamTypes { + // (undocumented) + AUDIO = "audio", + // (undocumented) + AUDIOVIDEO = "audiovideo", + // (undocumented) + VIDEO = "video" +} + +// @public (undocumented) +export type EMEControllerConfig = { + licenseXhrSetup?: (xhr: XMLHttpRequest, url: string) => void; + emeEnabled: boolean; + widevineLicenseUrl?: string; + drmSystemOptions: DRMSystemOptions; + requestMediaKeySystemAccessFunc: MediaKeyFunc | null; +}; + +// @public (undocumented) +export interface ErrorData { + // (undocumented) + buffer?: number; + // (undocumented) + bytes?: number; + // (undocumented) + context?: PlaylistLoaderContext; + // (undocumented) + details: ErrorDetails; + // (undocumented) + err?: { + message: string; + }; + // (undocumented) + error?: Error; + // (undocumented) + event?: keyof HlsListeners | 'demuxerWorker'; + // (undocumented) + fatal: boolean; + // (undocumented) + frag?: Fragment; + // (undocumented) + level?: number | undefined; + // (undocumented) + levelRetry?: boolean; + // (undocumented) + loader?: Loader; + // (undocumented) + mimeType?: string; + // (undocumented) + networkDetails?: any; + // (undocumented) + parent?: PlaylistLevelType; + // (undocumented) + reason?: string; + // (undocumented) + response?: LoaderResponse; + // (undocumented) + type: ErrorTypes; + // (undocumented) + url?: string; +} + +// @public +export enum ErrorDetails { + // (undocumented) + AUDIO_TRACK_LOAD_ERROR = "audioTrackLoadError", + // (undocumented) + AUDIO_TRACK_LOAD_TIMEOUT = "audioTrackLoadTimeOut", + // (undocumented) + BUFFER_ADD_CODEC_ERROR = "bufferAddCodecError", + // (undocumented) + BUFFER_APPEND_ERROR = "bufferAppendError", + // (undocumented) + BUFFER_APPENDING_ERROR = "bufferAppendingError", + // (undocumented) + BUFFER_FULL_ERROR = "bufferFullError", + // (undocumented) + BUFFER_NUDGE_ON_STALL = "bufferNudgeOnStall", + // (undocumented) + BUFFER_SEEK_OVER_HOLE = "bufferSeekOverHole", + // (undocumented) + BUFFER_STALLED_ERROR = "bufferStalledError", + // (undocumented) + FRAG_DECRYPT_ERROR = "fragDecryptError", + // (undocumented) + FRAG_LOAD_ERROR = "fragLoadError", + // (undocumented) + FRAG_LOAD_TIMEOUT = "fragLoadTimeOut", + // (undocumented) + FRAG_PARSING_ERROR = "fragParsingError", + // (undocumented) + INTERNAL_ABORTED = "aborted", + // (undocumented) + INTERNAL_EXCEPTION = "internalException", + // (undocumented) + KEY_LOAD_ERROR = "keyLoadError", + // (undocumented) + KEY_LOAD_TIMEOUT = "keyLoadTimeOut", + // (undocumented) + KEY_SYSTEM_LICENSE_REQUEST_FAILED = "keySystemLicenseRequestFailed", + // (undocumented) + KEY_SYSTEM_NO_ACCESS = "keySystemNoAccess", + // (undocumented) + KEY_SYSTEM_NO_INIT_DATA = "keySystemNoInitData", + // (undocumented) + KEY_SYSTEM_NO_KEYS = "keySystemNoKeys", + // (undocumented) + KEY_SYSTEM_NO_SESSION = "keySystemNoSession", + // (undocumented) + LEVEL_EMPTY_ERROR = "levelEmptyError", + // (undocumented) + LEVEL_LOAD_ERROR = "levelLoadError", + // (undocumented) + LEVEL_LOAD_TIMEOUT = "levelLoadTimeOut", + // (undocumented) + LEVEL_SWITCH_ERROR = "levelSwitchError", + // (undocumented) + MANIFEST_INCOMPATIBLE_CODECS_ERROR = "manifestIncompatibleCodecsError", + // (undocumented) + MANIFEST_LOAD_ERROR = "manifestLoadError", + // (undocumented) + MANIFEST_LOAD_TIMEOUT = "manifestLoadTimeOut", + // (undocumented) + MANIFEST_PARSING_ERROR = "manifestParsingError", + // (undocumented) + REMUX_ALLOC_ERROR = "remuxAllocError", + // (undocumented) + SUBTITLE_LOAD_ERROR = "subtitleTrackLoadError", + // (undocumented) + SUBTITLE_TRACK_LOAD_TIMEOUT = "subtitleTrackLoadTimeOut", + // (undocumented) + UNKNOWN = "unknown" +} + +// @public (undocumented) +export enum ErrorTypes { + // (undocumented) + KEY_SYSTEM_ERROR = "keySystemError", + // (undocumented) + MEDIA_ERROR = "mediaError", + // (undocumented) + MUX_ERROR = "muxError", + // (undocumented) + NETWORK_ERROR = "networkError", + // (undocumented) + OTHER_ERROR = "otherError" +} + +// @public +export enum Events { + // (undocumented) + AUDIO_TRACK_LOADED = "hlsAudioTrackLoaded", + // (undocumented) + AUDIO_TRACK_LOADING = "hlsAudioTrackLoading", + // (undocumented) + AUDIO_TRACK_SWITCHED = "hlsAudioTrackSwitched", + // (undocumented) + AUDIO_TRACK_SWITCHING = "hlsAudioTrackSwitching", + // (undocumented) + AUDIO_TRACKS_UPDATED = "hlsAudioTracksUpdated", + // (undocumented) + BUFFER_APPENDED = "hlsBufferAppended", + // (undocumented) + BUFFER_APPENDING = "hlsBufferAppending", + // (undocumented) + BUFFER_CODECS = "hlsBufferCodecs", + // (undocumented) + BUFFER_CREATED = "hlsBufferCreated", + // (undocumented) + BUFFER_EOS = "hlsBufferEos", + // (undocumented) + BUFFER_FLUSHED = "hlsBufferFlushed", + // (undocumented) + BUFFER_FLUSHING = "hlsBufferFlushing", + // (undocumented) + BUFFER_RESET = "hlsBufferReset", + // (undocumented) + CUES_PARSED = "hlsCuesParsed", + // (undocumented) + DESTROYING = "hlsDestroying", + // (undocumented) + ERROR = "hlsError", + // (undocumented) + FPS_DROP = "hlsFpsDrop", + // (undocumented) + FPS_DROP_LEVEL_CAPPING = "hlsFpsDropLevelCapping", + // (undocumented) + FRAG_BUFFERED = "hlsFragBuffered", + // (undocumented) + FRAG_CHANGED = "hlsFragChanged", + // (undocumented) + FRAG_DECRYPTED = "hlsFragDecrypted", + // (undocumented) + FRAG_LOAD_EMERGENCY_ABORTED = "hlsFragLoadEmergencyAborted", + // (undocumented) + FRAG_LOADED = "hlsFragLoaded", + // (undocumented) + FRAG_LOADING = "hlsFragLoading", + // (undocumented) + FRAG_PARSED = "hlsFragParsed", + // (undocumented) + FRAG_PARSING_INIT_SEGMENT = "hlsFragParsingInitSegment", + // (undocumented) + FRAG_PARSING_METADATA = "hlsFragParsingMetadata", + // (undocumented) + FRAG_PARSING_USERDATA = "hlsFragParsingUserdata", + // (undocumented) + INIT_PTS_FOUND = "hlsInitPtsFound", + // (undocumented) + KEY_LOADED = "hlsKeyLoaded", + // (undocumented) + KEY_LOADING = "hlsKeyLoading", + // (undocumented) + LEVEL_LOADED = "hlsLevelLoaded", + // (undocumented) + LEVEL_LOADING = "hlsLevelLoading", + // (undocumented) + LEVEL_PTS_UPDATED = "hlsLevelPtsUpdated", + // (undocumented) + LEVEL_SWITCHED = "hlsLevelSwitched", + // (undocumented) + LEVEL_SWITCHING = "hlsLevelSwitching", + // (undocumented) + LEVEL_UPDATED = "hlsLevelUpdated", + // (undocumented) + LEVELS_UPDATED = "hlsLevelsUpdated", + // (undocumented) + LIVE_BACK_BUFFER_REACHED = "hlsLiveBackBufferReached", + // (undocumented) + MANIFEST_LOADED = "hlsManifestLoaded", + // (undocumented) + MANIFEST_LOADING = "hlsManifestLoading", + // (undocumented) + MANIFEST_PARSED = "hlsManifestParsed", + // (undocumented) + MEDIA_ATTACHED = "hlsMediaAttached", + // (undocumented) + MEDIA_ATTACHING = "hlsMediaAttaching", + // (undocumented) + MEDIA_DETACHED = "hlsMediaDetached", + // (undocumented) + MEDIA_DETACHING = "hlsMediaDetaching", + // (undocumented) + NON_NATIVE_TEXT_TRACKS_FOUND = "hlsNonNativeTextTracksFound", + // (undocumented) + SUBTITLE_FRAG_PROCESSED = "hlsSubtitleFragProcessed", + // (undocumented) + SUBTITLE_TRACK_LOADED = "hlsSubtitleTrackLoaded", + // (undocumented) + SUBTITLE_TRACK_LOADING = "hlsSubtitleTrackLoading", + // (undocumented) + SUBTITLE_TRACK_SWITCH = "hlsSubtitleTrackSwitch", + // (undocumented) + SUBTITLE_TRACKS_CLEARED = "hlsSubtitleTracksCleared", + // (undocumented) + SUBTITLE_TRACKS_UPDATED = "hlsSubtitleTracksUpdated" +} + +// @public (undocumented) +export type FPSControllerConfig = { + capLevelOnFPSDrop: boolean; + fpsDroppedMonitoringPeriod: number; + fpsDroppedMonitoringThreshold: number; +}; + +// @public (undocumented) +export interface FPSDropData { + // (undocumented) + currentDecoded: number; + // (undocumented) + currentDropped: number; + // (undocumented) + totalDroppedFrames: number; +} + +// @public (undocumented) +export interface FPSDropLevelCappingData { + // (undocumented) + droppedLevel: number; + // (undocumented) + level: number; +} + +// @public (undocumented) +export interface FragBufferedData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + part: Part | null; + // (undocumented) + stats: LoadStats; +} + +// @public (undocumented) +export interface FragChangedData { + // (undocumented) + frag: Fragment; +} + +// @public (undocumented) +export interface FragDecryptedData { + // (undocumented) + frag: Fragment; + // (undocumented) + payload: ArrayBuffer; + // (undocumented) + stats: { + tstart: number; + tdecrypt: number; + }; +} + +// @public (undocumented) +export interface FragLoadedData { + // (undocumented) + frag: Fragment; + // (undocumented) + networkDetails: unknown; + // (undocumented) + part: Part | null; + // (undocumented) + payload: ArrayBuffer; +} + +// @public (undocumented) +export interface FragLoadEmergencyAbortedData { + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; + // (undocumented) + stats: LoaderStats; +} + +// @public (undocumented) +export interface FragLoadingData { + // (undocumented) + frag: Fragment; + // (undocumented) + part?: Part; + // (undocumented) + targetBufferTime: number | null; +} + +// @public (undocumented) +export class Fragment extends BaseSegment { + constructor(type: PlaylistLevelType, baseurl: string); + // (undocumented) + appendedPTS?: number; + // (undocumented) + bitrateTest: boolean; + // (undocumented) + cc: number; + // (undocumented) + clearElementaryStreamInfo(): void; + createInitializationVector(segmentNumber: number): Uint8Array; + // (undocumented) + data?: Uint8Array; + // (undocumented) + get decryptdata(): LevelKey | null; + // (undocumented) + deltaPTS?: number; + // (undocumented) + duration: number; + // (undocumented) + get encrypted(): boolean; + // (undocumented) + get end(): number; + // (undocumented) + endDTS: number; + // (undocumented) + get endProgramDateTime(): number | null; + // (undocumented) + endPTS?: number; + // (undocumented) + level: number; + // (undocumented) + levelkey?: LevelKey; + // (undocumented) + loader: Loader | null; + // (undocumented) + maxStartPTS?: number; + // (undocumented) + minEndPTS?: number; + // (undocumented) + programDateTime: number | null; + // (undocumented) + rawProgramDateTime: string | null; + setDecryptDataFromLevelKey(levelkey: LevelKey, segmentNumber: number): LevelKey; + // (undocumented) + setElementaryStreamInfo(type: ElementaryStreamTypes, startPTS: number, endPTS: number, startDTS: number, endDTS: number, partial?: boolean): void; + // (undocumented) + sn: number | 'initSegment'; + // (undocumented) + start: number; + // (undocumented) + startDTS: number; + // (undocumented) + startPTS?: number; + // (undocumented) + stats: LoadStats; + // (undocumented) + tagList: Array; + // (undocumented) + title: string | null; + // (undocumented) + readonly type: PlaylistLevelType; + // (undocumented) + urlId: number; +} + +// @public (undocumented) +export type FragmentLoaderConfig = { + fLoader?: { + new (confg: HlsConfig): Loader; + }; + fragLoadingTimeOut: number; + fragLoadingMaxRetry: number; + fragLoadingRetryDelay: number; + fragLoadingMaxRetryTimeout: number; +}; + +// @public (undocumented) +export interface FragmentLoaderContext extends LoaderContext { + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; +} + +// @public (undocumented) +export interface FragParsedData { + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; +} + +// @public (undocumented) +export interface FragParsingInitSegmentData { +} + +// @public (undocumented) +export interface FragParsingMetadataData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + samples: MetadataSample[]; +} + +// @public (undocumented) +export interface FragParsingUserdataData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + samples: UserdataSample[]; +} + +// @public +class Hls implements HlsEventEmitter { + constructor(userConfig?: Partial); + attachMedia(media: HTMLMediaElement): void; + get audioTrack(): number; + set audioTrack(audioTrackId: number); + get audioTracks(): Array; + get autoLevelCapping(): number; + set autoLevelCapping(newLevel: number); + get autoLevelEnabled(): boolean; + get bandwidthEstimate(): number; + get capLevelToPlayerSize(): boolean; + set capLevelToPlayerSize(shouldStartCapping: boolean); + // (undocumented) + readonly config: HlsConfig; + // (undocumented) + createController(ControllerClass: any, fragmentTracker: any, components: any): any; + get currentLevel(): number; + set currentLevel(newLevel: number); + // (undocumented) + static get DefaultConfig(): HlsConfig; + static set DefaultConfig(defaultConfig: HlsConfig); + destroy(): void; + detachMedia(): void; + // (undocumented) + emit(event: E, name: E, eventObject: Parameters[1]): boolean; + // (undocumented) + static get ErrorDetails(): typeof ErrorDetails; + // (undocumented) + static get ErrorTypes(): typeof ErrorTypes; + // (undocumented) + static get Events(): typeof Events; + get firstLevel(): number; + set firstLevel(newLevel: number); + // (undocumented) + static isSupported(): boolean; + get latency(): number; + get levels(): Array; + // (undocumented) + listenerCount(event: E): number; + // (undocumented) + listeners(event: E): HlsListeners[E][]; + get liveSyncPosition(): number | null; + get loadLevel(): number; + set loadLevel(newLevel: number); + loadSource(url: string): void; + get lowLatencyMode(): boolean; + set lowLatencyMode(mode: boolean); + get manualLevel(): number; + get maxAutoLevel(): number; + get maxLatency(): number; + // (undocumented) + get media(): HTMLMediaElement | null; + get minAutoLevel(): number; + get nextAutoLevel(): number; + set nextAutoLevel(nextLevel: number); + get nextLevel(): number; + set nextLevel(newLevel: number); + get nextLoadLevel(): number; + set nextLoadLevel(level: number); + // (undocumented) + off(event: E, listener?: HlsListeners[E] | undefined, context?: Context, once?: boolean | undefined): void; + // (undocumented) + on(event: E, listener: HlsListeners[E], context?: Context): void; + // (undocumented) + once(event: E, listener: HlsListeners[E], context?: Context): void; + recoverMediaError(): void; + // (undocumented) + removeAllListeners(event?: E | undefined): void; + // (undocumented) + removeLevel(levelIndex: any, urlId?: number): void; + get startLevel(): number; + set startLevel(newLevel: number); + startLoad(startPosition?: number): void; + stopLoad(): void; + get subtitleDisplay(): boolean; + set subtitleDisplay(value: boolean); + get subtitleTrack(): number; + set subtitleTrack(subtitleTrackId: number); + get subtitleTracks(): Array; + swapAudioCodec(): void; + get targetLatency(): number | null; + // (undocumented) + trigger(event: E, eventObject: Parameters[1]): boolean; + // (undocumented) + readonly userConfig: Partial; + // (undocumented) + static get version(): string; +} + +export default Hls; + +// @public (undocumented) +export interface HlsChunkPerformanceTiming extends HlsPerformanceTiming { + // (undocumented) + executeEnd: number; + // (undocumented) + executeStart: number; +} + +// @public (undocumented) +export type HlsConfig = { + debug: boolean; + enableWorker: boolean; + enableSoftwareAES: boolean; + minAutoBitrate: number; + loader: { + new (confg: HlsConfig): Loader; + }; + xhrSetup?: (xhr: XMLHttpRequest, url: string) => void; + audioStreamController?: typeof AudioStreamController; + audioTrackController?: typeof AudioTrackController; + subtitleStreamController?: typeof SubtitleStreamController; + subtitleTrackController?: typeof SubtitleTrackController; + timelineController?: typeof TimelineController; + emeController?: typeof EMEController; + abrController: typeof AbrController; + bufferController: typeof BufferController; + capLevelController: typeof CapLevelController; + fpsController: typeof FPSController; + progressive: boolean; + lowLatencyMode: boolean; +} & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & FragmentLoaderConfig & LevelControllerConfig & MP4RemuxerConfig & PlaylistLoaderConfig & StreamControllerConfig & LatencyControllerConfig & TimelineControllerConfig & TSDemuxerConfig; + +// @public (undocumented) +export interface HlsEventEmitter { + // (undocumented) + emit(event: E, name: E, eventObject: Parameters[1]): boolean; + // (undocumented) + listenerCount(event: E): number; + // (undocumented) + listeners(event: E): HlsListeners[E][]; + // (undocumented) + off(event: E, listener?: HlsListeners[E], context?: Context, once?: boolean): void; + // (undocumented) + on(event: E, listener: HlsListeners[E], context?: Context): void; + // (undocumented) + once(event: E, listener: HlsListeners[E], context?: Context): void; + // (undocumented) + removeAllListeners(event?: E): void; +} + +// @public (undocumented) +export interface HlsListeners { + // (undocumented) + [Events.AUDIO_TRACK_LOADED]: (event: Events.AUDIO_TRACK_LOADED, data: AudioTrackLoadedData) => void; + // (undocumented) + [Events.AUDIO_TRACK_LOADING]: (event: Events.AUDIO_TRACK_LOADING, data: TrackLoadingData) => void; + // (undocumented) + [Events.AUDIO_TRACKS_UPDATED]: (event: Events.AUDIO_TRACKS_UPDATED, data: AudioTracksUpdatedData) => void; + // (undocumented) + [Events.AUDIO_TRACK_SWITCHED]: (event: Events.AUDIO_TRACK_SWITCHED, data: AudioTrackSwitchedData) => void; + // (undocumented) + [Events.AUDIO_TRACK_SWITCHING]: (event: Events.AUDIO_TRACK_SWITCHING, data: AudioTrackSwitchingData) => void; + // (undocumented) + [Events.BUFFER_APPENDED]: (event: Events.BUFFER_APPENDED, data: BufferAppendedData) => void; + // (undocumented) + [Events.BUFFER_APPENDING]: (event: Events.BUFFER_APPENDING, data: BufferAppendingData) => void; + // (undocumented) + [Events.BUFFER_CODECS]: (event: Events.BUFFER_CODECS, data: BufferCodecsData) => void; + // (undocumented) + [Events.BUFFER_CREATED]: (event: Events.BUFFER_CREATED, data: BufferCreatedData) => void; + // (undocumented) + [Events.BUFFER_EOS]: (event: Events.BUFFER_EOS, data: BufferEOSData) => void; + // (undocumented) + [Events.BUFFER_FLUSHED]: (event: Events.BUFFER_FLUSHED, data: BufferFlushedData) => void; + // (undocumented) + [Events.BUFFER_FLUSHING]: (event: Events.BUFFER_FLUSHING, data: BufferFlushingData) => void; + // (undocumented) + [Events.BUFFER_RESET]: (event: Events.BUFFER_RESET) => void; + // (undocumented) + [Events.CUES_PARSED]: (event: Events.CUES_PARSED, data: CuesParsedData) => void; + // (undocumented) + [Events.DESTROYING]: (event: Events.DESTROYING) => void; + // (undocumented) + [Events.ERROR]: (event: Events.ERROR, data: ErrorData) => void; + // (undocumented) + [Events.FPS_DROP]: (event: Events.FPS_DROP, data: FPSDropData) => void; + // (undocumented) + [Events.FPS_DROP_LEVEL_CAPPING]: (event: Events.FPS_DROP_LEVEL_CAPPING, data: FPSDropLevelCappingData) => void; + // (undocumented) + [Events.FRAG_BUFFERED]: (event: Events.FRAG_BUFFERED, data: FragBufferedData) => void; + // (undocumented) + [Events.FRAG_CHANGED]: (event: Events.FRAG_CHANGED, data: FragChangedData) => void; + // (undocumented) + [Events.FRAG_DECRYPTED]: (event: Events.FRAG_DECRYPTED, data: FragDecryptedData) => void; + // (undocumented) + [Events.FRAG_LOADED]: (event: Events.FRAG_LOADED, data: FragLoadedData) => void; + // (undocumented) + [Events.FRAG_LOAD_EMERGENCY_ABORTED]: (event: Events.FRAG_LOAD_EMERGENCY_ABORTED, data: FragLoadEmergencyAbortedData) => void; + // (undocumented) + [Events.FRAG_LOADING]: (event: Events.FRAG_LOADING, data: FragLoadingData) => void; + // (undocumented) + [Events.FRAG_PARSED]: (event: Events.FRAG_PARSED, data: FragParsedData) => void; + // (undocumented) + [Events.FRAG_PARSING_INIT_SEGMENT]: (event: Events.FRAG_PARSING_INIT_SEGMENT, data: FragParsingInitSegmentData) => void; + // (undocumented) + [Events.FRAG_PARSING_METADATA]: (event: Events.FRAG_PARSING_METADATA, data: FragParsingMetadataData) => void; + // (undocumented) + [Events.FRAG_PARSING_USERDATA]: (event: Events.FRAG_PARSING_USERDATA, data: FragParsingUserdataData) => void; + // (undocumented) + [Events.INIT_PTS_FOUND]: (event: Events.INIT_PTS_FOUND, data: InitPTSFoundData) => void; + // (undocumented) + [Events.KEY_LOADED]: (event: Events.KEY_LOADED, data: KeyLoadedData) => void; + // (undocumented) + [Events.KEY_LOADING]: (event: Events.KEY_LOADING, data: KeyLoadingData) => void; + // (undocumented) + [Events.LEVEL_LOADED]: (event: Events.LEVEL_LOADED, data: LevelLoadedData) => void; + // (undocumented) + [Events.LEVEL_LOADING]: (event: Events.LEVEL_LOADING, data: LevelLoadingData) => void; + // (undocumented) + [Events.LEVEL_PTS_UPDATED]: (event: Events.LEVEL_PTS_UPDATED, data: LevelPTSUpdatedData) => void; + // (undocumented) + [Events.LEVELS_UPDATED]: (event: Events.LEVELS_UPDATED, data: LevelsUpdatedData) => void; + // (undocumented) + [Events.LEVEL_SWITCHED]: (event: Events.LEVEL_SWITCHED, data: LevelSwitchedData) => void; + // (undocumented) + [Events.LEVEL_SWITCHING]: (event: Events.LEVEL_SWITCHING, data: LevelSwitchingData) => void; + // (undocumented) + [Events.LEVEL_UPDATED]: (event: Events.LEVEL_UPDATED, data: LevelUpdatedData) => void; + // (undocumented) + [Events.LIVE_BACK_BUFFER_REACHED]: (event: Events.LIVE_BACK_BUFFER_REACHED, data: LiveBackBufferData) => void; + // (undocumented) + [Events.MANIFEST_LOADED]: (event: Events.MANIFEST_LOADED, data: ManifestLoadedData) => void; + // (undocumented) + [Events.MANIFEST_LOADING]: (event: Events.MANIFEST_LOADING, data: ManifestLoadingData) => void; + // (undocumented) + [Events.MANIFEST_PARSED]: (event: Events.MANIFEST_PARSED, data: ManifestParsedData) => void; + // (undocumented) + [Events.MEDIA_ATTACHED]: (event: Events.MEDIA_ATTACHED, data: MediaAttachedData) => void; + // (undocumented) + [Events.MEDIA_ATTACHING]: (event: Events.MEDIA_ATTACHING, data: MediaAttachingData) => void; + // (undocumented) + [Events.MEDIA_DETACHED]: (event: Events.MEDIA_DETACHED) => void; + // (undocumented) + [Events.MEDIA_DETACHING]: (event: Events.MEDIA_DETACHING) => void; + // (undocumented) + [Events.NON_NATIVE_TEXT_TRACKS_FOUND]: (event: Events.NON_NATIVE_TEXT_TRACKS_FOUND, data: NonNativeTextTracksData) => void; + // (undocumented) + [Events.SUBTITLE_FRAG_PROCESSED]: (event: Events.SUBTITLE_FRAG_PROCESSED, data: SubtitleFragProcessedData) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_LOADED]: (event: Events.SUBTITLE_TRACK_LOADED, data: SubtitleTrackLoadedData) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_LOADING]: (event: Events.SUBTITLE_TRACK_LOADING, data: TrackLoadingData) => void; + // (undocumented) + [Events.SUBTITLE_TRACKS_CLEARED]: (event: Events.SUBTITLE_TRACKS_CLEARED) => void; + // (undocumented) + [Events.SUBTITLE_TRACKS_UPDATED]: (event: Events.SUBTITLE_TRACKS_UPDATED, data: SubtitleTracksUpdatedData) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_SWITCH]: (event: Events.SUBTITLE_TRACK_SWITCH, data: SubtitleTrackSwitchData) => void; +} + +// @public (undocumented) +export interface HlsPerformanceTiming { + // (undocumented) + end: number; + // (undocumented) + start: number; +} + +// @public (undocumented) +export interface HlsProgressivePerformanceTiming extends HlsPerformanceTiming { + // (undocumented) + first: number; +} + +// @public (undocumented) +export enum HlsSkip { + // (undocumented) + No = "", + // (undocumented) + v2 = "v2", + // (undocumented) + Yes = "YES" +} + +// @public (undocumented) +export class HlsUrlParameters { + constructor(msn: number, part?: number, skip?: HlsSkip); + // (undocumented) + addDirectives(uri: string): string | never; + // (undocumented) + msn: number; + // (undocumented) + part?: number; + // (undocumented) + skip?: HlsSkip; +} + +// @public (undocumented) +export interface InitPTSFoundData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + initPTS: number; + // (undocumented) + timescale: number; +} + +// @public (undocumented) +export interface KeyLoadedData { + // (undocumented) + frag: Fragment; +} + +// @public (undocumented) +export interface KeyLoadingData { + // (undocumented) + frag: Fragment; +} + +// @public (undocumented) +export enum KeySystems { + // (undocumented) + PLAYREADY = "com.microsoft.playready", + // (undocumented) + WIDEVINE = "com.widevine.alpha" +} + +// @public (undocumented) +export type LatencyControllerConfig = { + liveSyncDurationCount: number; + liveMaxLatencyDurationCount: number; + liveSyncDuration?: number; + liveMaxLatencyDuration?: number; + maxLiveSyncPlaybackRate: number; +}; + +// @public (undocumented) +export class Level { + constructor(data: LevelParsed); + // (undocumented) + readonly attrs: LevelAttributes; + // (undocumented) + readonly audioCodec: string | undefined; + // (undocumented) + audioGroupIds?: string[]; + // (undocumented) + readonly bitrate: number; + // (undocumented) + readonly codecSet: string; + // (undocumented) + details?: LevelDetails; + // (undocumented) + fragmentError: number; + // (undocumented) + readonly height: number; + // (undocumented) + readonly id: number; + // (undocumented) + loaded?: { + bytes: number; + duration: number; + }; + // (undocumented) + loadError: number; + // (undocumented) + get maxBitrate(): number; + // (undocumented) + readonly name: string | undefined; + // (undocumented) + realBitrate: number; + // (undocumented) + textGroupIds?: string[]; + // (undocumented) + readonly unknownCodecs: string[] | undefined; + // (undocumented) + get uri(): string; + // (undocumented) + url: string[]; + // (undocumented) + get urlId(): number; + set urlId(value: number); + // (undocumented) + readonly videoCodec: string | undefined; + // (undocumented) + readonly width: number; +} + +// @public (undocumented) +export interface LevelAttributes extends AttrList { + // (undocumented) + 'AVERAGE-BANDWIDTH'?: string; + // (undocumented) + 'CLOSED-CAPTIONS'?: string; + // (undocumented) + 'FRAME-RATE'?: string; + // (undocumented) + 'PROGRAM-ID'?: string; + // (undocumented) + AUDIO?: string; + // (undocumented) + AUTOSELECT?: string; + // (undocumented) + BANDWIDTH?: string; + // (undocumented) + BYTERANGE?: string; + // (undocumented) + CODECS?: string; + // (undocumented) + DEFAULT?: string; + // (undocumented) + FORCED?: string; + // (undocumented) + LANGUAGE?: string; + // (undocumented) + NAME?: string; + // (undocumented) + RESOLUTION?: string; + // (undocumented) + SUBTITLES?: string; + // (undocumented) + TYPE?: string; + // (undocumented) + URI?: string; +} + +// @public (undocumented) +export type LevelControllerConfig = { + startLevel?: number; +}; + +// @public (undocumented) +export class LevelDetails { + constructor(baseUrl: any); + // (undocumented) + advanced: boolean; + // (undocumented) + advancedDateTime?: number; + // (undocumented) + get age(): number; + // (undocumented) + ageHeader: number; + // (undocumented) + alignedSliding: boolean; + // (undocumented) + availabilityDelay?: number; + // (undocumented) + averagetargetduration?: number; + // (undocumented) + canBlockReload: boolean; + // (undocumented) + canSkipDateRanges: boolean; + // (undocumented) + canSkipUntil: number; + // (undocumented) + deltaUpdateFailed?: boolean; + // (undocumented) + get edge(): number; + // (undocumented) + endCC: number; + // (undocumented) + endSN: number; + // (undocumented) + get fragmentEnd(): number; + // (undocumented) + fragmentHint?: Fragment; + // (undocumented) + fragments: Fragment[]; + // (undocumented) + get hasProgramDateTime(): boolean; + // (undocumented) + holdBack: number; + // (undocumented) + initSegment: Fragment | null; + // (undocumented) + get lastPartIndex(): number; + // (undocumented) + get lastPartSn(): number; + // (undocumented) + get levelTargetDuration(): number; + // (undocumented) + live: boolean; + // (undocumented) + m3u8: string; + // (undocumented) + misses: number; + // (undocumented) + needSidxRanges: boolean; + // (undocumented) + get partEnd(): number; + // (undocumented) + partHoldBack: number; + // (undocumented) + partList: Part[] | null; + // (undocumented) + partTarget: number; + // (undocumented) + preloadHint?: AttrList; + // (undocumented) + PTSKnown: boolean; + // (undocumented) + recentlyRemovedDateranges?: string[]; + // (undocumented) + reloaded(previous: LevelDetails | undefined): void; + // (undocumented) + renditionReports?: AttrList[]; + // (undocumented) + skippedSegments: number; + // (undocumented) + startCC: number; + // (undocumented) + startSN: number; + // (undocumented) + startTimeOffset: number | null; + // (undocumented) + targetduration: number; + // (undocumented) + totalduration: number; + // (undocumented) + tuneInGoal: number; + // (undocumented) + type: string | null; + // (undocumented) + updated: boolean; + // (undocumented) + url: string; + // (undocumented) + version: number | null; +} + +// @public (undocumented) +export class LevelKey { + // (undocumented) + static fromURI(uri: string): LevelKey; + // (undocumented) + static fromURL(baseUrl: string, relativeUrl: string): LevelKey; + // (undocumented) + iv: Uint8Array | null; + // (undocumented) + key: Uint8Array | null; + // (undocumented) + keyFormat: string | null; + // (undocumented) + keyFormatVersions: string | null; + // (undocumented) + keyID: string | null; + // (undocumented) + method: string | null; + // (undocumented) + get uri(): string | null; + } + +// @public (undocumented) +export interface LevelLoadedData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + details: LevelDetails; + // (undocumented) + id: number; + // (undocumented) + level: number; + // (undocumented) + networkDetails: any; + // (undocumented) + stats: LoaderStats; +} + +// @public (undocumented) +export interface LevelLoadingData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + id: number; + // (undocumented) + level: number; + // (undocumented) + url: string; +} + +// @public (undocumented) +export interface LevelParsed { + // (undocumented) + attrs: LevelAttributes; + // (undocumented) + audioCodec?: string; + // (undocumented) + bitrate: number; + // (undocumented) + details?: LevelDetails; + // (undocumented) + height?: number; + // (undocumented) + id?: number; + // (undocumented) + level?: number; + // (undocumented) + name: string; + // (undocumented) + textCodec?: string; + // (undocumented) + unknownCodecs?: string[]; + // (undocumented) + url: string; + // (undocumented) + videoCodec?: string; + // (undocumented) + width?: number; +} + +// @public (undocumented) +export interface LevelPTSUpdatedData { + // (undocumented) + details: LevelDetails; + // (undocumented) + drift: number; + // (undocumented) + end: number; + // (undocumented) + frag: Fragment; + // (undocumented) + level: Level; + // (undocumented) + start: number; + // (undocumented) + type: string; +} + +// @public (undocumented) +export interface LevelsUpdatedData { + // (undocumented) + levels: Array; +} + +// @public (undocumented) +export interface LevelSwitchedData { + // (undocumented) + level: number; +} + +// @public (undocumented) +export interface LevelSwitchingData extends Omit { + // (undocumented) + level: number; +} + +// @public (undocumented) +export interface LevelUpdatedData { + // (undocumented) + details: LevelDetails; + // (undocumented) + level: number; +} + +// @public (undocumented) +export interface LiveBackBufferData { + // (undocumented) + bufferEnd: number; +} + +// @public (undocumented) +export interface Loader { + // (undocumented) + abort(): void; + // (undocumented) + context: T; + // (undocumented) + destroy(): void; + // (undocumented) + getResponseHeader(name: string): string | null; + // (undocumented) + load(context: LoaderContext, config: LoaderConfiguration, callbacks: LoaderCallbacks): void; + // (undocumented) + loader: any; + // (undocumented) + stats: LoaderStats; +} + +// @public (undocumented) +export interface LoaderCallbacks { + // (undocumented) + onAbort?: LoaderOnAbort; + // (undocumented) + onError: LoaderOnError; + // (undocumented) + onProgress?: LoaderOnProgress; + // (undocumented) + onSuccess: LoaderOnSuccess; + // (undocumented) + onTimeout: LoaderOnTimeout; +} + +// @public (undocumented) +export interface LoaderConfiguration { + // (undocumented) + highWaterMark: number; + // (undocumented) + maxRetry: number; + // (undocumented) + maxRetryDelay: number; + // (undocumented) + retryDelay: number; + // (undocumented) + timeout: number; +} + +// @public (undocumented) +export interface LoaderContext { + // (undocumented) + progressData?: boolean; + // (undocumented) + rangeEnd?: number; + // (undocumented) + rangeStart?: number; + // (undocumented) + responseType: string; + // (undocumented) + url: string; +} + +// @public (undocumented) +export type LoaderOnAbort = (stats: LoaderStats, context: T, networkDetails: any) => void; + +// @public (undocumented) +export type LoaderOnError = (error: { + code: number; + text: string; +}, context: T, networkDetails: any) => void; + +// @public (undocumented) +export type LoaderOnProgress = (stats: LoaderStats, context: T, data: string | ArrayBuffer, networkDetails: any) => void; + +// @public (undocumented) +export type LoaderOnSuccess = (response: LoaderResponse, stats: LoaderStats, context: T, networkDetails: any) => void; + +// @public (undocumented) +export type LoaderOnTimeout = (stats: LoaderStats, context: T, networkDetails: any) => void; + +// @public (undocumented) +export interface LoaderResponse { + // (undocumented) + data: string | ArrayBuffer; + // (undocumented) + url: string; +} + +// @public (undocumented) +export interface LoaderStats { + // (undocumented) + aborted: boolean; + // (undocumented) + buffering: HlsProgressivePerformanceTiming; + // (undocumented) + bwEstimate: number; + // (undocumented) + chunkCount: number; + // (undocumented) + loaded: number; + // (undocumented) + loading: HlsProgressivePerformanceTiming; + // (undocumented) + parsing: HlsPerformanceTiming; + // (undocumented) + retry: number; + // (undocumented) + total: number; +} + +// @public (undocumented) +export class LoadStats implements LoaderStats { + // (undocumented) + aborted: boolean; + // (undocumented) + buffering: HlsProgressivePerformanceTiming; + // (undocumented) + bwEstimate: number; + // (undocumented) + chunkCount: number; + // (undocumented) + loaded: number; + // (undocumented) + loading: HlsProgressivePerformanceTiming; + // (undocumented) + parsing: HlsPerformanceTiming; + // (undocumented) + retry: number; + // (undocumented) + total: number; +} + +// @public (undocumented) +export type MainPlaylistType = AudioPlaylistType | 'VIDEO'; + +// @public (undocumented) +export interface ManifestLoadedData { + // (undocumented) + audioTracks: MediaPlaylist[]; + // (undocumented) + captions?: MediaPlaylist[]; + // (undocumented) + levels: LevelParsed[]; + // (undocumented) + networkDetails: any; + // (undocumented) + sessionData: Record | null; + // (undocumented) + stats: LoaderStats; + // (undocumented) + subtitles?: MediaPlaylist[]; + // (undocumented) + url: string; +} + +// @public (undocumented) +export interface ManifestLoadingData { + // (undocumented) + url: string; +} + +// @public (undocumented) +export interface ManifestParsedData { + // (undocumented) + altAudio: boolean; + // (undocumented) + audio: boolean; + // (undocumented) + audioTracks: MediaPlaylist[]; + // (undocumented) + firstLevel: number; + // (undocumented) + levels: Level[]; + // (undocumented) + stats: LoaderStats; + // (undocumented) + subtitleTracks: MediaPlaylist[]; + // (undocumented) + video: boolean; +} + +// @public (undocumented) +export interface MediaAttachedData { + // (undocumented) + media: HTMLMediaElement; +} + +// @public (undocumented) +export interface MediaAttachingData { + // (undocumented) + media: HTMLMediaElement; +} + +// @public (undocumented) +export type MediaKeyFunc = (keySystem: KeySystems, supportedConfigurations: MediaKeySystemConfiguration[]) => Promise; + +// @public (undocumented) +export interface MediaPlaylist extends LevelParsed { + // (undocumented) + autoselect: boolean; + // (undocumented) + default: boolean; + // (undocumented) + forced: boolean; + // (undocumented) + groupId?: string; + // (undocumented) + id: number; + // (undocumented) + instreamId?: string; + // (undocumented) + lang?: string; + // (undocumented) + name: string; + // (undocumented) + type: MediaPlaylistType | 'main'; +} + +// @public (undocumented) +export type MediaPlaylistType = MainPlaylistType | SubtitlePlaylistType; + +// @public (undocumented) +export interface MetadataSample { + // (undocumented) + data: Uint8Array; + // (undocumented) + dts: number; + // (undocumented) + len?: number; + // (undocumented) + pts: number; +} + +// @public (undocumented) +export type MP4RemuxerConfig = { + stretchShortVideoTrack: boolean; + maxAudioFramesDrift: number; +}; + +// @public (undocumented) +export interface NonNativeTextTrack { + // (undocumented) + closedCaptions?: MediaPlaylist; + // (undocumented) + default: boolean; + // (undocumented) + _id?: string; + // (undocumented) + kind: string; + // (undocumented) + label: any; + // (undocumented) + subtitleTrack?: MediaPlaylist; +} + +// @public (undocumented) +export interface NonNativeTextTracksData { + // (undocumented) + tracks: Array; +} + +// @public (undocumented) +export class Part extends BaseSegment { + constructor(partAttrs: AttrList, frag: Fragment, baseurl: string, index: number, previous?: Part); + // (undocumented) + readonly duration: number; + // (undocumented) + get end(): number; + // (undocumented) + readonly fragment: Fragment; + // (undocumented) + readonly fragOffset: number; + // (undocumented) + readonly gap: boolean; + // (undocumented) + readonly independent: boolean; + // (undocumented) + readonly index: number; + // (undocumented) + get loaded(): boolean; + // (undocumented) + readonly relurl: string; + // (undocumented) + get start(): number; + // (undocumented) + stats: LoadStats; +} + +// @public (undocumented) +export enum PlaylistContextType { + // (undocumented) + AUDIO_TRACK = "audioTrack", + // (undocumented) + LEVEL = "level", + // (undocumented) + MANIFEST = "manifest", + // (undocumented) + SUBTITLE_TRACK = "subtitleTrack" +} + +// @public (undocumented) +export enum PlaylistLevelType { + // (undocumented) + AUDIO = "audio", + // (undocumented) + MAIN = "main", + // (undocumented) + SUBTITLE = "subtitle" +} + +// @public (undocumented) +export type PlaylistLoaderConfig = { + pLoader?: { + new (confg: HlsConfig): Loader; + }; + manifestLoadingTimeOut: number; + manifestLoadingMaxRetry: number; + manifestLoadingRetryDelay: number; + manifestLoadingMaxRetryTimeout: number; + levelLoadingTimeOut: number; + levelLoadingMaxRetry: number; + levelLoadingRetryDelay: number; + levelLoadingMaxRetryTimeout: number; +}; + +// @public (undocumented) +export interface PlaylistLoaderContext extends LoaderContext { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + groupId: string | null; + // (undocumented) + id: number | null; + // (undocumented) + isSidxRequest?: boolean; + // (undocumented) + level: number | null; + // (undocumented) + levelDetails?: LevelDetails; + // (undocumented) + loader?: Loader; + // (undocumented) + type: PlaylistContextType; +} + +// @public (undocumented) +export type SourceBufferName = 'video' | 'audio' | 'audiovideo'; + +// @public (undocumented) +export type StreamControllerConfig = { + autoStartLoad: boolean; + startPosition: number; + defaultAudioCodec?: string; + initialLiveManifestSize: number; + maxBufferLength: number; + maxBufferSize: number; + maxBufferHole: number; + highBufferWatchdogPeriod: number; + nudgeOffset: number; + nudgeMaxRetry: number; + maxFragLookUpTolerance: number; + maxMaxBufferLength: number; + startFragPrefetch: boolean; + testBandwidth: boolean; +}; + +// @public (undocumented) +export interface SubtitleFragProcessedData { + // (undocumented) + error?: Error; + // (undocumented) + frag: Fragment; + // (undocumented) + success: boolean; +} + +// @public (undocumented) +export type SubtitlePlaylistType = 'SUBTITLES' | 'CLOSED-CAPTIONS'; + +// @public (undocumented) +export interface SubtitleTrackLoadedData extends TrackLoadedData { +} + +// @public (undocumented) +export interface SubtitleTracksUpdatedData { + // (undocumented) + subtitleTracks: MediaPlaylist[]; +} + +// @public (undocumented) +export interface SubtitleTrackSwitchData { + // (undocumented) + id: number; + // (undocumented) + type?: MediaPlaylistType | 'main'; + // (undocumented) + url?: string; +} + +// @public (undocumented) +export type TimelineControllerConfig = { + cueHandler: CuesInterface; + enableCEA708Captions: boolean; + enableWebVTT: boolean; + enableIMSC1: boolean; + captionsTextTrack1Label: string; + captionsTextTrack1LanguageCode: string; + captionsTextTrack2Label: string; + captionsTextTrack2LanguageCode: string; + captionsTextTrack3Label: string; + captionsTextTrack3LanguageCode: string; + captionsTextTrack4Label: string; + captionsTextTrack4LanguageCode: string; + renderTextTracksNatively: boolean; +}; + +// @public (undocumented) +export interface Track { + // (undocumented) + buffer?: SourceBuffer; + // (undocumented) + codec?: string; + // (undocumented) + container: string; + // (undocumented) + id: 'audio' | 'main'; + // (undocumented) + initSegment?: Uint8Array; + // (undocumented) + levelCodec?: string; + // (undocumented) + metadata?: any; +} + +// @public (undocumented) +export interface TrackLoadedData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + details: LevelDetails; + // (undocumented) + groupId: string; + // (undocumented) + id: number; + // (undocumented) + networkDetails: any; + // (undocumented) + stats: LoaderStats; +} + +// @public (undocumented) +export interface TrackLoadingData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + groupId: string; + // (undocumented) + id: number; + // (undocumented) + url: string; +} + +// @public (undocumented) +export interface TrackSet { + // (undocumented) + audio?: Track; + // (undocumented) + audiovideo?: Track; + // (undocumented) + video?: Track; +} + +// @public (undocumented) +export type TSDemuxerConfig = { + forceKeyFrameOnDiscontinuity: boolean; +}; + +// @public (undocumented) +export interface UserdataSample { + // (undocumented) + bytes: Uint8Array; + // (undocumented) + pts: number; +} + + +// Warnings were encountered during analysis: +// +// src/config.ts:153:3 - (ae-forgotten-export) The symbol "AudioStreamController" needs to be exported by the entry point hls.d.ts +// src/config.ts:154:3 - (ae-forgotten-export) The symbol "AudioTrackController" needs to be exported by the entry point hls.d.ts +// src/config.ts:156:3 - (ae-forgotten-export) The symbol "SubtitleStreamController" needs to be exported by the entry point hls.d.ts +// src/config.ts:157:3 - (ae-forgotten-export) The symbol "SubtitleTrackController" needs to be exported by the entry point hls.d.ts +// src/config.ts:158:3 - (ae-forgotten-export) The symbol "TimelineController" needs to be exported by the entry point hls.d.ts +// src/config.ts:160:3 - (ae-forgotten-export) The symbol "EMEController" needs to be exported by the entry point hls.d.ts +// src/config.ts:162:3 - (ae-forgotten-export) The symbol "AbrController" needs to be exported by the entry point hls.d.ts +// src/config.ts:163:3 - (ae-forgotten-export) The symbol "BufferController" needs to be exported by the entry point hls.d.ts +// src/config.ts:164:3 - (ae-forgotten-export) The symbol "CapLevelController" needs to be exported by the entry point hls.d.ts +// src/config.ts:165:3 - (ae-forgotten-export) The symbol "FPSController" needs to be exported by the entry point hls.d.ts + +// (No @packageDocumentation comment for this package) + +``` diff --git a/package-lock.json b/package-lock.json index 35cabe33f78..3fd6a951497 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4523,6 +4523,64 @@ "@types/yargs": "^13.0.0" } }, + "@microsoft/api-extractor": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.13.1.tgz", + "integrity": "sha512-mnWb5Vuyn/JnjC359HfsRmLDM4/vzyKcJuxQr5Cg/apbkMHuTB1hQrqA8zBda4N+MJZ5ET2BPsrKaUX1qhz8jw==", + "dev": true, + "requires": { + "@microsoft/api-extractor-model": "7.12.2", + "@microsoft/tsdoc": "0.12.24", + "@rushstack/node-core-library": "3.36.0", + "@rushstack/rig-package": "0.2.9", + "@rushstack/ts-command-line": "4.7.8", + "colors": "~1.2.1", + "lodash": "~4.17.15", + "resolve": "~1.17.0", + "semver": "~7.3.0", + "source-map": "~0.6.1", + "typescript": "~4.1.3" + }, + "dependencies": { + "colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@microsoft/api-extractor-model": { + "version": "7.12.2", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.12.2.tgz", + "integrity": "sha512-EU+U09Mj65zUH0qwPF4PFJiL6Y+PQQE/RRGEHEDGJJzab/mRQDpKOyrzSdb00xvcd/URehIHJqC55cY2Y4jGOA==", + "dev": true, + "requires": { + "@microsoft/tsdoc": "0.12.24", + "@rushstack/node-core-library": "3.36.0" + } + }, + "@microsoft/tsdoc": { + "version": "0.12.24", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz", + "integrity": "sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg==", + "dev": true + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -6949,6 +7007,111 @@ } } }, + "@rushstack/node-core-library": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.36.0.tgz", + "integrity": "sha512-bID2vzXpg8zweXdXgQkKToEdZwVrVCN9vE9viTRk58gqzYaTlz4fMId6V3ZfpXN6H0d319uGi2KDlm+lUEeqCg==", + "dev": true, + "requires": { + "@types/node": "10.17.13", + "colors": "~1.2.1", + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.17.0", + "semver": "~7.3.0", + "timsort": "~0.3.0", + "z-schema": "~3.18.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz", + "integrity": "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==", + "dev": true + }, + "colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "dev": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "@rushstack/rig-package": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.9.tgz", + "integrity": "sha512-4tqsZ/m+BjeNAGeAJYzPF53CT96TsAYeZ3Pq3T4tb1pGGM3d3TWfkmALZdKNhpRlAeShKUrb/o/f/0sAuK/1VQ==", + "dev": true, + "requires": { + "@types/node": "10.17.13", + "resolve": "~1.17.0", + "strip-json-comments": "~3.1.1" + }, + "dependencies": { + "@types/node": { + "version": "10.17.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz", + "integrity": "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "@rushstack/ts-command-line": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz", + "integrity": "sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA==", + "dev": true, + "requires": { + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "colors": "~1.2.1", + "string-argv": "~0.3.1" + }, + "dependencies": { + "colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "dev": true + } + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -7047,6 +7210,12 @@ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true }, + "@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "dev": true + }, "@types/chai": { "version": "4.2.14", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz", @@ -15964,6 +16133,12 @@ } } }, + "jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", + "dev": true + }, "jmespath": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", @@ -17021,6 +17196,12 @@ "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=", "dev": true }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, "lodash.islength": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.islength/-/lodash.islength-4.0.1.tgz", @@ -22761,6 +22942,12 @@ "setimmediate": "^1.0.4" } }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -23506,6 +23693,12 @@ "builtins": "^1.0.3" } }, + "validator": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz", + "integrity": "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==", + "dev": true + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -25371,6 +25564,18 @@ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true }, + "z-schema": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz", + "integrity": "sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==", + "dev": true, + "requires": { + "commander": "^2.7.1", + "lodash.get": "^4.0.0", + "lodash.isequal": "^4.0.0", + "validator": "^8.0.0" + } + }, "zip-stream": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-3.0.1.tgz", diff --git a/package.json b/package.json index f9a53f5a53b..13496098b2d 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/video-dev/hls.js/issues" }, "main": "./dist/hls.js", - "types": "./dist/src/hls.d.ts", + "types": "./dist/hls.js.d.ts", "files": [ "dist/**/*", "src/**/*" @@ -30,7 +30,7 @@ "build:ci": "webpack", "build:debug": "webpack --progress --env debug --env demo", "build:watch": "webpack --progress --env debug --env demo --watch", - "build:types": "tsc --emitDeclarationOnly", + "build:types": "tsc --build tsconfig-lib.json && api-extractor run", "dev": "webpack serve --progress --env debug --env demo --port 8000", "docs": "esdoc", "lint": "eslint src/ tests/ --ext .js --ext .ts", @@ -69,6 +69,7 @@ "@itsjamie/esdoc-ecmascript-proposal-plugin": "^0.3.1", "@itsjamie/esdoc-standard-plugin": "^0.3.1", "@itsjamie/esdoc-typescript-plugin": "^0.3.1", + "@microsoft/api-extractor": "^7.13.1", "@types/chai": "^4.2.14", "@types/chart.js": "^2.9.29", "@types/mocha": "^8.2.0", diff --git a/src/config.ts b/src/config.ts index 34836132bcd..f93033bf5ac 100644 --- a/src/config.ts +++ b/src/config.ts @@ -10,7 +10,7 @@ import FPSController from './controller/fps-controller'; import EMEController from './controller/eme-controller'; import XhrLoader from './utils/xhr-loader'; import FetchLoader, { fetchSupported } from './utils/fetch-loader'; -import * as Cues from './utils/cues'; +import { CuesInterface, newCue } from './utils/cues'; import { requestMediaKeySystemAccess } from './utils/mediakeys-helper'; import { logger } from './utils/logger'; @@ -22,7 +22,7 @@ import type { PlaylistLoaderContext, } from './types/loader'; -type ABRControllerConfig = { +export type ABRControllerConfig = { abrEwmaFastLive: number; abrEwmaSlowLive: number; abrEwmaFastVoD: number; @@ -41,7 +41,7 @@ export type BufferControllerConfig = { liveBackBufferLength: number; }; -type CapLevelControllerConfig = { +export type CapLevelControllerConfig = { capLevelToPlayerSize: boolean; }; @@ -58,7 +58,7 @@ export type EMEControllerConfig = { requestMediaKeySystemAccessFunc: MediaKeyFunc | null; }; -type FragmentLoaderConfig = { +export type FragmentLoaderConfig = { fLoader?: { new (confg: HlsConfig): Loader }; fragLoadingTimeOut: number; @@ -67,13 +67,13 @@ type FragmentLoaderConfig = { fragLoadingMaxRetryTimeout: number; }; -type FPSControllerConfig = { +export type FPSControllerConfig = { capLevelOnFPSDrop: boolean; fpsDroppedMonitoringPeriod: number; fpsDroppedMonitoringThreshold: number; }; -type LevelControllerConfig = { +export type LevelControllerConfig = { startLevel?: number; }; @@ -82,7 +82,7 @@ export type MP4RemuxerConfig = { maxAudioFramesDrift: number; }; -type PlaylistLoaderConfig = { +export type PlaylistLoaderConfig = { pLoader?: { new (confg: HlsConfig): Loader }; manifestLoadingTimeOut: number; @@ -96,7 +96,7 @@ type PlaylistLoaderConfig = { levelLoadingMaxRetryTimeout: number; }; -type StreamControllerConfig = { +export type StreamControllerConfig = { autoStartLoad: boolean; startPosition: number; defaultAudioCodec?: string; @@ -113,7 +113,7 @@ type StreamControllerConfig = { testBandwidth: boolean; }; -type LatencyControllerConfig = { +export type LatencyControllerConfig = { liveSyncDurationCount: number; liveMaxLatencyDurationCount: number; liveSyncDuration?: number; @@ -121,8 +121,8 @@ type LatencyControllerConfig = { maxLiveSyncPlaybackRate: number; }; -type TimelineControllerConfig = { - cueHandler: Cues.CuesInterface; +export type TimelineControllerConfig = { + cueHandler: CuesInterface; enableCEA708Captions: boolean; enableWebVTT: boolean; enableIMSC1: boolean; @@ -137,7 +137,7 @@ type TimelineControllerConfig = { renderTextTracksNatively: boolean; }; -type TSDemuxerConfig = { +export type TSDemuxerConfig = { forceKeyFrameOnDiscontinuity: boolean; }; @@ -272,7 +272,7 @@ export const hlsDefaultConfig: HlsConfig = { function timelineConfig(): TimelineControllerConfig { return { - cueHandler: Cues, // used by timeline-controller + cueHandler: { newCue }, // used by timeline-controller enableCEA708Captions: __USE_SUBTITLES__, // used by timeline-controller enableWebVTT: __USE_SUBTITLES__, // used by timeline-controller enableIMSC1: __USE_SUBTITLES__, // used by timeline-controller diff --git a/src/controller/abr-controller.ts b/src/controller/abr-controller.ts index d9d0ffd77cc..1cf74502a3c 100644 --- a/src/controller/abr-controller.ts +++ b/src/controller/abr-controller.ts @@ -5,7 +5,7 @@ import { ErrorDetails } from '../errors'; import { PlaylistLevelType } from '../types/loader'; import { logger } from '../utils/logger'; import type { Bufferable } from '../utils/buffer-helper'; -import type Fragment from '../loader/fragment'; +import type { Fragment } from '../loader/fragment'; import type { Part } from '../loader/fragment'; import type { LoaderStats } from '../types/loader'; import type Hls from '../hls'; diff --git a/src/controller/audio-stream-controller.ts b/src/controller/audio-stream-controller.ts index 2971416b64b..96b2aa6d4d2 100644 --- a/src/controller/audio-stream-controller.ts +++ b/src/controller/audio-stream-controller.ts @@ -6,7 +6,7 @@ import type { FragmentTracker } from './fragment-tracker'; import { FragmentState } from './fragment-tracker'; import { Level } from '../types/level'; import { PlaylistLevelType } from '../types/loader'; -import Fragment, { ElementaryStreamTypes, Part } from '../loader/fragment'; +import { Fragment, ElementaryStreamTypes, Part } from '../loader/fragment'; import FragmentLoader from '../loader/fragment-loader'; import ChunkCache from '../demux/chunk-cache'; import TransmuxerInterface from '../demux/transmuxer-interface'; @@ -18,7 +18,7 @@ import { MAX_START_GAP_JUMP } from './gap-controller'; import { ErrorDetails } from '../errors'; import { logger } from '../utils/logger'; import type Hls from '../hls'; -import type LevelDetails from '../loader/level-details'; +import type { LevelDetails } from '../loader/level-details'; import type { TrackSet } from '../types/track'; import type { BufferCreatedData, diff --git a/src/controller/base-playlist-controller.ts b/src/controller/base-playlist-controller.ts index 4b40d4661a3..5cf0baa2a9a 100644 --- a/src/controller/base-playlist-controller.ts +++ b/src/controller/base-playlist-controller.ts @@ -3,7 +3,7 @@ import type { NetworkComponentAPI } from '../types/component-api'; import { getSkipValue, HlsSkip, HlsUrlParameters } from '../types/level'; import { computeReloadInterval } from './level-helper'; import { logger } from '../utils/logger'; -import type LevelDetails from '../loader/level-details'; +import type { LevelDetails } from '../loader/level-details'; import type { MediaPlaylist } from '../types/media-playlist'; import type { AudioTrackLoadedData, diff --git a/src/controller/base-stream-controller.ts b/src/controller/base-stream-controller.ts index 50cd2b1abb6..d0fde54a7f9 100644 --- a/src/controller/base-stream-controller.ts +++ b/src/controller/base-stream-controller.ts @@ -14,12 +14,12 @@ import { findFragWithCC, } from './fragment-finders'; import TransmuxerInterface from '../demux/transmuxer-interface'; -import Fragment, { Part } from '../loader/fragment'; +import { Fragment, Part } from '../loader/fragment'; import FragmentLoader, { FragmentLoadProgressCallback, LoadError, } from '../loader/fragment-loader'; -import LevelDetails from '../loader/level-details'; +import { LevelDetails } from '../loader/level-details'; import { BufferAppendingData, ErrorData, diff --git a/src/controller/buffer-controller.ts b/src/controller/buffer-controller.ts index b3899fe7b57..fac644091c4 100644 --- a/src/controller/buffer-controller.ts +++ b/src/controller/buffer-controller.ts @@ -25,7 +25,7 @@ import type { } from '../types/events'; import type { ComponentAPI } from '../types/component-api'; import type Hls from '../hls'; -import LevelDetails from '../loader/level-details'; +import { LevelDetails } from '../loader/level-details'; const MediaSource = getMediaSource(); const VIDEO_CODEC_PROFILE_REPACE = /([ha]vc.)(?:\.[^.,]+)+/; diff --git a/src/controller/fragment-finders.ts b/src/controller/fragment-finders.ts index da63f2456fa..e933716273a 100644 --- a/src/controller/fragment-finders.ts +++ b/src/controller/fragment-finders.ts @@ -1,5 +1,5 @@ import BinarySearch from '../utils/binary-search'; -import Fragment from '../loader/fragment'; +import { Fragment } from '../loader/fragment'; /** * Returns first fragment whose endPdt value exceeds the given PDT. diff --git a/src/controller/fragment-tracker.ts b/src/controller/fragment-tracker.ts index 2eae19e8bfb..55ad89ec37b 100644 --- a/src/controller/fragment-tracker.ts +++ b/src/controller/fragment-tracker.ts @@ -1,5 +1,5 @@ import { Events } from '../events'; -import Fragment, { Part } from '../loader/fragment'; +import { Fragment, Part } from '../loader/fragment'; import type { SourceBufferName } from '../types/buffer'; import type { FragmentBufferedRange, diff --git a/src/controller/gap-controller.ts b/src/controller/gap-controller.ts index d0a69e5ddac..a116bc1f76e 100644 --- a/src/controller/gap-controller.ts +++ b/src/controller/gap-controller.ts @@ -6,7 +6,7 @@ import { logger } from '../utils/logger'; import type Hls from '../hls'; import type { HlsConfig } from '../config'; import type { FragmentTracker } from './fragment-tracker'; -import Fragment from '../loader/fragment'; +import { Fragment } from '../loader/fragment'; export const STALL_MINIMUM_DURATION_MS = 250; export const MAX_START_GAP_JUMP = 2.0; diff --git a/src/controller/latency-controller.ts b/src/controller/latency-controller.ts index 991e4601226..9295a4c7f66 100644 --- a/src/controller/latency-controller.ts +++ b/src/controller/latency-controller.ts @@ -1,4 +1,4 @@ -import LevelDetails from '../loader/level-details'; +import { LevelDetails } from '../loader/level-details'; import { ErrorDetails } from '../errors'; import { Events } from '../events'; import type { diff --git a/src/controller/level-helper.ts b/src/controller/level-helper.ts index 01468eaaa33..ca20c0c059b 100644 --- a/src/controller/level-helper.ts +++ b/src/controller/level-helper.ts @@ -4,8 +4,8 @@ * */ import { logger } from '../utils/logger'; -import Fragment, { Part } from '../loader/fragment'; -import LevelDetails from '../loader/level-details'; +import { Fragment, Part } from '../loader/fragment'; +import { LevelDetails } from '../loader/level-details'; import type { Level } from '../types/level'; import type { LoaderStats } from '../types/loader'; import type { MediaPlaylist } from '../types/media-playlist'; diff --git a/src/controller/stream-controller.ts b/src/controller/stream-controller.ts index ef9333a589b..caf996285d6 100644 --- a/src/controller/stream-controller.ts +++ b/src/controller/stream-controller.ts @@ -7,7 +7,7 @@ import type { FragmentTracker } from './fragment-tracker'; import { FragmentState } from './fragment-tracker'; import type { Level } from '../types/level'; import { PlaylistLevelType } from '../types/loader'; -import Fragment, { ElementaryStreamTypes } from '../loader/fragment'; +import { Fragment, ElementaryStreamTypes } from '../loader/fragment'; import FragmentLoader from '../loader/fragment-loader'; import TransmuxerInterface from '../demux/transmuxer-interface'; import type { TransmuxerResult } from '../types/transmuxer'; @@ -16,7 +16,7 @@ import GapController, { MAX_START_GAP_JUMP } from './gap-controller'; import { ErrorDetails } from '../errors'; import { logger } from '../utils/logger'; import type Hls from '../hls'; -import type LevelDetails from '../loader/level-details'; +import type { LevelDetails } from '../loader/level-details'; import type { TrackSet } from '../types/track'; import type { SourceBufferName } from '../types/buffer'; import type { diff --git a/src/controller/subtitle-stream-controller.ts b/src/controller/subtitle-stream-controller.ts index 2bef436a7d2..7152456c513 100644 --- a/src/controller/subtitle-stream-controller.ts +++ b/src/controller/subtitle-stream-controller.ts @@ -10,8 +10,8 @@ import { PlaylistLevelType } from '../types/loader'; import { Level } from '../types/level'; import type { NetworkComponentAPI } from '../types/component-api'; import type Hls from '../hls'; -import type LevelDetails from '../loader/level-details'; -import type Fragment from '../loader/fragment'; +import type { LevelDetails } from '../loader/level-details'; +import type { Fragment } from '../loader/fragment'; import type { ErrorData, FragLoadedData, diff --git a/src/controller/timeline-controller.ts b/src/controller/timeline-controller.ts index 809b4b2b855..3439e8da057 100644 --- a/src/controller/timeline-controller.ts +++ b/src/controller/timeline-controller.ts @@ -10,7 +10,7 @@ import { } from '../utils/texttrack-utils'; import { parseIMSC1, IMSC1_CODEC } from '../utils/imsc1-ttml-parser'; import { PlaylistLevelType } from '../types/loader'; -import Fragment from '../loader/fragment'; +import { Fragment } from '../loader/fragment'; import { FragParsingUserdataData, FragLoadedData, diff --git a/src/demux/transmuxer-interface.ts b/src/demux/transmuxer-interface.ts index 43ba84818d6..8008e0fead5 100644 --- a/src/demux/transmuxer-interface.ts +++ b/src/demux/transmuxer-interface.ts @@ -9,7 +9,7 @@ import { logger } from '../utils/logger'; import { ErrorTypes, ErrorDetails } from '../errors'; import { getMediaSource } from '../utils/mediasource-helper'; import { EventEmitter } from 'eventemitter3'; -import Fragment, { Part } from '../loader/fragment'; +import { Fragment, Part } from '../loader/fragment'; import type { ChunkMetadata, TransmuxerResult } from '../types/transmuxer'; import type Hls from '../hls'; import type { HlsEventEmitter } from '../events'; diff --git a/src/demux/transmuxer.ts b/src/demux/transmuxer.ts index f6bcecc98ed..34b31bd2b25 100644 --- a/src/demux/transmuxer.ts +++ b/src/demux/transmuxer.ts @@ -16,7 +16,7 @@ import { appendUint8Array } from '../utils/mp4-tools'; import { logger } from '../utils/logger'; import type { HlsConfig } from '../config'; -import LevelKey from '../loader/level-key'; +import { LevelKey } from '../loader/level-key'; let now; // performance.now() not available on WebWorker, at least on Safari Desktop diff --git a/src/hls.ts b/src/hls.ts index 3ab1ced3d99..de2c05972d6 100644 --- a/src/hls.ts +++ b/src/hls.ts @@ -11,17 +11,12 @@ import LevelController from './controller/level-controller'; import { isSupported } from './is-supported'; import { logger, enableLogs } from './utils/logger'; -import { - enableStreamingMode, - HlsConfig, - hlsDefaultConfig, - mergeConfig, -} from './config'; - +import { enableStreamingMode, hlsDefaultConfig, mergeConfig } from './config'; +import type { HlsConfig } from './config'; import { Events } from './events'; import { EventEmitter } from 'eventemitter3'; import { Level } from './types/level'; -import { MediaPlaylist } from './types/media-playlist'; +import type { MediaPlaylist } from './types/media-playlist'; import AudioTrackController from './controller/audio-track-controller'; import SubtitleTrackController from './controller/subtitle-track-controller'; import ID3TrackController from './controller/id3-track-controller'; @@ -31,6 +26,7 @@ import AbrController from './controller/abr-controller'; import LatencyController from './controller/latency-controller'; import { ComponentAPI, NetworkComponentAPI } from './types/component-api'; import type { HlsEventEmitter, HlsListeners } from './events'; +import { Fragment } from './loader/fragment'; /** * @module Hls @@ -821,3 +817,132 @@ export default class Hls implements HlsEventEmitter { return this.latencyController.targetLatency; } } + +export type { + MediaPlaylist, + ErrorDetails, + ErrorTypes, + Events, + Level, + HlsListeners, + HlsEventEmitter, + HlsConfig, + Fragment, +}; + +export type { + ABRControllerConfig, + BufferControllerConfig, + CapLevelControllerConfig, + EMEControllerConfig, + DRMSystemOptions, + FPSControllerConfig, + FragmentLoaderConfig, + LevelControllerConfig, + MP4RemuxerConfig, + PlaylistLoaderConfig, + StreamControllerConfig, + LatencyControllerConfig, + TimelineControllerConfig, + TSDemuxerConfig, +} from './config'; +export type { CuesInterface } from './utils/cues'; +export type { MediaKeyFunc, KeySystems } from './utils/mediakeys-helper'; +export type { LoadStats } from './loader/load-stats'; +export type { LevelKey } from './loader/level-key'; +export type { LevelDetails } from './loader/level-details'; +export type { SourceBufferName } from './types/buffer'; +export type { MetadataSample, UserdataSample } from './types/demuxer'; +export type { + LevelParsed, + LevelAttributes, + HlsUrlParameters, + HlsSkip, +} from './types/level'; +export type { + PlaylistLevelType, + HlsChunkPerformanceTiming, + HlsPerformanceTiming, + PlaylistContextType, + PlaylistLoaderContext, + FragmentLoaderContext, + Loader, + LoaderStats, + LoaderContext, + LoaderResponse, + LoaderConfiguration, + LoaderCallbacks, + LoaderOnProgress, + LoaderOnAbort, + LoaderOnError, + LoaderOnSuccess, + LoaderOnTimeout, + HlsProgressivePerformanceTiming, +} from './types/loader'; +export type { + MediaPlaylistType, + MainPlaylistType, + AudioPlaylistType, + SubtitlePlaylistType, +} from './types/media-playlist'; +export type { Track, TrackSet } from './types/track'; +export type { ChunkMetadata } from './types/transmuxer'; +export type { + BaseSegment, + Part, + ElementaryStreams, + ElementaryStreamTypes, + ElementaryStreamInfo, +} from './loader/fragment'; +export type { + TrackLoadingData, + TrackLoadedData, + AudioTrackLoadedData, + AudioTracksUpdatedData, + AudioTrackSwitchedData, + AudioTrackSwitchingData, + BufferAppendedData, + BufferAppendingData, + BufferCodecsData, + BufferCreatedData, + BufferEOSData, + BufferFlushedData, + BufferFlushingData, + CuesParsedData, + ErrorData, + FPSDropData, + FPSDropLevelCappingData, + FragBufferedData, + FragChangedData, + FragDecryptedData, + FragLoadedData, + FragLoadEmergencyAbortedData, + FragLoadingData, + FragParsedData, + FragParsingInitSegmentData, + FragParsingMetadataData, + FragParsingUserdataData, + InitPTSFoundData, + KeyLoadedData, + KeyLoadingData, + LevelLoadedData, + LevelLoadingData, + LevelPTSUpdatedData, + LevelsUpdatedData, + LevelSwitchedData, + LevelSwitchingData, + LevelUpdatedData, + LiveBackBufferData, + ManifestLoadedData, + ManifestLoadingData, + ManifestParsedData, + MediaAttachedData, + MediaAttachingData, + NonNativeTextTrack, + NonNativeTextTracksData, + SubtitleFragProcessedData, + SubtitleTrackLoadedData, + SubtitleTracksUpdatedData, + SubtitleTrackSwitchData, +} from './types/events'; +export type { AttrList } from './utils/attr-list'; diff --git a/src/loader/fragment-loader.ts b/src/loader/fragment-loader.ts index d7c33b26311..7cc6d638ea4 100644 --- a/src/loader/fragment-loader.ts +++ b/src/loader/fragment-loader.ts @@ -1,5 +1,5 @@ import { ErrorTypes, ErrorDetails } from '../errors'; -import Fragment from './fragment'; +import { Fragment } from './fragment'; import { Loader, LoaderConfiguration, diff --git a/src/loader/fragment.ts b/src/loader/fragment.ts index e3f836cea0b..e1ee78376fd 100644 --- a/src/loader/fragment.ts +++ b/src/loader/fragment.ts @@ -1,8 +1,8 @@ import { buildAbsoluteURL } from 'url-toolkit'; import { logger } from '../utils/logger'; -import LevelKey from './level-key'; -import LoadStats from './load-stats'; -import AttrList from '../utils/attr-list'; +import { LevelKey } from './level-key'; +import { LoadStats } from './load-stats'; +import { AttrList } from '../utils/attr-list'; import type { FragmentLoaderContext, Loader, @@ -15,7 +15,7 @@ export enum ElementaryStreamTypes { AUDIOVIDEO = 'audiovideo', } -interface ElementaryStreamInfo { +export interface ElementaryStreamInfo { startPTS: number; endPTS: number; startDTS: number; @@ -23,7 +23,7 @@ interface ElementaryStreamInfo { partial?: boolean; } -type ElementaryStreams = Record< +export type ElementaryStreams = Record< ElementaryStreamTypes, ElementaryStreamInfo | null >; @@ -90,7 +90,7 @@ export class BaseSegment { } } -export default class Fragment extends BaseSegment { +export class Fragment extends BaseSegment { private _decryptdata: LevelKey | null = null; public rawProgramDateTime: string | null = null; diff --git a/src/loader/key-loader.ts b/src/loader/key-loader.ts index 89fdd415df2..0b06cd44647 100644 --- a/src/loader/key-loader.ts +++ b/src/loader/key-loader.ts @@ -5,7 +5,7 @@ import { Events } from '../events'; import { ErrorTypes, ErrorDetails } from '../errors'; import { logger } from '../utils/logger'; import type Hls from '../hls'; -import Fragment from './fragment'; +import { Fragment } from './fragment'; import { LoaderStats, LoaderResponse, diff --git a/src/loader/level-details.ts b/src/loader/level-details.ts index 6008a5891c0..1084e588688 100644 --- a/src/loader/level-details.ts +++ b/src/loader/level-details.ts @@ -1,9 +1,10 @@ -import Fragment, { Part } from './fragment'; -import type AttrList from '../utils/attr-list'; +import { Part } from './fragment'; +import type { Fragment } from './fragment'; +import type { AttrList } from '../utils/attr-list'; const DEFAULT_TARGET_DURATION = 10; -export default class LevelDetails { +export class LevelDetails { public PTSKnown: boolean = false; public alignedSliding: boolean = false; public averagetargetduration?: number; diff --git a/src/loader/level-key.ts b/src/loader/level-key.ts index b4db012091f..90fcf253b1b 100644 --- a/src/loader/level-key.ts +++ b/src/loader/level-key.ts @@ -1,6 +1,6 @@ import { buildAbsoluteURL } from 'url-toolkit'; -export default class LevelKey { +export class LevelKey { private _uri: string | null = null; public method: string | null = null; public keyFormat: string | null = null; diff --git a/src/loader/load-stats.ts b/src/loader/load-stats.ts index 267a84a7736..0bb0e6adb54 100644 --- a/src/loader/load-stats.ts +++ b/src/loader/load-stats.ts @@ -4,7 +4,7 @@ import type { LoaderStats, } from '../types/loader'; -export default class LoadStats implements LoaderStats { +export class LoadStats implements LoaderStats { aborted: boolean = false; loaded: number = 0; retry: number = 0; diff --git a/src/loader/m3u8-parser.ts b/src/loader/m3u8-parser.ts index dbe39ce8df9..e3e00c2d51a 100644 --- a/src/loader/m3u8-parser.ts +++ b/src/loader/m3u8-parser.ts @@ -1,10 +1,10 @@ import * as URLToolkit from 'url-toolkit'; -import Fragment, { Part } from './fragment'; -import LevelDetails from './level-details'; -import LevelKey from './level-key'; +import { Fragment, Part } from './fragment'; +import { LevelDetails } from './level-details'; +import { LevelKey } from './level-key'; -import AttrList from '../utils/attr-list'; +import { AttrList } from '../utils/attr-list'; import { logger } from '../utils/logger'; import type { CodecType } from '../utils/codecs'; import { isCodecType } from '../utils/codecs'; diff --git a/src/loader/playlist-loader.ts b/src/loader/playlist-loader.ts index 49ec78621d8..385f8575a79 100644 --- a/src/loader/playlist-loader.ts +++ b/src/loader/playlist-loader.ts @@ -24,10 +24,10 @@ import type { PlaylistLoaderContext, } from '../types/loader'; import { PlaylistContextType, PlaylistLevelType } from '../types/loader'; -import LevelDetails from './level-details'; -import Fragment from './fragment'; +import { LevelDetails } from './level-details'; +import { Fragment } from './fragment'; import type Hls from '../hls'; -import AttrList from '../utils/attr-list'; +import { AttrList } from '../utils/attr-list'; import type { ErrorData, LevelLoadingData, diff --git a/src/remux/mp4-remuxer.ts b/src/remux/mp4-remuxer.ts index 85794209ce2..027d0cdc40e 100644 --- a/src/remux/mp4-remuxer.ts +++ b/src/remux/mp4-remuxer.ts @@ -22,7 +22,7 @@ import type { } from '../types/demuxer'; import type { TrackSet } from '../types/track'; import type { SourceBufferName } from '../types/buffer'; -import Fragment from '../loader/fragment'; +import type { Fragment } from '../loader/fragment'; import type { HlsConfig } from '../config'; import { toMsFromMpegTsClock } from '../utils/timescale-conversion'; diff --git a/src/types/events.ts b/src/types/events.ts index 5b09f5b304d..16528b9708f 100644 --- a/src/types/events.ts +++ b/src/types/events.ts @@ -1,8 +1,8 @@ // eslint-disable-next-line import/no-duplicates -import type Fragment from '../loader/fragment'; +import type { Fragment } from '../loader/fragment'; // eslint-disable-next-line import/no-duplicates import type { Part } from '../loader/fragment'; -import type LevelDetails from '../loader/level-details'; +import type { LevelDetails } from '../loader/level-details'; import type { HlsUrlParameters, Level, LevelParsed } from './level'; import type { MediaPlaylist, MediaPlaylistType } from './media-playlist'; import type { @@ -16,10 +16,10 @@ import type { import type { Track, TrackSet } from './track'; import type { SourceBufferName } from './buffer'; import type { ChunkMetadata } from './transmuxer'; -import type LoadStats from '../loader/load-stats'; +import type { LoadStats } from '../loader/load-stats'; import type { ErrorDetails, ErrorTypes } from '../errors'; import type { MetadataSample, UserdataSample } from './demuxer'; -import type AttrList from '../utils/attr-list'; +import type { AttrList } from '../utils/attr-list'; import type { HlsListeners } from '../events'; export interface MediaAttachingData { @@ -243,7 +243,7 @@ export interface CuesParsedData { track: string; } -interface NonNativeTextTrack { +export interface NonNativeTextTrack { _id?: string; label: any; kind: string; diff --git a/src/types/fragment-tracker.ts b/src/types/fragment-tracker.ts index 7e8fd1aeb2b..4fa1c81cd82 100644 --- a/src/types/fragment-tracker.ts +++ b/src/types/fragment-tracker.ts @@ -1,5 +1,5 @@ // eslint-disable-next-line import/no-duplicates -import type Fragment from '../loader/fragment'; +import type { Fragment } from '../loader/fragment'; // eslint-disable-next-line import/no-duplicates import type { Part } from '../loader/fragment'; import type { SourceBufferName } from './buffer'; diff --git a/src/types/general.ts b/src/types/general.ts index fb3afbf485d..6d92b6abdff 100644 --- a/src/types/general.ts +++ b/src/types/general.ts @@ -1,7 +1,3 @@ -export interface StringMap { - [key: string]: any; -} - /** * Make specific properties in T required */ diff --git a/src/types/level.ts b/src/types/level.ts index 1b664d57b6f..baf455530b2 100644 --- a/src/types/level.ts +++ b/src/types/level.ts @@ -1,5 +1,5 @@ -import LevelDetails from '../loader/level-details'; -import AttrList from '../utils/attr-list'; +import { LevelDetails } from '../loader/level-details'; +import { AttrList } from '../utils/attr-list'; export interface LevelParsed { attrs: LevelAttributes; diff --git a/src/types/loader.ts b/src/types/loader.ts index cbfe6b5f0a8..3bcf950904f 100644 --- a/src/types/loader.ts +++ b/src/types/loader.ts @@ -1,6 +1,6 @@ -import Fragment from '../loader/fragment'; +import type { Fragment } from '../loader/fragment'; import type { Part } from '../loader/fragment'; -import type LevelDetails from '../loader/level-details'; +import type { LevelDetails } from '../loader/level-details'; import type { HlsUrlParameters } from './level'; export interface LoaderContext { @@ -67,7 +67,7 @@ export interface HlsProgressivePerformanceTiming extends HlsPerformanceTiming { first: number; } -type LoaderOnSuccess = ( +export type LoaderOnSuccess = ( response: LoaderResponse, stats: LoaderStats, context: T, @@ -81,7 +81,7 @@ export type LoaderOnProgress = ( networkDetails: any ) => void; -type LoaderOnError = ( +export type LoaderOnError = ( error: { // error status code code: number; @@ -92,13 +92,13 @@ type LoaderOnError = ( networkDetails: any ) => void; -type LoaderOnTimeout = ( +export type LoaderOnTimeout = ( stats: LoaderStats, context: T, networkDetails: any ) => void; -type LoaderOnAbort = ( +export type LoaderOnAbort = ( stats: LoaderStats, context: T, networkDetails: any diff --git a/src/utils/attr-list.ts b/src/utils/attr-list.ts index bdedfea1ec4..3c9b07a5dc1 100755 --- a/src/utils/attr-list.ts +++ b/src/utils/attr-list.ts @@ -1,13 +1,11 @@ -import type { StringMap } from '../types/general'; - const DECIMAL_RESOLUTION_REGEX = /^(\d+)x(\d+)$/; // eslint-disable-line no-useless-escape const ATTR_LIST_REGEX = /\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g; // eslint-disable-line no-useless-escape // adapted from https://github.com/kanongil/node-m3u8parse/blob/master/attrlist.js -class AttrList { +export class AttrList { [key: string]: any; - constructor(attrs: string | StringMap) { + constructor(attrs: string | Record) { if (typeof attrs === 'string') { attrs = AttrList.parseAttrList(attrs); } @@ -89,7 +87,7 @@ class AttrList { }; } - static parseAttrList(input: string): StringMap { + static parseAttrList(input: string): Record { let match; const attrs = {}; const quote = '"'; @@ -109,5 +107,3 @@ class AttrList { return attrs; } } - -export default AttrList; diff --git a/src/utils/discontinuities.ts b/src/utils/discontinuities.ts index c460a3efa99..175d34f0f21 100644 --- a/src/utils/discontinuities.ts +++ b/src/utils/discontinuities.ts @@ -1,7 +1,7 @@ import { logger } from './logger'; -import type Fragment from '../loader/fragment'; -import type LevelDetails from '../loader/level-details'; +import type { Fragment } from '../loader/fragment'; +import type { LevelDetails } from '../loader/level-details'; import type { Level } from '../types/level'; import type { RequiredProperties } from '../types/general'; import { adjustSliding } from '../controller/level-helper'; diff --git a/src/utils/fetch-loader.ts b/src/utils/fetch-loader.ts index 28889e172fd..e8b17ee3fd1 100644 --- a/src/utils/fetch-loader.ts +++ b/src/utils/fetch-loader.ts @@ -6,7 +6,7 @@ import { LoaderConfiguration, LoaderOnProgress, } from '../types/loader'; -import LoadStats from '../loader/load-stats'; +import { LoadStats } from '../loader/load-stats'; import ChunkCache from '../demux/chunk-cache'; export function fetchSupported() { diff --git a/src/utils/xhr-loader.ts b/src/utils/xhr-loader.ts index 95677754d33..f742ea81b96 100644 --- a/src/utils/xhr-loader.ts +++ b/src/utils/xhr-loader.ts @@ -6,7 +6,7 @@ import type { Loader, LoaderConfiguration, } from '../types/loader'; -import LoadStats from '../loader/load-stats'; +import { LoadStats } from '../loader/load-stats'; class XhrLoader implements Loader { private xhrSetup: Function | null; diff --git a/tests/mocks/data.js b/tests/mocks/data.js index 47815ba35bb..71df3645198 100644 --- a/tests/mocks/data.js +++ b/tests/mocks/data.js @@ -1,4 +1,4 @@ -import Fragment from '../../src/loader/fragment'; +import { Fragment } from '../../src/loader/fragment'; import { PlaylistLevelType } from '../../src/types/loader'; function fragment(options) { diff --git a/tests/unit/controller/buffer-controller-operations.ts b/tests/unit/controller/buffer-controller-operations.ts index 89ad2cf286d..ea766233fd2 100644 --- a/tests/unit/controller/buffer-controller-operations.ts +++ b/tests/unit/controller/buffer-controller-operations.ts @@ -9,10 +9,10 @@ import { BufferOperation, SourceBufferName } from '../../../src/types/buffer'; import { BufferAppendingData } from '../../../src/types/events'; import { Events } from '../../../src/events'; import { ErrorDetails, ErrorTypes } from '../../../src/errors'; -import Fragment, { ElementaryStreamTypes } from '../../../src/loader/fragment'; +import { Fragment, ElementaryStreamTypes } from '../../../src/loader/fragment'; import { PlaylistLevelType } from '../../../src/types/loader'; import { ChunkMetadata } from '../../../src/types/transmuxer'; -import LevelDetails from '../../../src/loader/level-details'; +import { LevelDetails } from '../../../src/loader/level-details'; chai.use(sinonChai); const expect = chai.expect; diff --git a/tests/unit/controller/fragment-tracker.ts b/tests/unit/controller/fragment-tracker.ts index 4cdfb9dbdff..9ece7d20220 100644 --- a/tests/unit/controller/fragment-tracker.ts +++ b/tests/unit/controller/fragment-tracker.ts @@ -6,8 +6,8 @@ import { } from '../../../src/controller/fragment-tracker'; import { PlaylistLevelType } from '../../../src/types/loader'; import { ChunkMetadata } from '../../../src/types/transmuxer'; -import Fragment, { ElementaryStreamTypes } from '../../../src/loader/fragment'; -import LoadStats from '../../../src/loader/load-stats'; +import { Fragment, ElementaryStreamTypes } from '../../../src/loader/fragment'; +import { LoadStats } from '../../../src/loader/load-stats'; import type { BufferAppendedData, FragBufferedData, diff --git a/tests/unit/controller/latency-controller.ts b/tests/unit/controller/latency-controller.ts index a151f386671..1c122d413b8 100644 --- a/tests/unit/controller/latency-controller.ts +++ b/tests/unit/controller/latency-controller.ts @@ -2,7 +2,7 @@ import LatencyController from '../../../src/controller/latency-controller'; import Hls from '../../../src/hls'; import { Events } from '../../../src/events'; -import LevelDetails from '../../../src/loader/level-details'; +import { LevelDetails } from '../../../src/loader/level-details'; import { LevelUpdatedData } from '../../../src/types/events'; import * as sinon from 'sinon'; diff --git a/tests/unit/controller/level-helper.ts b/tests/unit/controller/level-helper.ts index cddd926e2ae..d70155c02fe 100644 --- a/tests/unit/controller/level-helper.ts +++ b/tests/unit/controller/level-helper.ts @@ -5,14 +5,14 @@ import { mapPartIntersection, mergeDetails, } from '../../../src/controller/level-helper'; -import LevelDetails from '../../../src/loader/level-details'; -import Fragment, { Part } from '../../../src/loader/fragment'; -import LoadStats from '../../../src/loader/load-stats'; +import { LevelDetails } from '../../../src/loader/level-details'; +import { Fragment, Part } from '../../../src/loader/fragment'; +import { LoadStats } from '../../../src/loader/load-stats'; import { PlaylistLevelType } from '../../../src/types/loader'; import * as sinon from 'sinon'; import * as chai from 'chai'; import * as sinonChai from 'sinon-chai'; -import AttrList from '../../../src/utils/attr-list'; +import { AttrList } from '../../../src/utils/attr-list'; chai.use(sinonChai); const expect = chai.expect; diff --git a/tests/unit/controller/stream-controller.ts b/tests/unit/controller/stream-controller.ts index a57e1208db1..beeb8453601 100644 --- a/tests/unit/controller/stream-controller.ts +++ b/tests/unit/controller/stream-controller.ts @@ -8,11 +8,11 @@ import { import StreamController from '../../../src/controller/stream-controller'; import { State } from '../../../src/controller/base-stream-controller'; import { mockFragments } from '../../mocks/data'; -import Fragment from '../../../src/loader/fragment'; -import LevelDetails from '../../../src/loader/level-details'; +import { Fragment } from '../../../src/loader/fragment'; +import { LevelDetails } from '../../../src/loader/level-details'; import M3U8Parser from '../../../src/loader/m3u8-parser'; import { PlaylistLevelType } from '../../../src/types/loader'; -import AttrList from '../../../src/utils/attr-list'; +import { AttrList } from '../../../src/utils/attr-list'; import { Level, LevelAttributes } from '../../../src/types/level'; import * as sinon from 'sinon'; diff --git a/tests/unit/controller/subtitle-track-controller.js b/tests/unit/controller/subtitle-track-controller.js index dcbd9020ee6..56933a62eb3 100644 --- a/tests/unit/controller/subtitle-track-controller.js +++ b/tests/unit/controller/subtitle-track-controller.js @@ -1,8 +1,8 @@ import SubtitleTrackController from '../../../src/controller/subtitle-track-controller'; import Hls from '../../../src/hls'; import sinon from 'sinon'; -import LoadStats from '../../../src/loader/load-stats'; -import LevelDetails from '../../../src/loader/level-details'; +import { LoadStats } from '../../../src/loader/load-stats'; +import { LevelDetails } from '../../../src/loader/level-details'; import { Events } from '../../../src/events'; describe('SubtitleTrackController', function () { diff --git a/tests/unit/demuxer/transmuxer.ts b/tests/unit/demuxer/transmuxer.ts index cd097a67dce..0ce3758ba83 100644 --- a/tests/unit/demuxer/transmuxer.ts +++ b/tests/unit/demuxer/transmuxer.ts @@ -1,7 +1,7 @@ import TransmuxerInterface from '../../../src/demux/transmuxer-interface'; import { TransmuxState, TransmuxConfig } from '../../../src/demux/transmuxer'; import { ChunkMetadata, TransmuxerResult } from '../../../src/types/transmuxer'; -import Fragment from '../../../src/loader/fragment'; +import { Fragment } from '../../../src/loader/fragment'; import { PlaylistLevelType } from '../../../src/types/loader'; import Hls from '../../../src/hls'; diff --git a/tests/unit/loader/fragment-loader.ts b/tests/unit/loader/fragment-loader.ts index 4212d7051d7..0fd614fc9f2 100644 --- a/tests/unit/loader/fragment-loader.ts +++ b/tests/unit/loader/fragment-loader.ts @@ -1,7 +1,7 @@ import FragmentLoader, { LoadError } from '../../../src/loader/fragment-loader'; -import Fragment from '../../../src/loader/fragment'; +import { Fragment } from '../../../src/loader/fragment'; import { ErrorDetails, ErrorTypes } from '../../../src/errors'; -import LoadStats from '../../../src/loader/load-stats'; +import { LoadStats } from '../../../src/loader/load-stats'; import { FragmentLoaderContext, Loader, @@ -15,7 +15,7 @@ import type { HlsConfig } from '../../../src/config'; import * as sinon from 'sinon'; import * as chai from 'chai'; import * as sinonChai from 'sinon-chai'; -import LevelDetails from '../../../src/loader/level-details'; +import { LevelDetails } from '../../../src/loader/level-details'; chai.use(sinonChai); const expect = chai.expect; diff --git a/tests/unit/loader/fragment.js b/tests/unit/loader/fragment.js index 62bceb14385..07a850966b3 100644 --- a/tests/unit/loader/fragment.js +++ b/tests/unit/loader/fragment.js @@ -1,4 +1,4 @@ -import Fragment from '../../../src/loader/fragment'; +import { Fragment } from '../../../src/loader/fragment'; import LevelKey from '../../../src/loader/level-key'; import { PlaylistLevelType } from '../../../src/types/loader'; diff --git a/tests/unit/loader/level.js b/tests/unit/loader/level.js index 45cd1c53dc3..b96edad7229 100644 --- a/tests/unit/loader/level.js +++ b/tests/unit/loader/level.js @@ -1,4 +1,4 @@ -import LevelDetails from '../../../src/loader/level-details'; +import { LevelDetails } from '../../../src/loader/level-details'; describe('Level Class tests', function () { it('sets programDateTime to true when the first fragment has valid pdt', function () { diff --git a/tests/unit/loader/playlist-loader.js b/tests/unit/loader/playlist-loader.js index e98ebd12020..92a9e9e6e70 100644 --- a/tests/unit/loader/playlist-loader.js +++ b/tests/unit/loader/playlist-loader.js @@ -1,5 +1,5 @@ import M3U8Parser from '../../../src/loader/m3u8-parser'; -import AttrList from '../../../src/utils/attr-list'; +import { AttrList } from '../../../src/utils/attr-list'; import { PlaylistLevelType } from '../../../src/types/loader'; describe('PlaylistLoader', function () { diff --git a/tests/unit/utils/attr-list.js b/tests/unit/utils/attr-list.js index f2f1cd8484f..1b3fa4d7db6 100644 --- a/tests/unit/utils/attr-list.js +++ b/tests/unit/utils/attr-list.js @@ -1,4 +1,4 @@ -import AttrList from '../../../src/utils/attr-list'; +import { AttrList } from '../../../src/utils/attr-list'; describe('AttrList', function () { it('constructor() supports empty arguments', function () { diff --git a/tsconfig-lib.json b/tsconfig-lib.json new file mode 100644 index 00000000000..9ae7562121f --- /dev/null +++ b/tsconfig-lib.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "commonjs", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "strict": false, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "lib": ["dom", "es2015"], + "outDir": "./lib/", + "allowSyntheticDefaultImports": true, + "emitDeclarationOnly": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist/**/*", "demo/libs/**/*", "**/*.spec.*"] +} diff --git a/tsconfig.json b/tsconfig.json index 3c87e29f542..8e975f58387 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,16 +1,7 @@ { + "extends": "./tsconfig-lib.json", "compilerOptions": { - "target": "esnext", - "module": "commonjs", - "declaration": true, - "sourceMap": true, - "strict": false, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "lib": ["dom", "es2015"], - "outDir": "./dist/", - "allowSyntheticDefaultImports": true + "emitDeclarationOnly": false }, - "include": ["src/**/*", "tests/unit/**/*", "demo/**/*"], - "exclude": ["node_modules", "dist/**/*", "demo/libs/**/*", "**/*.spec.*"] + "include": ["src/**/*", "tests/unit/**/*", "demo/**/*"] } From 3c138defe37ec8be59bc12d0033ff9630c8427e6 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:18:17 +0000 Subject: [PATCH 04/18] use build:ci on ci --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4b0a3803f2..6b613d4144c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,8 +80,7 @@ jobs: - name: build run: | - npm run build:types - npm run build + npm run build:ci npm run docs # check that hls.js doesn't error if requiring in node # see https://github.com/video-dev/hls.js/pull/1642 From 87c45caf6636f1689d7ecec259459e3c7917355f Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:18:56 +0000 Subject: [PATCH 05/18] use specific dir for api-extractor --- .gitignore | 1 - api-extractor.json | 3 ++- api-extractor/.gitignore | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 api-extractor/.gitignore diff --git a/.gitignore b/.gitignore index fe6ecd6149f..fc022768d70 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,6 @@ coverage/ # Build /lib /dist -/temp /dist.zip /netlify /api-docs diff --git a/api-extractor.json b/api-extractor.json index 77a97f02f6d..546957522a9 100644 --- a/api-extractor.json +++ b/api-extractor.json @@ -7,7 +7,8 @@ }, "apiReport": { "enabled": true, - "reportFolder": "/docs" + "reportFolder": "/api-extractor/report", + "reportTempFolder": "/api-extractor/report-temp" }, "docModel": { "enabled": false diff --git a/api-extractor/.gitignore b/api-extractor/.gitignore new file mode 100644 index 00000000000..3047372951a --- /dev/null +++ b/api-extractor/.gitignore @@ -0,0 +1 @@ +/report-temp From a2d4b32adf7675bcda7e5caa8ecfc5f2b9cef9f4 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:19:28 +0000 Subject: [PATCH 06/18] run api-extractor local build on 'npm run build' --- package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 13496098b2d..ac6c8327d7c 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,10 @@ } }, "scripts": { - "build": "webpack --progress", - "build:ci": "webpack", + "build": "webpack --progress && tsc --build tsconfig-lib.json && api-extractor run --local", + "build:ci": "webpack && tsc --build tsconfig-lib.json && api-extractor run", "build:debug": "webpack --progress --env debug --env demo", "build:watch": "webpack --progress --env debug --env demo --watch", - "build:types": "tsc --build tsconfig-lib.json && api-extractor run", "dev": "webpack serve --progress --env debug --env demo --port 8000", "docs": "esdoc", "lint": "eslint src/ tests/ --ext .js --ext .ts", From 0f9adfc605d8823b2882dfb62a121a3f403af06f Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:19:54 +0000 Subject: [PATCH 07/18] do not include *.spec because we don't have any --- tsconfig-lib.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig-lib.json b/tsconfig-lib.json index 9ae7562121f..a6df3a51dca 100644 --- a/tsconfig-lib.json +++ b/tsconfig-lib.json @@ -14,5 +14,5 @@ "emitDeclarationOnly": true }, "include": ["src/**/*"], - "exclude": ["node_modules", "dist/**/*", "demo/libs/**/*", "**/*.spec.*"] + "exclude": ["node_modules", "dist/**/*", "demo/libs/**/*"] } From 612357a5b2012bbebe0125028d229592d42fb269 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:20:22 +0000 Subject: [PATCH 08/18] disable tsdoc warnings as blockers, but log to file --- api-extractor.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/api-extractor.json b/api-extractor.json index 546957522a9..da59dc1d552 100644 --- a/api-extractor.json +++ b/api-extractor.json @@ -23,17 +23,20 @@ "messages": { "compilerMessageReporting": { "default": { - "logLevel": "warning" + "logLevel": "warning", + "addToApiReportFile": true } }, "extractorMessageReporting": { "default": { - "logLevel": "warning" + "logLevel": "warning", + "addToApiReportFile": true } }, "tsdocMessageReporting": { "default": { - "logLevel": "warning" + "logLevel": "none", + "addToApiReportFile": true } } } From 3b070369adc1bebbe0987b9cc94bf92fc6a8dd7f Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:20:32 +0000 Subject: [PATCH 09/18] add report --- api-extractor/report/hls.js.api.md | 2507 ++++++++++++++++++++++++++++ 1 file changed, 2507 insertions(+) create mode 100644 api-extractor/report/hls.js.api.md diff --git a/api-extractor/report/hls.js.api.md b/api-extractor/report/hls.js.api.md new file mode 100644 index 00000000000..968c369c873 --- /dev/null +++ b/api-extractor/report/hls.js.api.md @@ -0,0 +1,2507 @@ +## API Report File for "hls.js" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +// Warning: (ae-missing-release-tag) "ABRControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type ABRControllerConfig = { + abrEwmaFastLive: number; + abrEwmaSlowLive: number; + abrEwmaFastVoD: number; + abrEwmaSlowVoD: number; + abrEwmaDefaultEstimate: number; + abrBandWidthFactor: number; + abrBandWidthUpFactor: number; + abrMaxWithRealBitrate: boolean; + maxStarvationDelay: number; + maxLoadingDelay: number; +}; + +// Warning: (ae-missing-release-tag) "AttrList" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class AttrList { + constructor(attrs: string | Record); + // (undocumented) + [key: string]: any; + // (undocumented) + bool(attrName: string): boolean; + // (undocumented) + decimalFloatingPoint(attrName: string): number; + // (undocumented) + decimalInteger(attrName: string): number; + // (undocumented) + decimalResolution( + attrName: string + ): + | { + width: number; + height: number; + } + | undefined; + // (undocumented) + enumeratedString(attrName: string): string | undefined; + // (undocumented) + hexadecimalInteger(attrName: string): Uint8Array | null; + // (undocumented) + hexadecimalIntegerAsNumber(attrName: string): number; + // (undocumented) + optionalFloat(attrName: string, defaultValue: number): number; + // (undocumented) + static parseAttrList(input: string): Record; +} + +// Warning: (ae-missing-release-tag) "AudioPlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type AudioPlaylistType = 'AUDIO'; + +// Warning: (ae-missing-release-tag) "AudioTrackLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface AudioTrackLoadedData extends TrackLoadedData {} + +// Warning: (ae-missing-release-tag) "AudioTracksUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface AudioTracksUpdatedData { + // (undocumented) + audioTracks: MediaPlaylist[]; +} + +// Warning: (ae-missing-release-tag) "AudioTrackSwitchedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface AudioTrackSwitchedData { + // (undocumented) + id: number; +} + +// Warning: (ae-missing-release-tag) "AudioTrackSwitchingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface AudioTrackSwitchingData { + // (undocumented) + id: number; + // (undocumented) + type: MediaPlaylistType | 'main'; + // (undocumented) + url: string; +} + +// Warning: (ae-missing-release-tag) "BaseSegment" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class BaseSegment { + constructor(baseurl: string); + // (undocumented) + readonly baseurl: string; + // (undocumented) + get byteRange(): number[]; + // (undocumented) + get byteRangeEndOffset(): number; + // (undocumented) + get byteRangeStartOffset(): number; + // (undocumented) + elementaryStreams: ElementaryStreams; + // (undocumented) + relurl?: string; + // (undocumented) + setByteRange(value: string, previous?: BaseSegment): void; + // (undocumented) + get url(): string; + set url(value: string); +} + +// Warning: (ae-missing-release-tag) "BufferAppendedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface BufferAppendedData { + // (undocumented) + chunkMeta: ChunkMetadata; + // (undocumented) + frag: Fragment; + // (undocumented) + parent: PlaylistLevelType; + // (undocumented) + part: Part | null; + // (undocumented) + timeRanges: { + audio?: TimeRanges; + video?: TimeRanges; + audiovideo?: TimeRanges; + }; +} + +// Warning: (ae-missing-release-tag) "BufferAppendingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface BufferAppendingData { + // (undocumented) + chunkMeta: ChunkMetadata; + // (undocumented) + data: Uint8Array; + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; + // (undocumented) + type: SourceBufferName; +} + +// Warning: (ae-missing-release-tag) "BufferCodecsData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface BufferCodecsData { + // (undocumented) + audio?: Track; + // (undocumented) + video?: Track; +} + +// Warning: (ae-missing-release-tag) "BufferControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type BufferControllerConfig = { + appendErrorMaxRetry: number; + liveDurationInfinity: boolean; + liveBackBufferLength: number; +}; + +// Warning: (ae-missing-release-tag) "BufferCreatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface BufferCreatedData { + // (undocumented) + tracks: TrackSet; +} + +// Warning: (ae-missing-release-tag) "BufferEOSData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface BufferEOSData { + // (undocumented) + type?: SourceBufferName; +} + +// Warning: (ae-missing-release-tag) "BufferFlushedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface BufferFlushedData { + // (undocumented) + type: SourceBufferName; +} + +// Warning: (ae-missing-release-tag) "BufferFlushingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface BufferFlushingData { + // (undocumented) + endOffset: number; + // (undocumented) + startOffset: number; + // (undocumented) + type: SourceBufferName | null; +} + +// Warning: (ae-missing-release-tag) "CapLevelControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type CapLevelControllerConfig = { + capLevelToPlayerSize: boolean; +}; + +// Warning: (ae-missing-release-tag) "ChunkMetadata" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class ChunkMetadata { + constructor( + level: number, + sn: number, + id: number, + size?: number, + part?: number, + partial?: boolean + ); + // (undocumented) + readonly buffering: { + [key in SourceBufferName]: HlsChunkPerformanceTiming; + }; + // (undocumented) + readonly id: number; + // (undocumented) + readonly level: number; + // (undocumented) + readonly part: number; + // (undocumented) + readonly partial: boolean; + // (undocumented) + readonly size: number; + // (undocumented) + readonly sn: number; + // (undocumented) + readonly transmuxing: HlsChunkPerformanceTiming; +} + +// Warning: (ae-missing-release-tag) "CuesInterface" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface CuesInterface { + // Warning: (ae-forgotten-export) The symbol "CaptionScreen" needs to be exported by the entry point hls.d.ts + // + // (undocumented) + newCue( + track: TextTrack | null, + startTime: number, + endTime: number, + captionScreen: CaptionScreen + ): VTTCue[]; +} + +// Warning: (ae-missing-release-tag) "CuesParsedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface CuesParsedData { + // (undocumented) + cues: any; + // (undocumented) + track: string; + // (undocumented) + type: 'captions' | 'subtitles'; +} + +// Warning: (ae-missing-release-tag) "DRMSystemOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type DRMSystemOptions = { + audioRobustness?: string; + videoRobustness?: string; +}; + +// Warning: (ae-missing-release-tag) "ElementaryStreamInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ElementaryStreamInfo { + // (undocumented) + endDTS: number; + // (undocumented) + endPTS: number; + // (undocumented) + partial?: boolean; + // (undocumented) + startDTS: number; + // (undocumented) + startPTS: number; +} + +// Warning: (ae-missing-release-tag) "ElementaryStreams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type ElementaryStreams = Record< + ElementaryStreamTypes, + ElementaryStreamInfo | null +>; + +// Warning: (ae-missing-release-tag) "ElementaryStreamTypes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export enum ElementaryStreamTypes { + // (undocumented) + AUDIO = 'audio', + // (undocumented) + AUDIOVIDEO = 'audiovideo', + // (undocumented) + VIDEO = 'video', +} + +// Warning: (ae-missing-release-tag) "EMEControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type EMEControllerConfig = { + licenseXhrSetup?: (xhr: XMLHttpRequest, url: string) => void; + emeEnabled: boolean; + widevineLicenseUrl?: string; + drmSystemOptions: DRMSystemOptions; + requestMediaKeySystemAccessFunc: MediaKeyFunc | null; +}; + +// Warning: (ae-missing-release-tag) "ErrorData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ErrorData { + // (undocumented) + buffer?: number; + // (undocumented) + bytes?: number; + // (undocumented) + context?: PlaylistLoaderContext; + // (undocumented) + details: ErrorDetails; + // (undocumented) + err?: { + message: string; + }; + // (undocumented) + error?: Error; + // (undocumented) + event?: keyof HlsListeners | 'demuxerWorker'; + // (undocumented) + fatal: boolean; + // (undocumented) + frag?: Fragment; + // (undocumented) + level?: number | undefined; + // (undocumented) + levelRetry?: boolean; + // (undocumented) + loader?: Loader; + // (undocumented) + mimeType?: string; + // (undocumented) + networkDetails?: any; + // (undocumented) + parent?: PlaylistLevelType; + // (undocumented) + reason?: string; + // (undocumented) + response?: LoaderResponse; + // (undocumented) + type: ErrorTypes; + // (undocumented) + url?: string; +} + +// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag +// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" +// Warning: (tsdoc-undefined-tag) The TSDoc tag "@enum" is not defined in this configuration +// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag +// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" +// Warning: (tsdoc-undefined-tag) The TSDoc tag "@typedef" is not defined in this configuration +// Warning: (ae-missing-release-tag) "ErrorDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export enum ErrorDetails { + // (undocumented) + AUDIO_TRACK_LOAD_ERROR = 'audioTrackLoadError', + // (undocumented) + AUDIO_TRACK_LOAD_TIMEOUT = 'audioTrackLoadTimeOut', + // (undocumented) + BUFFER_ADD_CODEC_ERROR = 'bufferAddCodecError', + // (undocumented) + BUFFER_APPEND_ERROR = 'bufferAppendError', + // (undocumented) + BUFFER_APPENDING_ERROR = 'bufferAppendingError', + // (undocumented) + BUFFER_FULL_ERROR = 'bufferFullError', + // (undocumented) + BUFFER_NUDGE_ON_STALL = 'bufferNudgeOnStall', + // (undocumented) + BUFFER_SEEK_OVER_HOLE = 'bufferSeekOverHole', + // (undocumented) + BUFFER_STALLED_ERROR = 'bufferStalledError', + // (undocumented) + FRAG_DECRYPT_ERROR = 'fragDecryptError', + // (undocumented) + FRAG_LOAD_ERROR = 'fragLoadError', + // (undocumented) + FRAG_LOAD_TIMEOUT = 'fragLoadTimeOut', + // (undocumented) + FRAG_PARSING_ERROR = 'fragParsingError', + // (undocumented) + INTERNAL_ABORTED = 'aborted', + // (undocumented) + INTERNAL_EXCEPTION = 'internalException', + // (undocumented) + KEY_LOAD_ERROR = 'keyLoadError', + // (undocumented) + KEY_LOAD_TIMEOUT = 'keyLoadTimeOut', + // (undocumented) + KEY_SYSTEM_LICENSE_REQUEST_FAILED = 'keySystemLicenseRequestFailed', + // (undocumented) + KEY_SYSTEM_NO_ACCESS = 'keySystemNoAccess', + // (undocumented) + KEY_SYSTEM_NO_INIT_DATA = 'keySystemNoInitData', + // (undocumented) + KEY_SYSTEM_NO_KEYS = 'keySystemNoKeys', + // (undocumented) + KEY_SYSTEM_NO_SESSION = 'keySystemNoSession', + // (undocumented) + LEVEL_EMPTY_ERROR = 'levelEmptyError', + // (undocumented) + LEVEL_LOAD_ERROR = 'levelLoadError', + // (undocumented) + LEVEL_LOAD_TIMEOUT = 'levelLoadTimeOut', + // (undocumented) + LEVEL_SWITCH_ERROR = 'levelSwitchError', + // (undocumented) + MANIFEST_INCOMPATIBLE_CODECS_ERROR = 'manifestIncompatibleCodecsError', + // (undocumented) + MANIFEST_LOAD_ERROR = 'manifestLoadError', + // (undocumented) + MANIFEST_LOAD_TIMEOUT = 'manifestLoadTimeOut', + // (undocumented) + MANIFEST_PARSING_ERROR = 'manifestParsingError', + // (undocumented) + REMUX_ALLOC_ERROR = 'remuxAllocError', + // (undocumented) + SUBTITLE_LOAD_ERROR = 'subtitleTrackLoadError', + // (undocumented) + SUBTITLE_TRACK_LOAD_TIMEOUT = 'subtitleTrackLoadTimeOut', + // (undocumented) + UNKNOWN = 'unknown', +} + +// Warning: (ae-missing-release-tag) "ErrorTypes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export enum ErrorTypes { + // (undocumented) + KEY_SYSTEM_ERROR = 'keySystemError', + // (undocumented) + MEDIA_ERROR = 'mediaError', + // (undocumented) + MUX_ERROR = 'muxError', + // (undocumented) + NETWORK_ERROR = 'networkError', + // (undocumented) + OTHER_ERROR = 'otherError', +} + +// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag +// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" +// Warning: (tsdoc-undefined-tag) The TSDoc tag "@enum" is not defined in this configuration +// Warning: (ae-missing-release-tag) "Events" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export enum Events { + // (undocumented) + AUDIO_TRACK_LOADED = 'hlsAudioTrackLoaded', + // (undocumented) + AUDIO_TRACK_LOADING = 'hlsAudioTrackLoading', + // (undocumented) + AUDIO_TRACK_SWITCHED = 'hlsAudioTrackSwitched', + // (undocumented) + AUDIO_TRACK_SWITCHING = 'hlsAudioTrackSwitching', + // (undocumented) + AUDIO_TRACKS_UPDATED = 'hlsAudioTracksUpdated', + // (undocumented) + BUFFER_APPENDED = 'hlsBufferAppended', + // (undocumented) + BUFFER_APPENDING = 'hlsBufferAppending', + // (undocumented) + BUFFER_CODECS = 'hlsBufferCodecs', + // (undocumented) + BUFFER_CREATED = 'hlsBufferCreated', + // (undocumented) + BUFFER_EOS = 'hlsBufferEos', + // (undocumented) + BUFFER_FLUSHED = 'hlsBufferFlushed', + // (undocumented) + BUFFER_FLUSHING = 'hlsBufferFlushing', + // (undocumented) + BUFFER_RESET = 'hlsBufferReset', + // (undocumented) + CUES_PARSED = 'hlsCuesParsed', + // (undocumented) + DESTROYING = 'hlsDestroying', + // (undocumented) + ERROR = 'hlsError', + // (undocumented) + FPS_DROP = 'hlsFpsDrop', + // (undocumented) + FPS_DROP_LEVEL_CAPPING = 'hlsFpsDropLevelCapping', + // (undocumented) + FRAG_BUFFERED = 'hlsFragBuffered', + // (undocumented) + FRAG_CHANGED = 'hlsFragChanged', + // (undocumented) + FRAG_DECRYPTED = 'hlsFragDecrypted', + // (undocumented) + FRAG_LOAD_EMERGENCY_ABORTED = 'hlsFragLoadEmergencyAborted', + // (undocumented) + FRAG_LOADED = 'hlsFragLoaded', + // (undocumented) + FRAG_LOADING = 'hlsFragLoading', + // (undocumented) + FRAG_PARSED = 'hlsFragParsed', + // (undocumented) + FRAG_PARSING_INIT_SEGMENT = 'hlsFragParsingInitSegment', + // (undocumented) + FRAG_PARSING_METADATA = 'hlsFragParsingMetadata', + // (undocumented) + FRAG_PARSING_USERDATA = 'hlsFragParsingUserdata', + // (undocumented) + INIT_PTS_FOUND = 'hlsInitPtsFound', + // (undocumented) + KEY_LOADED = 'hlsKeyLoaded', + // (undocumented) + KEY_LOADING = 'hlsKeyLoading', + // (undocumented) + LEVEL_LOADED = 'hlsLevelLoaded', + // (undocumented) + LEVEL_LOADING = 'hlsLevelLoading', + // (undocumented) + LEVEL_PTS_UPDATED = 'hlsLevelPtsUpdated', + // (undocumented) + LEVEL_SWITCHED = 'hlsLevelSwitched', + // (undocumented) + LEVEL_SWITCHING = 'hlsLevelSwitching', + // (undocumented) + LEVEL_UPDATED = 'hlsLevelUpdated', + // (undocumented) + LEVELS_UPDATED = 'hlsLevelsUpdated', + // (undocumented) + LIVE_BACK_BUFFER_REACHED = 'hlsLiveBackBufferReached', + // (undocumented) + MANIFEST_LOADED = 'hlsManifestLoaded', + // (undocumented) + MANIFEST_LOADING = 'hlsManifestLoading', + // (undocumented) + MANIFEST_PARSED = 'hlsManifestParsed', + // (undocumented) + MEDIA_ATTACHED = 'hlsMediaAttached', + // (undocumented) + MEDIA_ATTACHING = 'hlsMediaAttaching', + // (undocumented) + MEDIA_DETACHED = 'hlsMediaDetached', + // (undocumented) + MEDIA_DETACHING = 'hlsMediaDetaching', + // (undocumented) + NON_NATIVE_TEXT_TRACKS_FOUND = 'hlsNonNativeTextTracksFound', + // (undocumented) + SUBTITLE_FRAG_PROCESSED = 'hlsSubtitleFragProcessed', + // (undocumented) + SUBTITLE_TRACK_LOADED = 'hlsSubtitleTrackLoaded', + // (undocumented) + SUBTITLE_TRACK_LOADING = 'hlsSubtitleTrackLoading', + // (undocumented) + SUBTITLE_TRACK_SWITCH = 'hlsSubtitleTrackSwitch', + // (undocumented) + SUBTITLE_TRACKS_CLEARED = 'hlsSubtitleTracksCleared', + // (undocumented) + SUBTITLE_TRACKS_UPDATED = 'hlsSubtitleTracksUpdated', +} + +// Warning: (ae-missing-release-tag) "FPSControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type FPSControllerConfig = { + capLevelOnFPSDrop: boolean; + fpsDroppedMonitoringPeriod: number; + fpsDroppedMonitoringThreshold: number; +}; + +// Warning: (ae-missing-release-tag) "FPSDropData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FPSDropData { + // (undocumented) + currentDecoded: number; + // (undocumented) + currentDropped: number; + // (undocumented) + totalDroppedFrames: number; +} + +// Warning: (ae-missing-release-tag) "FPSDropLevelCappingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FPSDropLevelCappingData { + // (undocumented) + droppedLevel: number; + // (undocumented) + level: number; +} + +// Warning: (ae-missing-release-tag) "FragBufferedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragBufferedData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + part: Part | null; + // (undocumented) + stats: LoadStats; +} + +// Warning: (ae-missing-release-tag) "FragChangedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragChangedData { + // (undocumented) + frag: Fragment; +} + +// Warning: (ae-missing-release-tag) "FragDecryptedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragDecryptedData { + // (undocumented) + frag: Fragment; + // (undocumented) + payload: ArrayBuffer; + // (undocumented) + stats: { + tstart: number; + tdecrypt: number; + }; +} + +// Warning: (ae-missing-release-tag) "FragLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragLoadedData { + // (undocumented) + frag: Fragment; + // (undocumented) + networkDetails: unknown; + // (undocumented) + part: Part | null; + // (undocumented) + payload: ArrayBuffer; +} + +// Warning: (ae-missing-release-tag) "FragLoadEmergencyAbortedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragLoadEmergencyAbortedData { + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; + // (undocumented) + stats: LoaderStats; +} + +// Warning: (ae-missing-release-tag) "FragLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragLoadingData { + // (undocumented) + frag: Fragment; + // (undocumented) + part?: Part; + // (undocumented) + targetBufferTime: number | null; +} + +// Warning: (ae-missing-release-tag) "Fragment" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class Fragment extends BaseSegment { + constructor(type: PlaylistLevelType, baseurl: string); + // (undocumented) + appendedPTS?: number; + // (undocumented) + bitrateTest: boolean; + // (undocumented) + cc: number; + // (undocumented) + clearElementaryStreamInfo(): void; + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + createInitializationVector(segmentNumber: number): Uint8Array; + // (undocumented) + data?: Uint8Array; + // (undocumented) + get decryptdata(): LevelKey | null; + // (undocumented) + deltaPTS?: number; + // (undocumented) + duration: number; + // (undocumented) + get encrypted(): boolean; + // (undocumented) + get end(): number; + // (undocumented) + endDTS: number; + // (undocumented) + get endProgramDateTime(): number | null; + // (undocumented) + endPTS?: number; + // (undocumented) + level: number; + // (undocumented) + levelkey?: LevelKey; + // (undocumented) + loader: Loader | null; + // (undocumented) + maxStartPTS?: number; + // (undocumented) + minEndPTS?: number; + // (undocumented) + programDateTime: number | null; + // (undocumented) + rawProgramDateTime: string | null; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + setDecryptDataFromLevelKey( + levelkey: LevelKey, + segmentNumber: number + ): LevelKey; + // (undocumented) + setElementaryStreamInfo( + type: ElementaryStreamTypes, + startPTS: number, + endPTS: number, + startDTS: number, + endDTS: number, + partial?: boolean + ): void; + // (undocumented) + sn: number | 'initSegment'; + // (undocumented) + start: number; + // (undocumented) + startDTS: number; + // (undocumented) + startPTS?: number; + // (undocumented) + stats: LoadStats; + // (undocumented) + tagList: Array; + // (undocumented) + title: string | null; + // (undocumented) + readonly type: PlaylistLevelType; + // (undocumented) + urlId: number; +} + +// Warning: (ae-missing-release-tag) "FragmentLoaderConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type FragmentLoaderConfig = { + fLoader?: { + new (confg: HlsConfig): Loader; + }; + fragLoadingTimeOut: number; + fragLoadingMaxRetry: number; + fragLoadingRetryDelay: number; + fragLoadingMaxRetryTimeout: number; +}; + +// Warning: (ae-missing-release-tag) "FragmentLoaderContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragmentLoaderContext extends LoaderContext { + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; +} + +// Warning: (ae-missing-release-tag) "FragParsedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragParsedData { + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; +} + +// Warning: (ae-missing-release-tag) "FragParsingInitSegmentData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragParsingInitSegmentData {} + +// Warning: (ae-missing-release-tag) "FragParsingMetadataData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragParsingMetadataData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + samples: MetadataSample[]; +} + +// Warning: (ae-missing-release-tag) "FragParsingUserdataData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FragParsingUserdataData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + samples: UserdataSample[]; +} + +// Warning: (tsdoc-undefined-tag) The TSDoc tag "@module" is not defined in this configuration +// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration +// Warning: (tsdoc-undefined-tag) The TSDoc tag "@constructor" is not defined in this configuration +// Warning: (ae-missing-release-tag) "Hls" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +class Hls implements HlsEventEmitter { + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@constructs" is not defined in this configuration + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + constructor(userConfig?: Partial); + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + attachMedia(media: HTMLMediaElement): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get audioTrack(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "audioTrack" must appear on the getter, not the setter. + set audioTrack(audioTrackId: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get audioTracks(): Array; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get autoLevelCapping(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "autoLevelCapping" must appear on the getter, not the setter. + set autoLevelCapping(newLevel: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get autoLevelEnabled(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get bandwidthEstimate(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get capLevelToPlayerSize(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "capLevelToPlayerSize" must appear on the getter, not the setter. + set capLevelToPlayerSize(shouldStartCapping: boolean); + // (undocumented) + readonly config: HlsConfig; + // (undocumented) + createController( + ControllerClass: any, + fragmentTracker: any, + components: any + ): any; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get currentLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "currentLevel" must appear on the getter, not the setter. + set currentLevel(newLevel: number); + // (undocumented) + static get DefaultConfig(): HlsConfig; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "DefaultConfig" must appear on the getter, not the setter. + static set DefaultConfig(defaultConfig: HlsConfig); + destroy(): void; + detachMedia(): void; + // (undocumented) + emit( + event: E, + name: E, + eventObject: Parameters[1] + ): boolean; + // (undocumented) + static get ErrorDetails(): typeof ErrorDetails; + // (undocumented) + static get ErrorTypes(): typeof ErrorTypes; + // (undocumented) + static get Events(): typeof Events; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get firstLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "firstLevel" must appear on the getter, not the setter. + set firstLevel(newLevel: number); + // (undocumented) + static isSupported(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get latency(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get levels(): Array; + // (undocumented) + listenerCount(event: E): number; + // (undocumented) + listeners(event: E): HlsListeners[E][]; + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get liveSyncPosition(): number | null; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get loadLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "loadLevel" must appear on the getter, not the setter. + set loadLevel(newLevel: number); + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + loadSource(url: string): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get lowLatencyMode(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "lowLatencyMode" must appear on the getter, not the setter. + set lowLatencyMode(mode: boolean); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get manualLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get maxAutoLevel(): number; + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get maxLatency(): number; + // (undocumented) + get media(): HTMLMediaElement | null; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get minAutoLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get nextAutoLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "nextAutoLevel" must appear on the getter, not the setter. + set nextAutoLevel(nextLevel: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get nextLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "nextLevel" must appear on the getter, not the setter. + set nextLevel(newLevel: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get nextLoadLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "nextLoadLevel" must appear on the getter, not the setter. + set nextLoadLevel(level: number); + // (undocumented) + off( + event: E, + listener?: HlsListeners[E] | undefined, + context?: Context, + once?: boolean | undefined + ): void; + // (undocumented) + on( + event: E, + listener: HlsListeners[E], + context?: Context + ): void; + // (undocumented) + once( + event: E, + listener: HlsListeners[E], + context?: Context + ): void; + recoverMediaError(): void; + // (undocumented) + removeAllListeners(event?: E | undefined): void; + // (undocumented) + removeLevel(levelIndex: any, urlId?: number): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get startLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "startLevel" must appear on the getter, not the setter. + set startLevel(newLevel: number); + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@default" is not defined in this configuration + startLoad(startPosition?: number): void; + stopLoad(): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get subtitleDisplay(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleDisplay" must appear on the getter, not the setter. + set subtitleDisplay(value: boolean); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get subtitleTrack(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleTrack" must appear on the getter, not the setter. + set subtitleTrack(subtitleTrackId: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get subtitleTracks(): Array; + swapAudioCodec(): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get targetLatency(): number | null; + // (undocumented) + trigger( + event: E, + eventObject: Parameters[1] + ): boolean; + // (undocumented) + readonly userConfig: Partial; + // (undocumented) + static get version(): string; +} + +export default Hls; + +// Warning: (ae-missing-release-tag) "HlsChunkPerformanceTiming" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface HlsChunkPerformanceTiming extends HlsPerformanceTiming { + // (undocumented) + executeEnd: number; + // (undocumented) + executeStart: number; +} + +// Warning: (ae-missing-release-tag) "HlsConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type HlsConfig = { + debug: boolean; + enableWorker: boolean; + enableSoftwareAES: boolean; + minAutoBitrate: number; + loader: { + new (confg: HlsConfig): Loader; + }; + xhrSetup?: (xhr: XMLHttpRequest, url: string) => void; + audioStreamController?: typeof AudioStreamController; + audioTrackController?: typeof AudioTrackController; + subtitleStreamController?: typeof SubtitleStreamController; + subtitleTrackController?: typeof SubtitleTrackController; + timelineController?: typeof TimelineController; + emeController?: typeof EMEController; + abrController: typeof AbrController; + bufferController: typeof BufferController; + capLevelController: typeof CapLevelController; + fpsController: typeof FPSController; + progressive: boolean; + lowLatencyMode: boolean; +} & ABRControllerConfig & + BufferControllerConfig & + CapLevelControllerConfig & + EMEControllerConfig & + FPSControllerConfig & + FragmentLoaderConfig & + LevelControllerConfig & + MP4RemuxerConfig & + PlaylistLoaderConfig & + StreamControllerConfig & + LatencyControllerConfig & + TimelineControllerConfig & + TSDemuxerConfig; + +// Warning: (ae-missing-release-tag) "HlsEventEmitter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface HlsEventEmitter { + // (undocumented) + emit( + event: E, + name: E, + eventObject: Parameters[1] + ): boolean; + // (undocumented) + listenerCount(event: E): number; + // (undocumented) + listeners(event: E): HlsListeners[E][]; + // (undocumented) + off( + event: E, + listener?: HlsListeners[E], + context?: Context, + once?: boolean + ): void; + // (undocumented) + on( + event: E, + listener: HlsListeners[E], + context?: Context + ): void; + // (undocumented) + once( + event: E, + listener: HlsListeners[E], + context?: Context + ): void; + // (undocumented) + removeAllListeners(event?: E): void; +} + +// Warning: (ae-missing-release-tag) "HlsListeners" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface HlsListeners { + // (undocumented) + [Events.AUDIO_TRACK_LOADED]: ( + event: Events.AUDIO_TRACK_LOADED, + data: AudioTrackLoadedData + ) => void; + // (undocumented) + [Events.AUDIO_TRACK_LOADING]: ( + event: Events.AUDIO_TRACK_LOADING, + data: TrackLoadingData + ) => void; + // (undocumented) + [Events.AUDIO_TRACKS_UPDATED]: ( + event: Events.AUDIO_TRACKS_UPDATED, + data: AudioTracksUpdatedData + ) => void; + // (undocumented) + [Events.AUDIO_TRACK_SWITCHED]: ( + event: Events.AUDIO_TRACK_SWITCHED, + data: AudioTrackSwitchedData + ) => void; + // (undocumented) + [Events.AUDIO_TRACK_SWITCHING]: ( + event: Events.AUDIO_TRACK_SWITCHING, + data: AudioTrackSwitchingData + ) => void; + // (undocumented) + [Events.BUFFER_APPENDED]: ( + event: Events.BUFFER_APPENDED, + data: BufferAppendedData + ) => void; + // (undocumented) + [Events.BUFFER_APPENDING]: ( + event: Events.BUFFER_APPENDING, + data: BufferAppendingData + ) => void; + // (undocumented) + [Events.BUFFER_CODECS]: ( + event: Events.BUFFER_CODECS, + data: BufferCodecsData + ) => void; + // (undocumented) + [Events.BUFFER_CREATED]: ( + event: Events.BUFFER_CREATED, + data: BufferCreatedData + ) => void; + // (undocumented) + [Events.BUFFER_EOS]: (event: Events.BUFFER_EOS, data: BufferEOSData) => void; + // (undocumented) + [Events.BUFFER_FLUSHED]: ( + event: Events.BUFFER_FLUSHED, + data: BufferFlushedData + ) => void; + // (undocumented) + [Events.BUFFER_FLUSHING]: ( + event: Events.BUFFER_FLUSHING, + data: BufferFlushingData + ) => void; + // (undocumented) + [Events.BUFFER_RESET]: (event: Events.BUFFER_RESET) => void; + // (undocumented) + [Events.CUES_PARSED]: ( + event: Events.CUES_PARSED, + data: CuesParsedData + ) => void; + // (undocumented) + [Events.DESTROYING]: (event: Events.DESTROYING) => void; + // (undocumented) + [Events.ERROR]: (event: Events.ERROR, data: ErrorData) => void; + // (undocumented) + [Events.FPS_DROP]: (event: Events.FPS_DROP, data: FPSDropData) => void; + // (undocumented) + [Events.FPS_DROP_LEVEL_CAPPING]: ( + event: Events.FPS_DROP_LEVEL_CAPPING, + data: FPSDropLevelCappingData + ) => void; + // (undocumented) + [Events.FRAG_BUFFERED]: ( + event: Events.FRAG_BUFFERED, + data: FragBufferedData + ) => void; + // (undocumented) + [Events.FRAG_CHANGED]: ( + event: Events.FRAG_CHANGED, + data: FragChangedData + ) => void; + // (undocumented) + [Events.FRAG_DECRYPTED]: ( + event: Events.FRAG_DECRYPTED, + data: FragDecryptedData + ) => void; + // (undocumented) + [Events.FRAG_LOADED]: ( + event: Events.FRAG_LOADED, + data: FragLoadedData + ) => void; + // (undocumented) + [Events.FRAG_LOAD_EMERGENCY_ABORTED]: ( + event: Events.FRAG_LOAD_EMERGENCY_ABORTED, + data: FragLoadEmergencyAbortedData + ) => void; + // (undocumented) + [Events.FRAG_LOADING]: ( + event: Events.FRAG_LOADING, + data: FragLoadingData + ) => void; + // (undocumented) + [Events.FRAG_PARSED]: ( + event: Events.FRAG_PARSED, + data: FragParsedData + ) => void; + // (undocumented) + [Events.FRAG_PARSING_INIT_SEGMENT]: ( + event: Events.FRAG_PARSING_INIT_SEGMENT, + data: FragParsingInitSegmentData + ) => void; + // (undocumented) + [Events.FRAG_PARSING_METADATA]: ( + event: Events.FRAG_PARSING_METADATA, + data: FragParsingMetadataData + ) => void; + // (undocumented) + [Events.FRAG_PARSING_USERDATA]: ( + event: Events.FRAG_PARSING_USERDATA, + data: FragParsingUserdataData + ) => void; + // (undocumented) + [Events.INIT_PTS_FOUND]: ( + event: Events.INIT_PTS_FOUND, + data: InitPTSFoundData + ) => void; + // (undocumented) + [Events.KEY_LOADED]: (event: Events.KEY_LOADED, data: KeyLoadedData) => void; + // (undocumented) + [Events.KEY_LOADING]: ( + event: Events.KEY_LOADING, + data: KeyLoadingData + ) => void; + // (undocumented) + [Events.LEVEL_LOADED]: ( + event: Events.LEVEL_LOADED, + data: LevelLoadedData + ) => void; + // (undocumented) + [Events.LEVEL_LOADING]: ( + event: Events.LEVEL_LOADING, + data: LevelLoadingData + ) => void; + // (undocumented) + [Events.LEVEL_PTS_UPDATED]: ( + event: Events.LEVEL_PTS_UPDATED, + data: LevelPTSUpdatedData + ) => void; + // (undocumented) + [Events.LEVELS_UPDATED]: ( + event: Events.LEVELS_UPDATED, + data: LevelsUpdatedData + ) => void; + // (undocumented) + [Events.LEVEL_SWITCHED]: ( + event: Events.LEVEL_SWITCHED, + data: LevelSwitchedData + ) => void; + // (undocumented) + [Events.LEVEL_SWITCHING]: ( + event: Events.LEVEL_SWITCHING, + data: LevelSwitchingData + ) => void; + // (undocumented) + [Events.LEVEL_UPDATED]: ( + event: Events.LEVEL_UPDATED, + data: LevelUpdatedData + ) => void; + // (undocumented) + [Events.LIVE_BACK_BUFFER_REACHED]: ( + event: Events.LIVE_BACK_BUFFER_REACHED, + data: LiveBackBufferData + ) => void; + // (undocumented) + [Events.MANIFEST_LOADED]: ( + event: Events.MANIFEST_LOADED, + data: ManifestLoadedData + ) => void; + // (undocumented) + [Events.MANIFEST_LOADING]: ( + event: Events.MANIFEST_LOADING, + data: ManifestLoadingData + ) => void; + // (undocumented) + [Events.MANIFEST_PARSED]: ( + event: Events.MANIFEST_PARSED, + data: ManifestParsedData + ) => void; + // (undocumented) + [Events.MEDIA_ATTACHED]: ( + event: Events.MEDIA_ATTACHED, + data: MediaAttachedData + ) => void; + // (undocumented) + [Events.MEDIA_ATTACHING]: ( + event: Events.MEDIA_ATTACHING, + data: MediaAttachingData + ) => void; + // (undocumented) + [Events.MEDIA_DETACHED]: (event: Events.MEDIA_DETACHED) => void; + // (undocumented) + [Events.MEDIA_DETACHING]: (event: Events.MEDIA_DETACHING) => void; + // (undocumented) + [Events.NON_NATIVE_TEXT_TRACKS_FOUND]: ( + event: Events.NON_NATIVE_TEXT_TRACKS_FOUND, + data: NonNativeTextTracksData + ) => void; + // (undocumented) + [Events.SUBTITLE_FRAG_PROCESSED]: ( + event: Events.SUBTITLE_FRAG_PROCESSED, + data: SubtitleFragProcessedData + ) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_LOADED]: ( + event: Events.SUBTITLE_TRACK_LOADED, + data: SubtitleTrackLoadedData + ) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_LOADING]: ( + event: Events.SUBTITLE_TRACK_LOADING, + data: TrackLoadingData + ) => void; + // (undocumented) + [Events.SUBTITLE_TRACKS_CLEARED]: ( + event: Events.SUBTITLE_TRACKS_CLEARED + ) => void; + // (undocumented) + [Events.SUBTITLE_TRACKS_UPDATED]: ( + event: Events.SUBTITLE_TRACKS_UPDATED, + data: SubtitleTracksUpdatedData + ) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_SWITCH]: ( + event: Events.SUBTITLE_TRACK_SWITCH, + data: SubtitleTrackSwitchData + ) => void; +} + +// Warning: (ae-missing-release-tag) "HlsPerformanceTiming" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface HlsPerformanceTiming { + // (undocumented) + end: number; + // (undocumented) + start: number; +} + +// Warning: (ae-missing-release-tag) "HlsProgressivePerformanceTiming" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface HlsProgressivePerformanceTiming extends HlsPerformanceTiming { + // (undocumented) + first: number; +} + +// Warning: (ae-missing-release-tag) "HlsSkip" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export enum HlsSkip { + // (undocumented) + No = '', + // (undocumented) + v2 = 'v2', + // (undocumented) + Yes = 'YES', +} + +// Warning: (ae-missing-release-tag) "HlsUrlParameters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class HlsUrlParameters { + constructor(msn: number, part?: number, skip?: HlsSkip); + // (undocumented) + addDirectives(uri: string): string | never; + // (undocumented) + msn: number; + // (undocumented) + part?: number; + // (undocumented) + skip?: HlsSkip; +} + +// Warning: (ae-missing-release-tag) "InitPTSFoundData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface InitPTSFoundData { + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + initPTS: number; + // (undocumented) + timescale: number; +} + +// Warning: (ae-missing-release-tag) "KeyLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface KeyLoadedData { + // (undocumented) + frag: Fragment; +} + +// Warning: (ae-missing-release-tag) "KeyLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface KeyLoadingData { + // (undocumented) + frag: Fragment; +} + +// Warning: (tsdoc-unsupported-tag) The TSDoc tag "@see" is not supported by this tool +// Warning: (ae-missing-release-tag) "KeySystems" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export enum KeySystems { + // (undocumented) + PLAYREADY = 'com.microsoft.playready', + // (undocumented) + WIDEVINE = 'com.widevine.alpha', +} + +// Warning: (ae-missing-release-tag) "LatencyControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type LatencyControllerConfig = { + liveSyncDurationCount: number; + liveMaxLatencyDurationCount: number; + liveSyncDuration?: number; + liveMaxLatencyDuration?: number; + maxLiveSyncPlaybackRate: number; +}; + +// Warning: (ae-missing-release-tag) "Level" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class Level { + constructor(data: LevelParsed); + // (undocumented) + readonly attrs: LevelAttributes; + // (undocumented) + readonly audioCodec: string | undefined; + // (undocumented) + audioGroupIds?: string[]; + // (undocumented) + readonly bitrate: number; + // (undocumented) + readonly codecSet: string; + // (undocumented) + details?: LevelDetails; + // (undocumented) + fragmentError: number; + // (undocumented) + readonly height: number; + // (undocumented) + readonly id: number; + // (undocumented) + loaded?: { + bytes: number; + duration: number; + }; + // (undocumented) + loadError: number; + // (undocumented) + get maxBitrate(): number; + // (undocumented) + readonly name: string | undefined; + // (undocumented) + realBitrate: number; + // (undocumented) + textGroupIds?: string[]; + // (undocumented) + readonly unknownCodecs: string[] | undefined; + // (undocumented) + get uri(): string; + // (undocumented) + url: string[]; + // (undocumented) + get urlId(): number; + set urlId(value: number); + // (undocumented) + readonly videoCodec: string | undefined; + // (undocumented) + readonly width: number; +} + +// Warning: (ae-missing-release-tag) "LevelAttributes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelAttributes extends AttrList { + // (undocumented) + 'AVERAGE-BANDWIDTH'?: string; + // (undocumented) + 'CLOSED-CAPTIONS'?: string; + // (undocumented) + 'FRAME-RATE'?: string; + // (undocumented) + 'PROGRAM-ID'?: string; + // (undocumented) + AUDIO?: string; + // (undocumented) + AUTOSELECT?: string; + // (undocumented) + BANDWIDTH?: string; + // (undocumented) + BYTERANGE?: string; + // (undocumented) + CODECS?: string; + // (undocumented) + DEFAULT?: string; + // (undocumented) + FORCED?: string; + // (undocumented) + LANGUAGE?: string; + // (undocumented) + NAME?: string; + // (undocumented) + RESOLUTION?: string; + // (undocumented) + SUBTITLES?: string; + // (undocumented) + TYPE?: string; + // (undocumented) + URI?: string; +} + +// Warning: (ae-missing-release-tag) "LevelControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type LevelControllerConfig = { + startLevel?: number; +}; + +// Warning: (ae-missing-release-tag) "LevelDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class LevelDetails { + constructor(baseUrl: any); + // (undocumented) + advanced: boolean; + // (undocumented) + advancedDateTime?: number; + // (undocumented) + get age(): number; + // (undocumented) + ageHeader: number; + // (undocumented) + alignedSliding: boolean; + // (undocumented) + availabilityDelay?: number; + // (undocumented) + averagetargetduration?: number; + // (undocumented) + canBlockReload: boolean; + // (undocumented) + canSkipDateRanges: boolean; + // (undocumented) + canSkipUntil: number; + // (undocumented) + deltaUpdateFailed?: boolean; + // (undocumented) + get edge(): number; + // (undocumented) + endCC: number; + // (undocumented) + endSN: number; + // (undocumented) + get fragmentEnd(): number; + // (undocumented) + fragmentHint?: Fragment; + // (undocumented) + fragments: Fragment[]; + // (undocumented) + get hasProgramDateTime(): boolean; + // (undocumented) + holdBack: number; + // (undocumented) + initSegment: Fragment | null; + // (undocumented) + get lastPartIndex(): number; + // (undocumented) + get lastPartSn(): number; + // (undocumented) + get levelTargetDuration(): number; + // (undocumented) + live: boolean; + // (undocumented) + m3u8: string; + // (undocumented) + misses: number; + // (undocumented) + needSidxRanges: boolean; + // (undocumented) + get partEnd(): number; + // (undocumented) + partHoldBack: number; + // (undocumented) + partList: Part[] | null; + // (undocumented) + partTarget: number; + // (undocumented) + preloadHint?: AttrList; + // (undocumented) + PTSKnown: boolean; + // (undocumented) + recentlyRemovedDateranges?: string[]; + // (undocumented) + reloaded(previous: LevelDetails | undefined): void; + // (undocumented) + renditionReports?: AttrList[]; + // (undocumented) + skippedSegments: number; + // (undocumented) + startCC: number; + // (undocumented) + startSN: number; + // (undocumented) + startTimeOffset: number | null; + // (undocumented) + targetduration: number; + // (undocumented) + totalduration: number; + // (undocumented) + tuneInGoal: number; + // (undocumented) + type: string | null; + // (undocumented) + updated: boolean; + // (undocumented) + url: string; + // (undocumented) + version: number | null; +} + +// Warning: (ae-missing-release-tag) "LevelKey" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class LevelKey { + // (undocumented) + static fromURI(uri: string): LevelKey; + // (undocumented) + static fromURL(baseUrl: string, relativeUrl: string): LevelKey; + // (undocumented) + iv: Uint8Array | null; + // (undocumented) + key: Uint8Array | null; + // (undocumented) + keyFormat: string | null; + // (undocumented) + keyFormatVersions: string | null; + // (undocumented) + keyID: string | null; + // (undocumented) + method: string | null; + // (undocumented) + get uri(): string | null; +} + +// Warning: (ae-missing-release-tag) "LevelLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelLoadedData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + details: LevelDetails; + // (undocumented) + id: number; + // (undocumented) + level: number; + // (undocumented) + networkDetails: any; + // (undocumented) + stats: LoaderStats; +} + +// Warning: (ae-missing-release-tag) "LevelLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelLoadingData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + id: number; + // (undocumented) + level: number; + // (undocumented) + url: string; +} + +// Warning: (ae-missing-release-tag) "LevelParsed" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelParsed { + // (undocumented) + attrs: LevelAttributes; + // (undocumented) + audioCodec?: string; + // (undocumented) + bitrate: number; + // (undocumented) + details?: LevelDetails; + // (undocumented) + height?: number; + // (undocumented) + id?: number; + // (undocumented) + level?: number; + // (undocumented) + name: string; + // (undocumented) + textCodec?: string; + // (undocumented) + unknownCodecs?: string[]; + // (undocumented) + url: string; + // (undocumented) + videoCodec?: string; + // (undocumented) + width?: number; +} + +// Warning: (ae-missing-release-tag) "LevelPTSUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelPTSUpdatedData { + // (undocumented) + details: LevelDetails; + // (undocumented) + drift: number; + // (undocumented) + end: number; + // (undocumented) + frag: Fragment; + // (undocumented) + level: Level; + // (undocumented) + start: number; + // (undocumented) + type: string; +} + +// Warning: (ae-missing-release-tag) "LevelsUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelsUpdatedData { + // (undocumented) + levels: Array; +} + +// Warning: (ae-missing-release-tag) "LevelSwitchedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelSwitchedData { + // (undocumented) + level: number; +} + +// Warning: (ae-missing-release-tag) "LevelSwitchingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelSwitchingData extends Omit { + // (undocumented) + level: number; +} + +// Warning: (ae-missing-release-tag) "LevelUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LevelUpdatedData { + // (undocumented) + details: LevelDetails; + // (undocumented) + level: number; +} + +// Warning: (ae-missing-release-tag) "LiveBackBufferData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LiveBackBufferData { + // (undocumented) + bufferEnd: number; +} + +// Warning: (ae-missing-release-tag) "Loader" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface Loader { + // (undocumented) + abort(): void; + // (undocumented) + context: T; + // (undocumented) + destroy(): void; + // (undocumented) + getResponseHeader(name: string): string | null; + // (undocumented) + load( + context: LoaderContext, + config: LoaderConfiguration, + callbacks: LoaderCallbacks + ): void; + // (undocumented) + loader: any; + // (undocumented) + stats: LoaderStats; +} + +// Warning: (ae-missing-release-tag) "LoaderCallbacks" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LoaderCallbacks { + // (undocumented) + onAbort?: LoaderOnAbort; + // (undocumented) + onError: LoaderOnError; + // (undocumented) + onProgress?: LoaderOnProgress; + // (undocumented) + onSuccess: LoaderOnSuccess; + // (undocumented) + onTimeout: LoaderOnTimeout; +} + +// Warning: (ae-missing-release-tag) "LoaderConfiguration" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LoaderConfiguration { + // (undocumented) + highWaterMark: number; + // (undocumented) + maxRetry: number; + // (undocumented) + maxRetryDelay: number; + // (undocumented) + retryDelay: number; + // (undocumented) + timeout: number; +} + +// Warning: (ae-missing-release-tag) "LoaderContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LoaderContext { + // (undocumented) + progressData?: boolean; + // (undocumented) + rangeEnd?: number; + // (undocumented) + rangeStart?: number; + // (undocumented) + responseType: string; + // (undocumented) + url: string; +} + +// Warning: (ae-missing-release-tag) "LoaderOnAbort" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type LoaderOnAbort = ( + stats: LoaderStats, + context: T, + networkDetails: any +) => void; + +// Warning: (ae-missing-release-tag) "LoaderOnError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type LoaderOnError = ( + error: { + code: number; + text: string; + }, + context: T, + networkDetails: any +) => void; + +// Warning: (ae-missing-release-tag) "LoaderOnProgress" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type LoaderOnProgress = ( + stats: LoaderStats, + context: T, + data: string | ArrayBuffer, + networkDetails: any +) => void; + +// Warning: (ae-missing-release-tag) "LoaderOnSuccess" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type LoaderOnSuccess = ( + response: LoaderResponse, + stats: LoaderStats, + context: T, + networkDetails: any +) => void; + +// Warning: (ae-missing-release-tag) "LoaderOnTimeout" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type LoaderOnTimeout = ( + stats: LoaderStats, + context: T, + networkDetails: any +) => void; + +// Warning: (ae-missing-release-tag) "LoaderResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LoaderResponse { + // (undocumented) + data: string | ArrayBuffer; + // (undocumented) + url: string; +} + +// Warning: (ae-missing-release-tag) "LoaderStats" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface LoaderStats { + // (undocumented) + aborted: boolean; + // (undocumented) + buffering: HlsProgressivePerformanceTiming; + // (undocumented) + bwEstimate: number; + // (undocumented) + chunkCount: number; + // (undocumented) + loaded: number; + // (undocumented) + loading: HlsProgressivePerformanceTiming; + // (undocumented) + parsing: HlsPerformanceTiming; + // (undocumented) + retry: number; + // (undocumented) + total: number; +} + +// Warning: (ae-missing-release-tag) "LoadStats" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class LoadStats implements LoaderStats { + // (undocumented) + aborted: boolean; + // (undocumented) + buffering: HlsProgressivePerformanceTiming; + // (undocumented) + bwEstimate: number; + // (undocumented) + chunkCount: number; + // (undocumented) + loaded: number; + // (undocumented) + loading: HlsProgressivePerformanceTiming; + // (undocumented) + parsing: HlsPerformanceTiming; + // (undocumented) + retry: number; + // (undocumented) + total: number; +} + +// Warning: (ae-missing-release-tag) "MainPlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type MainPlaylistType = AudioPlaylistType | 'VIDEO'; + +// Warning: (ae-missing-release-tag) "ManifestLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ManifestLoadedData { + // (undocumented) + audioTracks: MediaPlaylist[]; + // (undocumented) + captions?: MediaPlaylist[]; + // (undocumented) + levels: LevelParsed[]; + // (undocumented) + networkDetails: any; + // (undocumented) + sessionData: Record | null; + // (undocumented) + stats: LoaderStats; + // (undocumented) + subtitles?: MediaPlaylist[]; + // (undocumented) + url: string; +} + +// Warning: (ae-missing-release-tag) "ManifestLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ManifestLoadingData { + // (undocumented) + url: string; +} + +// Warning: (ae-missing-release-tag) "ManifestParsedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ManifestParsedData { + // (undocumented) + altAudio: boolean; + // (undocumented) + audio: boolean; + // (undocumented) + audioTracks: MediaPlaylist[]; + // (undocumented) + firstLevel: number; + // (undocumented) + levels: Level[]; + // (undocumented) + stats: LoaderStats; + // (undocumented) + subtitleTracks: MediaPlaylist[]; + // (undocumented) + video: boolean; +} + +// Warning: (ae-missing-release-tag) "MediaAttachedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface MediaAttachedData { + // (undocumented) + media: HTMLMediaElement; +} + +// Warning: (ae-missing-release-tag) "MediaAttachingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface MediaAttachingData { + // (undocumented) + media: HTMLMediaElement; +} + +// Warning: (ae-missing-release-tag) "MediaKeyFunc" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type MediaKeyFunc = ( + keySystem: KeySystems, + supportedConfigurations: MediaKeySystemConfiguration[] +) => Promise; + +// Warning: (ae-missing-release-tag) "MediaPlaylist" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface MediaPlaylist extends LevelParsed { + // (undocumented) + autoselect: boolean; + // (undocumented) + default: boolean; + // (undocumented) + forced: boolean; + // (undocumented) + groupId?: string; + // (undocumented) + id: number; + // (undocumented) + instreamId?: string; + // (undocumented) + lang?: string; + // (undocumented) + name: string; + // (undocumented) + type: MediaPlaylistType | 'main'; +} + +// Warning: (ae-missing-release-tag) "MediaPlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type MediaPlaylistType = MainPlaylistType | SubtitlePlaylistType; + +// Warning: (ae-missing-release-tag) "MetadataSample" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface MetadataSample { + // (undocumented) + data: Uint8Array; + // (undocumented) + dts: number; + // (undocumented) + len?: number; + // (undocumented) + pts: number; +} + +// Warning: (ae-missing-release-tag) "MP4RemuxerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type MP4RemuxerConfig = { + stretchShortVideoTrack: boolean; + maxAudioFramesDrift: number; +}; + +// Warning: (ae-missing-release-tag) "NonNativeTextTrack" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface NonNativeTextTrack { + // (undocumented) + closedCaptions?: MediaPlaylist; + // (undocumented) + default: boolean; + // (undocumented) + _id?: string; + // (undocumented) + kind: string; + // (undocumented) + label: any; + // (undocumented) + subtitleTrack?: MediaPlaylist; +} + +// Warning: (ae-missing-release-tag) "NonNativeTextTracksData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface NonNativeTextTracksData { + // (undocumented) + tracks: Array; +} + +// Warning: (ae-missing-release-tag) "Part" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class Part extends BaseSegment { + constructor( + partAttrs: AttrList, + frag: Fragment, + baseurl: string, + index: number, + previous?: Part + ); + // (undocumented) + readonly duration: number; + // (undocumented) + get end(): number; + // (undocumented) + readonly fragment: Fragment; + // (undocumented) + readonly fragOffset: number; + // (undocumented) + readonly gap: boolean; + // (undocumented) + readonly independent: boolean; + // (undocumented) + readonly index: number; + // (undocumented) + get loaded(): boolean; + // (undocumented) + readonly relurl: string; + // (undocumented) + get start(): number; + // (undocumented) + stats: LoadStats; +} + +// Warning: (ae-missing-release-tag) "PlaylistContextType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export enum PlaylistContextType { + // (undocumented) + AUDIO_TRACK = 'audioTrack', + // (undocumented) + LEVEL = 'level', + // (undocumented) + MANIFEST = 'manifest', + // (undocumented) + SUBTITLE_TRACK = 'subtitleTrack', +} + +// Warning: (ae-missing-release-tag) "PlaylistLevelType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export enum PlaylistLevelType { + // (undocumented) + AUDIO = 'audio', + // (undocumented) + MAIN = 'main', + // (undocumented) + SUBTITLE = 'subtitle', +} + +// Warning: (ae-missing-release-tag) "PlaylistLoaderConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type PlaylistLoaderConfig = { + pLoader?: { + new (confg: HlsConfig): Loader; + }; + manifestLoadingTimeOut: number; + manifestLoadingMaxRetry: number; + manifestLoadingRetryDelay: number; + manifestLoadingMaxRetryTimeout: number; + levelLoadingTimeOut: number; + levelLoadingMaxRetry: number; + levelLoadingRetryDelay: number; + levelLoadingMaxRetryTimeout: number; +}; + +// Warning: (ae-missing-release-tag) "PlaylistLoaderContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface PlaylistLoaderContext extends LoaderContext { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + groupId: string | null; + // (undocumented) + id: number | null; + // (undocumented) + isSidxRequest?: boolean; + // (undocumented) + level: number | null; + // (undocumented) + levelDetails?: LevelDetails; + // (undocumented) + loader?: Loader; + // (undocumented) + type: PlaylistContextType; +} + +// Warning: (ae-missing-release-tag) "SourceBufferName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type SourceBufferName = 'video' | 'audio' | 'audiovideo'; + +// Warning: (ae-missing-release-tag) "StreamControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type StreamControllerConfig = { + autoStartLoad: boolean; + startPosition: number; + defaultAudioCodec?: string; + initialLiveManifestSize: number; + maxBufferLength: number; + maxBufferSize: number; + maxBufferHole: number; + highBufferWatchdogPeriod: number; + nudgeOffset: number; + nudgeMaxRetry: number; + maxFragLookUpTolerance: number; + maxMaxBufferLength: number; + startFragPrefetch: boolean; + testBandwidth: boolean; +}; + +// Warning: (ae-missing-release-tag) "SubtitleFragProcessedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface SubtitleFragProcessedData { + // (undocumented) + error?: Error; + // (undocumented) + frag: Fragment; + // (undocumented) + success: boolean; +} + +// Warning: (ae-missing-release-tag) "SubtitlePlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type SubtitlePlaylistType = 'SUBTITLES' | 'CLOSED-CAPTIONS'; + +// Warning: (ae-missing-release-tag) "SubtitleTrackLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface SubtitleTrackLoadedData extends TrackLoadedData {} + +// Warning: (ae-missing-release-tag) "SubtitleTracksUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface SubtitleTracksUpdatedData { + // (undocumented) + subtitleTracks: MediaPlaylist[]; +} + +// Warning: (ae-missing-release-tag) "SubtitleTrackSwitchData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface SubtitleTrackSwitchData { + // (undocumented) + id: number; + // (undocumented) + type?: MediaPlaylistType | 'main'; + // (undocumented) + url?: string; +} + +// Warning: (ae-missing-release-tag) "TimelineControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type TimelineControllerConfig = { + cueHandler: CuesInterface; + enableCEA708Captions: boolean; + enableWebVTT: boolean; + enableIMSC1: boolean; + captionsTextTrack1Label: string; + captionsTextTrack1LanguageCode: string; + captionsTextTrack2Label: string; + captionsTextTrack2LanguageCode: string; + captionsTextTrack3Label: string; + captionsTextTrack3LanguageCode: string; + captionsTextTrack4Label: string; + captionsTextTrack4LanguageCode: string; + renderTextTracksNatively: boolean; +}; + +// Warning: (ae-missing-release-tag) "Track" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface Track { + // (undocumented) + buffer?: SourceBuffer; + // (undocumented) + codec?: string; + // (undocumented) + container: string; + // (undocumented) + id: 'audio' | 'main'; + // (undocumented) + initSegment?: Uint8Array; + // (undocumented) + levelCodec?: string; + // (undocumented) + metadata?: any; +} + +// Warning: (ae-missing-release-tag) "TrackLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface TrackLoadedData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + details: LevelDetails; + // (undocumented) + groupId: string; + // (undocumented) + id: number; + // (undocumented) + networkDetails: any; + // (undocumented) + stats: LoaderStats; +} + +// Warning: (ae-missing-release-tag) "TrackLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface TrackLoadingData { + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + groupId: string; + // (undocumented) + id: number; + // (undocumented) + url: string; +} + +// Warning: (ae-missing-release-tag) "TrackSet" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface TrackSet { + // (undocumented) + audio?: Track; + // (undocumented) + audiovideo?: Track; + // (undocumented) + video?: Track; +} + +// Warning: (ae-missing-release-tag) "TSDemuxerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type TSDemuxerConfig = { + forceKeyFrameOnDiscontinuity: boolean; +}; + +// Warning: (ae-missing-release-tag) "UserdataSample" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface UserdataSample { + // (undocumented) + bytes: Uint8Array; + // (undocumented) + pts: number; +} + +// Warnings were encountered during analysis: +// +// src/config.ts:153:3 - (ae-forgotten-export) The symbol "AudioStreamController" needs to be exported by the entry point hls.d.ts +// src/config.ts:154:3 - (ae-forgotten-export) The symbol "AudioTrackController" needs to be exported by the entry point hls.d.ts +// src/config.ts:156:3 - (ae-forgotten-export) The symbol "SubtitleStreamController" needs to be exported by the entry point hls.d.ts +// src/config.ts:157:3 - (ae-forgotten-export) The symbol "SubtitleTrackController" needs to be exported by the entry point hls.d.ts +// src/config.ts:158:3 - (ae-forgotten-export) The symbol "TimelineController" needs to be exported by the entry point hls.d.ts +// src/config.ts:160:3 - (ae-forgotten-export) The symbol "EMEController" needs to be exported by the entry point hls.d.ts +// src/config.ts:162:3 - (ae-forgotten-export) The symbol "AbrController" needs to be exported by the entry point hls.d.ts +// src/config.ts:163:3 - (ae-forgotten-export) The symbol "BufferController" needs to be exported by the entry point hls.d.ts +// src/config.ts:164:3 - (ae-forgotten-export) The symbol "CapLevelController" needs to be exported by the entry point hls.d.ts +// src/config.ts:165:3 - (ae-forgotten-export) The symbol "FPSController" needs to be exported by the entry point hls.d.ts + +// (No @packageDocumentation comment for this package) +``` From 4d08cd2a94632be26137442741a6c74357403fd2 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:24:14 +0000 Subject: [PATCH 10/18] fix comment warning --- .prettierignore | 2 +- api-extractor/report/hls.js.api.md | 3343 +++++++++---------- src/controller/subtitle-track-controller.ts | 3 +- 3 files changed, 1551 insertions(+), 1797 deletions(-) diff --git a/.prettierignore b/.prettierignore index 892d98f2cda..4415419ddc1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,4 +3,4 @@ package-lock.json /coverage libs/ -docs/hls.js.api.md +api-extractor/report* diff --git a/api-extractor/report/hls.js.api.md b/api-extractor/report/hls.js.api.md index 968c369c873..66da72dd1a7 100644 --- a/api-extractor/report/hls.js.api.md +++ b/api-extractor/report/hls.js.api.md @@ -3,54 +3,51 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts + // Warning: (ae-missing-release-tag) "ABRControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type ABRControllerConfig = { - abrEwmaFastLive: number; - abrEwmaSlowLive: number; - abrEwmaFastVoD: number; - abrEwmaSlowVoD: number; - abrEwmaDefaultEstimate: number; - abrBandWidthFactor: number; - abrBandWidthUpFactor: number; - abrMaxWithRealBitrate: boolean; - maxStarvationDelay: number; - maxLoadingDelay: number; + abrEwmaFastLive: number; + abrEwmaSlowLive: number; + abrEwmaFastVoD: number; + abrEwmaSlowVoD: number; + abrEwmaDefaultEstimate: number; + abrBandWidthFactor: number; + abrBandWidthUpFactor: number; + abrMaxWithRealBitrate: boolean; + maxStarvationDelay: number; + maxLoadingDelay: number; }; // Warning: (ae-missing-release-tag) "AttrList" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class AttrList { - constructor(attrs: string | Record); - // (undocumented) - [key: string]: any; - // (undocumented) - bool(attrName: string): boolean; - // (undocumented) - decimalFloatingPoint(attrName: string): number; - // (undocumented) - decimalInteger(attrName: string): number; - // (undocumented) - decimalResolution( - attrName: string - ): - | { + constructor(attrs: string | Record); + // (undocumented) + [key: string]: any; + // (undocumented) + bool(attrName: string): boolean; + // (undocumented) + decimalFloatingPoint(attrName: string): number; + // (undocumented) + decimalInteger(attrName: string): number; + // (undocumented) + decimalResolution(attrName: string): { width: number; height: number; - } - | undefined; - // (undocumented) - enumeratedString(attrName: string): string | undefined; - // (undocumented) - hexadecimalInteger(attrName: string): Uint8Array | null; - // (undocumented) - hexadecimalIntegerAsNumber(attrName: string): number; - // (undocumented) - optionalFloat(attrName: string, defaultValue: number): number; - // (undocumented) - static parseAttrList(input: string): Record; + } | undefined; + // (undocumented) + enumeratedString(attrName: string): string | undefined; + // (undocumented) + hexadecimalInteger(attrName: string): Uint8Array | null; + // (undocumented) + hexadecimalIntegerAsNumber(attrName: string): number; + // (undocumented) + optionalFloat(attrName: string, defaultValue: number): number; + // (undocumented) + static parseAttrList(input: string): Record; } // Warning: (ae-missing-release-tag) "AudioPlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -61,316 +58,302 @@ export type AudioPlaylistType = 'AUDIO'; // Warning: (ae-missing-release-tag) "AudioTrackLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export interface AudioTrackLoadedData extends TrackLoadedData {} +export interface AudioTrackLoadedData extends TrackLoadedData { +} // Warning: (ae-missing-release-tag) "AudioTracksUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface AudioTracksUpdatedData { - // (undocumented) - audioTracks: MediaPlaylist[]; + // (undocumented) + audioTracks: MediaPlaylist[]; } // Warning: (ae-missing-release-tag) "AudioTrackSwitchedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface AudioTrackSwitchedData { - // (undocumented) - id: number; + // (undocumented) + id: number; } // Warning: (ae-missing-release-tag) "AudioTrackSwitchingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface AudioTrackSwitchingData { - // (undocumented) - id: number; - // (undocumented) - type: MediaPlaylistType | 'main'; - // (undocumented) - url: string; + // (undocumented) + id: number; + // (undocumented) + type: MediaPlaylistType | 'main'; + // (undocumented) + url: string; } // Warning: (ae-missing-release-tag) "BaseSegment" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class BaseSegment { - constructor(baseurl: string); - // (undocumented) - readonly baseurl: string; - // (undocumented) - get byteRange(): number[]; - // (undocumented) - get byteRangeEndOffset(): number; - // (undocumented) - get byteRangeStartOffset(): number; - // (undocumented) - elementaryStreams: ElementaryStreams; - // (undocumented) - relurl?: string; - // (undocumented) - setByteRange(value: string, previous?: BaseSegment): void; - // (undocumented) - get url(): string; - set url(value: string); -} + constructor(baseurl: string); + // (undocumented) + readonly baseurl: string; + // (undocumented) + get byteRange(): number[]; + // (undocumented) + get byteRangeEndOffset(): number; + // (undocumented) + get byteRangeStartOffset(): number; + // (undocumented) + elementaryStreams: ElementaryStreams; + // (undocumented) + relurl?: string; + // (undocumented) + setByteRange(value: string, previous?: BaseSegment): void; + // (undocumented) + get url(): string; + set url(value: string); + } // Warning: (ae-missing-release-tag) "BufferAppendedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface BufferAppendedData { - // (undocumented) - chunkMeta: ChunkMetadata; - // (undocumented) - frag: Fragment; - // (undocumented) - parent: PlaylistLevelType; - // (undocumented) - part: Part | null; - // (undocumented) - timeRanges: { - audio?: TimeRanges; - video?: TimeRanges; - audiovideo?: TimeRanges; - }; + // (undocumented) + chunkMeta: ChunkMetadata; + // (undocumented) + frag: Fragment; + // (undocumented) + parent: PlaylistLevelType; + // (undocumented) + part: Part | null; + // (undocumented) + timeRanges: { + audio?: TimeRanges; + video?: TimeRanges; + audiovideo?: TimeRanges; + }; } // Warning: (ae-missing-release-tag) "BufferAppendingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface BufferAppendingData { - // (undocumented) - chunkMeta: ChunkMetadata; - // (undocumented) - data: Uint8Array; - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; - // (undocumented) - type: SourceBufferName; + // (undocumented) + chunkMeta: ChunkMetadata; + // (undocumented) + data: Uint8Array; + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; + // (undocumented) + type: SourceBufferName; } // Warning: (ae-missing-release-tag) "BufferCodecsData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface BufferCodecsData { - // (undocumented) - audio?: Track; - // (undocumented) - video?: Track; + // (undocumented) + audio?: Track; + // (undocumented) + video?: Track; } // Warning: (ae-missing-release-tag) "BufferControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type BufferControllerConfig = { - appendErrorMaxRetry: number; - liveDurationInfinity: boolean; - liveBackBufferLength: number; + appendErrorMaxRetry: number; + liveDurationInfinity: boolean; + liveBackBufferLength: number; }; // Warning: (ae-missing-release-tag) "BufferCreatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface BufferCreatedData { - // (undocumented) - tracks: TrackSet; + // (undocumented) + tracks: TrackSet; } // Warning: (ae-missing-release-tag) "BufferEOSData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface BufferEOSData { - // (undocumented) - type?: SourceBufferName; + // (undocumented) + type?: SourceBufferName; } // Warning: (ae-missing-release-tag) "BufferFlushedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface BufferFlushedData { - // (undocumented) - type: SourceBufferName; + // (undocumented) + type: SourceBufferName; } // Warning: (ae-missing-release-tag) "BufferFlushingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface BufferFlushingData { - // (undocumented) - endOffset: number; - // (undocumented) - startOffset: number; - // (undocumented) - type: SourceBufferName | null; + // (undocumented) + endOffset: number; + // (undocumented) + startOffset: number; + // (undocumented) + type: SourceBufferName | null; } // Warning: (ae-missing-release-tag) "CapLevelControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type CapLevelControllerConfig = { - capLevelToPlayerSize: boolean; + capLevelToPlayerSize: boolean; }; // Warning: (ae-missing-release-tag) "ChunkMetadata" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class ChunkMetadata { - constructor( - level: number, - sn: number, - id: number, - size?: number, - part?: number, - partial?: boolean - ); - // (undocumented) - readonly buffering: { - [key in SourceBufferName]: HlsChunkPerformanceTiming; - }; - // (undocumented) - readonly id: number; - // (undocumented) - readonly level: number; - // (undocumented) - readonly part: number; - // (undocumented) - readonly partial: boolean; - // (undocumented) - readonly size: number; - // (undocumented) - readonly sn: number; - // (undocumented) - readonly transmuxing: HlsChunkPerformanceTiming; + constructor(level: number, sn: number, id: number, size?: number, part?: number, partial?: boolean); + // (undocumented) + readonly buffering: { + [key in SourceBufferName]: HlsChunkPerformanceTiming; + }; + // (undocumented) + readonly id: number; + // (undocumented) + readonly level: number; + // (undocumented) + readonly part: number; + // (undocumented) + readonly partial: boolean; + // (undocumented) + readonly size: number; + // (undocumented) + readonly sn: number; + // (undocumented) + readonly transmuxing: HlsChunkPerformanceTiming; } // Warning: (ae-missing-release-tag) "CuesInterface" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface CuesInterface { - // Warning: (ae-forgotten-export) The symbol "CaptionScreen" needs to be exported by the entry point hls.d.ts - // - // (undocumented) - newCue( - track: TextTrack | null, - startTime: number, - endTime: number, - captionScreen: CaptionScreen - ): VTTCue[]; + // Warning: (ae-forgotten-export) The symbol "CaptionScreen" needs to be exported by the entry point hls.d.ts + // + // (undocumented) + newCue(track: TextTrack | null, startTime: number, endTime: number, captionScreen: CaptionScreen): VTTCue[]; } // Warning: (ae-missing-release-tag) "CuesParsedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface CuesParsedData { - // (undocumented) - cues: any; - // (undocumented) - track: string; - // (undocumented) - type: 'captions' | 'subtitles'; + // (undocumented) + cues: any; + // (undocumented) + track: string; + // (undocumented) + type: 'captions' | 'subtitles'; } // Warning: (ae-missing-release-tag) "DRMSystemOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type DRMSystemOptions = { - audioRobustness?: string; - videoRobustness?: string; + audioRobustness?: string; + videoRobustness?: string; }; // Warning: (ae-missing-release-tag) "ElementaryStreamInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface ElementaryStreamInfo { - // (undocumented) - endDTS: number; - // (undocumented) - endPTS: number; - // (undocumented) - partial?: boolean; - // (undocumented) - startDTS: number; - // (undocumented) - startPTS: number; + // (undocumented) + endDTS: number; + // (undocumented) + endPTS: number; + // (undocumented) + partial?: boolean; + // (undocumented) + startDTS: number; + // (undocumented) + startPTS: number; } // Warning: (ae-missing-release-tag) "ElementaryStreams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export type ElementaryStreams = Record< - ElementaryStreamTypes, - ElementaryStreamInfo | null ->; +export type ElementaryStreams = Record; // Warning: (ae-missing-release-tag) "ElementaryStreamTypes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export enum ElementaryStreamTypes { - // (undocumented) - AUDIO = 'audio', - // (undocumented) - AUDIOVIDEO = 'audiovideo', - // (undocumented) - VIDEO = 'video', + // (undocumented) + AUDIO = "audio", + // (undocumented) + AUDIOVIDEO = "audiovideo", + // (undocumented) + VIDEO = "video" } // Warning: (ae-missing-release-tag) "EMEControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type EMEControllerConfig = { - licenseXhrSetup?: (xhr: XMLHttpRequest, url: string) => void; - emeEnabled: boolean; - widevineLicenseUrl?: string; - drmSystemOptions: DRMSystemOptions; - requestMediaKeySystemAccessFunc: MediaKeyFunc | null; + licenseXhrSetup?: (xhr: XMLHttpRequest, url: string) => void; + emeEnabled: boolean; + widevineLicenseUrl?: string; + drmSystemOptions: DRMSystemOptions; + requestMediaKeySystemAccessFunc: MediaKeyFunc | null; }; // Warning: (ae-missing-release-tag) "ErrorData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface ErrorData { - // (undocumented) - buffer?: number; - // (undocumented) - bytes?: number; - // (undocumented) - context?: PlaylistLoaderContext; - // (undocumented) - details: ErrorDetails; - // (undocumented) - err?: { - message: string; - }; - // (undocumented) - error?: Error; - // (undocumented) - event?: keyof HlsListeners | 'demuxerWorker'; - // (undocumented) - fatal: boolean; - // (undocumented) - frag?: Fragment; - // (undocumented) - level?: number | undefined; - // (undocumented) - levelRetry?: boolean; - // (undocumented) - loader?: Loader; - // (undocumented) - mimeType?: string; - // (undocumented) - networkDetails?: any; - // (undocumented) - parent?: PlaylistLevelType; - // (undocumented) - reason?: string; - // (undocumented) - response?: LoaderResponse; - // (undocumented) - type: ErrorTypes; - // (undocumented) - url?: string; + // (undocumented) + buffer?: number; + // (undocumented) + bytes?: number; + // (undocumented) + context?: PlaylistLoaderContext; + // (undocumented) + details: ErrorDetails; + // (undocumented) + err?: { + message: string; + }; + // (undocumented) + error?: Error; + // (undocumented) + event?: keyof HlsListeners | 'demuxerWorker'; + // (undocumented) + fatal: boolean; + // (undocumented) + frag?: Fragment; + // (undocumented) + level?: number | undefined; + // (undocumented) + levelRetry?: boolean; + // (undocumented) + loader?: Loader; + // (undocumented) + mimeType?: string; + // (undocumented) + networkDetails?: any; + // (undocumented) + parent?: PlaylistLevelType; + // (undocumented) + reason?: string; + // (undocumented) + response?: LoaderResponse; + // (undocumented) + type: ErrorTypes; + // (undocumented) + url?: string; } // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag @@ -383,90 +366,90 @@ export interface ErrorData { // // @public export enum ErrorDetails { - // (undocumented) - AUDIO_TRACK_LOAD_ERROR = 'audioTrackLoadError', - // (undocumented) - AUDIO_TRACK_LOAD_TIMEOUT = 'audioTrackLoadTimeOut', - // (undocumented) - BUFFER_ADD_CODEC_ERROR = 'bufferAddCodecError', - // (undocumented) - BUFFER_APPEND_ERROR = 'bufferAppendError', - // (undocumented) - BUFFER_APPENDING_ERROR = 'bufferAppendingError', - // (undocumented) - BUFFER_FULL_ERROR = 'bufferFullError', - // (undocumented) - BUFFER_NUDGE_ON_STALL = 'bufferNudgeOnStall', - // (undocumented) - BUFFER_SEEK_OVER_HOLE = 'bufferSeekOverHole', - // (undocumented) - BUFFER_STALLED_ERROR = 'bufferStalledError', - // (undocumented) - FRAG_DECRYPT_ERROR = 'fragDecryptError', - // (undocumented) - FRAG_LOAD_ERROR = 'fragLoadError', - // (undocumented) - FRAG_LOAD_TIMEOUT = 'fragLoadTimeOut', - // (undocumented) - FRAG_PARSING_ERROR = 'fragParsingError', - // (undocumented) - INTERNAL_ABORTED = 'aborted', - // (undocumented) - INTERNAL_EXCEPTION = 'internalException', - // (undocumented) - KEY_LOAD_ERROR = 'keyLoadError', - // (undocumented) - KEY_LOAD_TIMEOUT = 'keyLoadTimeOut', - // (undocumented) - KEY_SYSTEM_LICENSE_REQUEST_FAILED = 'keySystemLicenseRequestFailed', - // (undocumented) - KEY_SYSTEM_NO_ACCESS = 'keySystemNoAccess', - // (undocumented) - KEY_SYSTEM_NO_INIT_DATA = 'keySystemNoInitData', - // (undocumented) - KEY_SYSTEM_NO_KEYS = 'keySystemNoKeys', - // (undocumented) - KEY_SYSTEM_NO_SESSION = 'keySystemNoSession', - // (undocumented) - LEVEL_EMPTY_ERROR = 'levelEmptyError', - // (undocumented) - LEVEL_LOAD_ERROR = 'levelLoadError', - // (undocumented) - LEVEL_LOAD_TIMEOUT = 'levelLoadTimeOut', - // (undocumented) - LEVEL_SWITCH_ERROR = 'levelSwitchError', - // (undocumented) - MANIFEST_INCOMPATIBLE_CODECS_ERROR = 'manifestIncompatibleCodecsError', - // (undocumented) - MANIFEST_LOAD_ERROR = 'manifestLoadError', - // (undocumented) - MANIFEST_LOAD_TIMEOUT = 'manifestLoadTimeOut', - // (undocumented) - MANIFEST_PARSING_ERROR = 'manifestParsingError', - // (undocumented) - REMUX_ALLOC_ERROR = 'remuxAllocError', - // (undocumented) - SUBTITLE_LOAD_ERROR = 'subtitleTrackLoadError', - // (undocumented) - SUBTITLE_TRACK_LOAD_TIMEOUT = 'subtitleTrackLoadTimeOut', - // (undocumented) - UNKNOWN = 'unknown', + // (undocumented) + AUDIO_TRACK_LOAD_ERROR = "audioTrackLoadError", + // (undocumented) + AUDIO_TRACK_LOAD_TIMEOUT = "audioTrackLoadTimeOut", + // (undocumented) + BUFFER_ADD_CODEC_ERROR = "bufferAddCodecError", + // (undocumented) + BUFFER_APPEND_ERROR = "bufferAppendError", + // (undocumented) + BUFFER_APPENDING_ERROR = "bufferAppendingError", + // (undocumented) + BUFFER_FULL_ERROR = "bufferFullError", + // (undocumented) + BUFFER_NUDGE_ON_STALL = "bufferNudgeOnStall", + // (undocumented) + BUFFER_SEEK_OVER_HOLE = "bufferSeekOverHole", + // (undocumented) + BUFFER_STALLED_ERROR = "bufferStalledError", + // (undocumented) + FRAG_DECRYPT_ERROR = "fragDecryptError", + // (undocumented) + FRAG_LOAD_ERROR = "fragLoadError", + // (undocumented) + FRAG_LOAD_TIMEOUT = "fragLoadTimeOut", + // (undocumented) + FRAG_PARSING_ERROR = "fragParsingError", + // (undocumented) + INTERNAL_ABORTED = "aborted", + // (undocumented) + INTERNAL_EXCEPTION = "internalException", + // (undocumented) + KEY_LOAD_ERROR = "keyLoadError", + // (undocumented) + KEY_LOAD_TIMEOUT = "keyLoadTimeOut", + // (undocumented) + KEY_SYSTEM_LICENSE_REQUEST_FAILED = "keySystemLicenseRequestFailed", + // (undocumented) + KEY_SYSTEM_NO_ACCESS = "keySystemNoAccess", + // (undocumented) + KEY_SYSTEM_NO_INIT_DATA = "keySystemNoInitData", + // (undocumented) + KEY_SYSTEM_NO_KEYS = "keySystemNoKeys", + // (undocumented) + KEY_SYSTEM_NO_SESSION = "keySystemNoSession", + // (undocumented) + LEVEL_EMPTY_ERROR = "levelEmptyError", + // (undocumented) + LEVEL_LOAD_ERROR = "levelLoadError", + // (undocumented) + LEVEL_LOAD_TIMEOUT = "levelLoadTimeOut", + // (undocumented) + LEVEL_SWITCH_ERROR = "levelSwitchError", + // (undocumented) + MANIFEST_INCOMPATIBLE_CODECS_ERROR = "manifestIncompatibleCodecsError", + // (undocumented) + MANIFEST_LOAD_ERROR = "manifestLoadError", + // (undocumented) + MANIFEST_LOAD_TIMEOUT = "manifestLoadTimeOut", + // (undocumented) + MANIFEST_PARSING_ERROR = "manifestParsingError", + // (undocumented) + REMUX_ALLOC_ERROR = "remuxAllocError", + // (undocumented) + SUBTITLE_LOAD_ERROR = "subtitleTrackLoadError", + // (undocumented) + SUBTITLE_TRACK_LOAD_TIMEOUT = "subtitleTrackLoadTimeOut", + // (undocumented) + UNKNOWN = "unknown" } // Warning: (ae-missing-release-tag) "ErrorTypes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export enum ErrorTypes { - // (undocumented) - KEY_SYSTEM_ERROR = 'keySystemError', - // (undocumented) - MEDIA_ERROR = 'mediaError', - // (undocumented) - MUX_ERROR = 'muxError', - // (undocumented) - NETWORK_ERROR = 'networkError', - // (undocumented) - OTHER_ERROR = 'otherError', + // (undocumented) + KEY_SYSTEM_ERROR = "keySystemError", + // (undocumented) + MEDIA_ERROR = "mediaError", + // (undocumented) + MUX_ERROR = "muxError", + // (undocumented) + NETWORK_ERROR = "networkError", + // (undocumented) + OTHER_ERROR = "otherError" } // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag @@ -476,364 +459,355 @@ export enum ErrorTypes { // // @public export enum Events { - // (undocumented) - AUDIO_TRACK_LOADED = 'hlsAudioTrackLoaded', - // (undocumented) - AUDIO_TRACK_LOADING = 'hlsAudioTrackLoading', - // (undocumented) - AUDIO_TRACK_SWITCHED = 'hlsAudioTrackSwitched', - // (undocumented) - AUDIO_TRACK_SWITCHING = 'hlsAudioTrackSwitching', - // (undocumented) - AUDIO_TRACKS_UPDATED = 'hlsAudioTracksUpdated', - // (undocumented) - BUFFER_APPENDED = 'hlsBufferAppended', - // (undocumented) - BUFFER_APPENDING = 'hlsBufferAppending', - // (undocumented) - BUFFER_CODECS = 'hlsBufferCodecs', - // (undocumented) - BUFFER_CREATED = 'hlsBufferCreated', - // (undocumented) - BUFFER_EOS = 'hlsBufferEos', - // (undocumented) - BUFFER_FLUSHED = 'hlsBufferFlushed', - // (undocumented) - BUFFER_FLUSHING = 'hlsBufferFlushing', - // (undocumented) - BUFFER_RESET = 'hlsBufferReset', - // (undocumented) - CUES_PARSED = 'hlsCuesParsed', - // (undocumented) - DESTROYING = 'hlsDestroying', - // (undocumented) - ERROR = 'hlsError', - // (undocumented) - FPS_DROP = 'hlsFpsDrop', - // (undocumented) - FPS_DROP_LEVEL_CAPPING = 'hlsFpsDropLevelCapping', - // (undocumented) - FRAG_BUFFERED = 'hlsFragBuffered', - // (undocumented) - FRAG_CHANGED = 'hlsFragChanged', - // (undocumented) - FRAG_DECRYPTED = 'hlsFragDecrypted', - // (undocumented) - FRAG_LOAD_EMERGENCY_ABORTED = 'hlsFragLoadEmergencyAborted', - // (undocumented) - FRAG_LOADED = 'hlsFragLoaded', - // (undocumented) - FRAG_LOADING = 'hlsFragLoading', - // (undocumented) - FRAG_PARSED = 'hlsFragParsed', - // (undocumented) - FRAG_PARSING_INIT_SEGMENT = 'hlsFragParsingInitSegment', - // (undocumented) - FRAG_PARSING_METADATA = 'hlsFragParsingMetadata', - // (undocumented) - FRAG_PARSING_USERDATA = 'hlsFragParsingUserdata', - // (undocumented) - INIT_PTS_FOUND = 'hlsInitPtsFound', - // (undocumented) - KEY_LOADED = 'hlsKeyLoaded', - // (undocumented) - KEY_LOADING = 'hlsKeyLoading', - // (undocumented) - LEVEL_LOADED = 'hlsLevelLoaded', - // (undocumented) - LEVEL_LOADING = 'hlsLevelLoading', - // (undocumented) - LEVEL_PTS_UPDATED = 'hlsLevelPtsUpdated', - // (undocumented) - LEVEL_SWITCHED = 'hlsLevelSwitched', - // (undocumented) - LEVEL_SWITCHING = 'hlsLevelSwitching', - // (undocumented) - LEVEL_UPDATED = 'hlsLevelUpdated', - // (undocumented) - LEVELS_UPDATED = 'hlsLevelsUpdated', - // (undocumented) - LIVE_BACK_BUFFER_REACHED = 'hlsLiveBackBufferReached', - // (undocumented) - MANIFEST_LOADED = 'hlsManifestLoaded', - // (undocumented) - MANIFEST_LOADING = 'hlsManifestLoading', - // (undocumented) - MANIFEST_PARSED = 'hlsManifestParsed', - // (undocumented) - MEDIA_ATTACHED = 'hlsMediaAttached', - // (undocumented) - MEDIA_ATTACHING = 'hlsMediaAttaching', - // (undocumented) - MEDIA_DETACHED = 'hlsMediaDetached', - // (undocumented) - MEDIA_DETACHING = 'hlsMediaDetaching', - // (undocumented) - NON_NATIVE_TEXT_TRACKS_FOUND = 'hlsNonNativeTextTracksFound', - // (undocumented) - SUBTITLE_FRAG_PROCESSED = 'hlsSubtitleFragProcessed', - // (undocumented) - SUBTITLE_TRACK_LOADED = 'hlsSubtitleTrackLoaded', - // (undocumented) - SUBTITLE_TRACK_LOADING = 'hlsSubtitleTrackLoading', - // (undocumented) - SUBTITLE_TRACK_SWITCH = 'hlsSubtitleTrackSwitch', - // (undocumented) - SUBTITLE_TRACKS_CLEARED = 'hlsSubtitleTracksCleared', - // (undocumented) - SUBTITLE_TRACKS_UPDATED = 'hlsSubtitleTracksUpdated', + // (undocumented) + AUDIO_TRACK_LOADED = "hlsAudioTrackLoaded", + // (undocumented) + AUDIO_TRACK_LOADING = "hlsAudioTrackLoading", + // (undocumented) + AUDIO_TRACK_SWITCHED = "hlsAudioTrackSwitched", + // (undocumented) + AUDIO_TRACK_SWITCHING = "hlsAudioTrackSwitching", + // (undocumented) + AUDIO_TRACKS_UPDATED = "hlsAudioTracksUpdated", + // (undocumented) + BUFFER_APPENDED = "hlsBufferAppended", + // (undocumented) + BUFFER_APPENDING = "hlsBufferAppending", + // (undocumented) + BUFFER_CODECS = "hlsBufferCodecs", + // (undocumented) + BUFFER_CREATED = "hlsBufferCreated", + // (undocumented) + BUFFER_EOS = "hlsBufferEos", + // (undocumented) + BUFFER_FLUSHED = "hlsBufferFlushed", + // (undocumented) + BUFFER_FLUSHING = "hlsBufferFlushing", + // (undocumented) + BUFFER_RESET = "hlsBufferReset", + // (undocumented) + CUES_PARSED = "hlsCuesParsed", + // (undocumented) + DESTROYING = "hlsDestroying", + // (undocumented) + ERROR = "hlsError", + // (undocumented) + FPS_DROP = "hlsFpsDrop", + // (undocumented) + FPS_DROP_LEVEL_CAPPING = "hlsFpsDropLevelCapping", + // (undocumented) + FRAG_BUFFERED = "hlsFragBuffered", + // (undocumented) + FRAG_CHANGED = "hlsFragChanged", + // (undocumented) + FRAG_DECRYPTED = "hlsFragDecrypted", + // (undocumented) + FRAG_LOAD_EMERGENCY_ABORTED = "hlsFragLoadEmergencyAborted", + // (undocumented) + FRAG_LOADED = "hlsFragLoaded", + // (undocumented) + FRAG_LOADING = "hlsFragLoading", + // (undocumented) + FRAG_PARSED = "hlsFragParsed", + // (undocumented) + FRAG_PARSING_INIT_SEGMENT = "hlsFragParsingInitSegment", + // (undocumented) + FRAG_PARSING_METADATA = "hlsFragParsingMetadata", + // (undocumented) + FRAG_PARSING_USERDATA = "hlsFragParsingUserdata", + // (undocumented) + INIT_PTS_FOUND = "hlsInitPtsFound", + // (undocumented) + KEY_LOADED = "hlsKeyLoaded", + // (undocumented) + KEY_LOADING = "hlsKeyLoading", + // (undocumented) + LEVEL_LOADED = "hlsLevelLoaded", + // (undocumented) + LEVEL_LOADING = "hlsLevelLoading", + // (undocumented) + LEVEL_PTS_UPDATED = "hlsLevelPtsUpdated", + // (undocumented) + LEVEL_SWITCHED = "hlsLevelSwitched", + // (undocumented) + LEVEL_SWITCHING = "hlsLevelSwitching", + // (undocumented) + LEVEL_UPDATED = "hlsLevelUpdated", + // (undocumented) + LEVELS_UPDATED = "hlsLevelsUpdated", + // (undocumented) + LIVE_BACK_BUFFER_REACHED = "hlsLiveBackBufferReached", + // (undocumented) + MANIFEST_LOADED = "hlsManifestLoaded", + // (undocumented) + MANIFEST_LOADING = "hlsManifestLoading", + // (undocumented) + MANIFEST_PARSED = "hlsManifestParsed", + // (undocumented) + MEDIA_ATTACHED = "hlsMediaAttached", + // (undocumented) + MEDIA_ATTACHING = "hlsMediaAttaching", + // (undocumented) + MEDIA_DETACHED = "hlsMediaDetached", + // (undocumented) + MEDIA_DETACHING = "hlsMediaDetaching", + // (undocumented) + NON_NATIVE_TEXT_TRACKS_FOUND = "hlsNonNativeTextTracksFound", + // (undocumented) + SUBTITLE_FRAG_PROCESSED = "hlsSubtitleFragProcessed", + // (undocumented) + SUBTITLE_TRACK_LOADED = "hlsSubtitleTrackLoaded", + // (undocumented) + SUBTITLE_TRACK_LOADING = "hlsSubtitleTrackLoading", + // (undocumented) + SUBTITLE_TRACK_SWITCH = "hlsSubtitleTrackSwitch", + // (undocumented) + SUBTITLE_TRACKS_CLEARED = "hlsSubtitleTracksCleared", + // (undocumented) + SUBTITLE_TRACKS_UPDATED = "hlsSubtitleTracksUpdated" } // Warning: (ae-missing-release-tag) "FPSControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type FPSControllerConfig = { - capLevelOnFPSDrop: boolean; - fpsDroppedMonitoringPeriod: number; - fpsDroppedMonitoringThreshold: number; + capLevelOnFPSDrop: boolean; + fpsDroppedMonitoringPeriod: number; + fpsDroppedMonitoringThreshold: number; }; // Warning: (ae-missing-release-tag) "FPSDropData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FPSDropData { - // (undocumented) - currentDecoded: number; - // (undocumented) - currentDropped: number; - // (undocumented) - totalDroppedFrames: number; + // (undocumented) + currentDecoded: number; + // (undocumented) + currentDropped: number; + // (undocumented) + totalDroppedFrames: number; } // Warning: (ae-missing-release-tag) "FPSDropLevelCappingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FPSDropLevelCappingData { - // (undocumented) - droppedLevel: number; - // (undocumented) - level: number; + // (undocumented) + droppedLevel: number; + // (undocumented) + level: number; } // Warning: (ae-missing-release-tag) "FragBufferedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragBufferedData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - part: Part | null; - // (undocumented) - stats: LoadStats; + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + part: Part | null; + // (undocumented) + stats: LoadStats; } // Warning: (ae-missing-release-tag) "FragChangedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragChangedData { - // (undocumented) - frag: Fragment; + // (undocumented) + frag: Fragment; } // Warning: (ae-missing-release-tag) "FragDecryptedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragDecryptedData { - // (undocumented) - frag: Fragment; - // (undocumented) - payload: ArrayBuffer; - // (undocumented) - stats: { - tstart: number; - tdecrypt: number; - }; + // (undocumented) + frag: Fragment; + // (undocumented) + payload: ArrayBuffer; + // (undocumented) + stats: { + tstart: number; + tdecrypt: number; + }; } // Warning: (ae-missing-release-tag) "FragLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragLoadedData { - // (undocumented) - frag: Fragment; - // (undocumented) - networkDetails: unknown; - // (undocumented) - part: Part | null; - // (undocumented) - payload: ArrayBuffer; + // (undocumented) + frag: Fragment; + // (undocumented) + networkDetails: unknown; + // (undocumented) + part: Part | null; + // (undocumented) + payload: ArrayBuffer; } // Warning: (ae-missing-release-tag) "FragLoadEmergencyAbortedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragLoadEmergencyAbortedData { - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; - // (undocumented) - stats: LoaderStats; + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; + // (undocumented) + stats: LoaderStats; } // Warning: (ae-missing-release-tag) "FragLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragLoadingData { - // (undocumented) - frag: Fragment; - // (undocumented) - part?: Part; - // (undocumented) - targetBufferTime: number | null; + // (undocumented) + frag: Fragment; + // (undocumented) + part?: Part; + // (undocumented) + targetBufferTime: number | null; } // Warning: (ae-missing-release-tag) "Fragment" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class Fragment extends BaseSegment { - constructor(type: PlaylistLevelType, baseurl: string); - // (undocumented) - appendedPTS?: number; - // (undocumented) - bitrateTest: boolean; - // (undocumented) - cc: number; - // (undocumented) - clearElementaryStreamInfo(): void; - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - createInitializationVector(segmentNumber: number): Uint8Array; - // (undocumented) - data?: Uint8Array; - // (undocumented) - get decryptdata(): LevelKey | null; - // (undocumented) - deltaPTS?: number; - // (undocumented) - duration: number; - // (undocumented) - get encrypted(): boolean; - // (undocumented) - get end(): number; - // (undocumented) - endDTS: number; - // (undocumented) - get endProgramDateTime(): number | null; - // (undocumented) - endPTS?: number; - // (undocumented) - level: number; - // (undocumented) - levelkey?: LevelKey; - // (undocumented) - loader: Loader | null; - // (undocumented) - maxStartPTS?: number; - // (undocumented) - minEndPTS?: number; - // (undocumented) - programDateTime: number | null; - // (undocumented) - rawProgramDateTime: string | null; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - setDecryptDataFromLevelKey( - levelkey: LevelKey, - segmentNumber: number - ): LevelKey; - // (undocumented) - setElementaryStreamInfo( - type: ElementaryStreamTypes, - startPTS: number, - endPTS: number, - startDTS: number, - endDTS: number, - partial?: boolean - ): void; - // (undocumented) - sn: number | 'initSegment'; - // (undocumented) - start: number; - // (undocumented) - startDTS: number; - // (undocumented) - startPTS?: number; - // (undocumented) - stats: LoadStats; - // (undocumented) - tagList: Array; - // (undocumented) - title: string | null; - // (undocumented) - readonly type: PlaylistLevelType; - // (undocumented) - urlId: number; + constructor(type: PlaylistLevelType, baseurl: string); + // (undocumented) + appendedPTS?: number; + // (undocumented) + bitrateTest: boolean; + // (undocumented) + cc: number; + // (undocumented) + clearElementaryStreamInfo(): void; + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + createInitializationVector(segmentNumber: number): Uint8Array; + // (undocumented) + data?: Uint8Array; + // (undocumented) + get decryptdata(): LevelKey | null; + // (undocumented) + deltaPTS?: number; + // (undocumented) + duration: number; + // (undocumented) + get encrypted(): boolean; + // (undocumented) + get end(): number; + // (undocumented) + endDTS: number; + // (undocumented) + get endProgramDateTime(): number | null; + // (undocumented) + endPTS?: number; + // (undocumented) + level: number; + // (undocumented) + levelkey?: LevelKey; + // (undocumented) + loader: Loader | null; + // (undocumented) + maxStartPTS?: number; + // (undocumented) + minEndPTS?: number; + // (undocumented) + programDateTime: number | null; + // (undocumented) + rawProgramDateTime: string | null; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + setDecryptDataFromLevelKey(levelkey: LevelKey, segmentNumber: number): LevelKey; + // (undocumented) + setElementaryStreamInfo(type: ElementaryStreamTypes, startPTS: number, endPTS: number, startDTS: number, endDTS: number, partial?: boolean): void; + // (undocumented) + sn: number | 'initSegment'; + // (undocumented) + start: number; + // (undocumented) + startDTS: number; + // (undocumented) + startPTS?: number; + // (undocumented) + stats: LoadStats; + // (undocumented) + tagList: Array; + // (undocumented) + title: string | null; + // (undocumented) + readonly type: PlaylistLevelType; + // (undocumented) + urlId: number; } // Warning: (ae-missing-release-tag) "FragmentLoaderConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type FragmentLoaderConfig = { - fLoader?: { - new (confg: HlsConfig): Loader; - }; - fragLoadingTimeOut: number; - fragLoadingMaxRetry: number; - fragLoadingRetryDelay: number; - fragLoadingMaxRetryTimeout: number; + fLoader?: { + new (confg: HlsConfig): Loader; + }; + fragLoadingTimeOut: number; + fragLoadingMaxRetry: number; + fragLoadingRetryDelay: number; + fragLoadingMaxRetryTimeout: number; }; // Warning: (ae-missing-release-tag) "FragmentLoaderContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragmentLoaderContext extends LoaderContext { - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; } // Warning: (ae-missing-release-tag) "FragParsedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragParsedData { - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; + // (undocumented) + frag: Fragment; + // (undocumented) + part: Part | null; } // Warning: (ae-missing-release-tag) "FragParsingInitSegmentData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export interface FragParsingInitSegmentData {} +export interface FragParsingInitSegmentData { +} // Warning: (ae-missing-release-tag) "FragParsingMetadataData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragParsingMetadataData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - samples: MetadataSample[]; + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + samples: MetadataSample[]; } // Warning: (ae-missing-release-tag) "FragParsingUserdataData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface FragParsingUserdataData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - samples: UserdataSample[]; + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + samples: UserdataSample[]; } // Warning: (tsdoc-undefined-tag) The TSDoc tag "@module" is not defined in this configuration @@ -843,265 +817,241 @@ export interface FragParsingUserdataData { // // @public class Hls implements HlsEventEmitter { - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@constructs" is not defined in this configuration - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - constructor(userConfig?: Partial); - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - attachMedia(media: HTMLMediaElement): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get audioTrack(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "audioTrack" must appear on the getter, not the setter. - set audioTrack(audioTrackId: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get audioTracks(): Array; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get autoLevelCapping(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "autoLevelCapping" must appear on the getter, not the setter. - set autoLevelCapping(newLevel: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get autoLevelEnabled(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get bandwidthEstimate(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get capLevelToPlayerSize(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "capLevelToPlayerSize" must appear on the getter, not the setter. - set capLevelToPlayerSize(shouldStartCapping: boolean); - // (undocumented) - readonly config: HlsConfig; - // (undocumented) - createController( - ControllerClass: any, - fragmentTracker: any, - components: any - ): any; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get currentLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "currentLevel" must appear on the getter, not the setter. - set currentLevel(newLevel: number); - // (undocumented) - static get DefaultConfig(): HlsConfig; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "DefaultConfig" must appear on the getter, not the setter. - static set DefaultConfig(defaultConfig: HlsConfig); - destroy(): void; - detachMedia(): void; - // (undocumented) - emit( - event: E, - name: E, - eventObject: Parameters[1] - ): boolean; - // (undocumented) - static get ErrorDetails(): typeof ErrorDetails; - // (undocumented) - static get ErrorTypes(): typeof ErrorTypes; - // (undocumented) - static get Events(): typeof Events; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get firstLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "firstLevel" must appear on the getter, not the setter. - set firstLevel(newLevel: number); - // (undocumented) - static isSupported(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get latency(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get levels(): Array; - // (undocumented) - listenerCount(event: E): number; - // (undocumented) - listeners(event: E): HlsListeners[E][]; - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get liveSyncPosition(): number | null; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get loadLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "loadLevel" must appear on the getter, not the setter. - set loadLevel(newLevel: number); - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - loadSource(url: string): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get lowLatencyMode(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "lowLatencyMode" must appear on the getter, not the setter. - set lowLatencyMode(mode: boolean); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get manualLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get maxAutoLevel(): number; - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get maxLatency(): number; - // (undocumented) - get media(): HTMLMediaElement | null; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get minAutoLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get nextAutoLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "nextAutoLevel" must appear on the getter, not the setter. - set nextAutoLevel(nextLevel: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get nextLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "nextLevel" must appear on the getter, not the setter. - set nextLevel(newLevel: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get nextLoadLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "nextLoadLevel" must appear on the getter, not the setter. - set nextLoadLevel(level: number); - // (undocumented) - off( - event: E, - listener?: HlsListeners[E] | undefined, - context?: Context, - once?: boolean | undefined - ): void; - // (undocumented) - on( - event: E, - listener: HlsListeners[E], - context?: Context - ): void; - // (undocumented) - once( - event: E, - listener: HlsListeners[E], - context?: Context - ): void; - recoverMediaError(): void; - // (undocumented) - removeAllListeners(event?: E | undefined): void; - // (undocumented) - removeLevel(levelIndex: any, urlId?: number): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get startLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "startLevel" must appear on the getter, not the setter. - set startLevel(newLevel: number); - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@default" is not defined in this configuration - startLoad(startPosition?: number): void; - stopLoad(): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get subtitleDisplay(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleDisplay" must appear on the getter, not the setter. - set subtitleDisplay(value: boolean); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get subtitleTrack(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleTrack" must appear on the getter, not the setter. - set subtitleTrack(subtitleTrackId: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get subtitleTracks(): Array; - swapAudioCodec(): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration - get targetLatency(): number | null; - // (undocumented) - trigger( - event: E, - eventObject: Parameters[1] - ): boolean; - // (undocumented) - readonly userConfig: Partial; - // (undocumented) - static get version(): string; + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@constructs" is not defined in this configuration + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + constructor(userConfig?: Partial); + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + attachMedia(media: HTMLMediaElement): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get audioTrack(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "audioTrack" must appear on the getter, not the setter. + set audioTrack(audioTrackId: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get audioTracks(): Array; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get autoLevelCapping(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "autoLevelCapping" must appear on the getter, not the setter. + set autoLevelCapping(newLevel: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get autoLevelEnabled(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get bandwidthEstimate(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get capLevelToPlayerSize(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "capLevelToPlayerSize" must appear on the getter, not the setter. + set capLevelToPlayerSize(shouldStartCapping: boolean); + // (undocumented) + readonly config: HlsConfig; + // (undocumented) + createController(ControllerClass: any, fragmentTracker: any, components: any): any; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get currentLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "currentLevel" must appear on the getter, not the setter. + set currentLevel(newLevel: number); + // (undocumented) + static get DefaultConfig(): HlsConfig; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "DefaultConfig" must appear on the getter, not the setter. + static set DefaultConfig(defaultConfig: HlsConfig); + destroy(): void; + detachMedia(): void; + // (undocumented) + emit(event: E, name: E, eventObject: Parameters[1]): boolean; + // (undocumented) + static get ErrorDetails(): typeof ErrorDetails; + // (undocumented) + static get ErrorTypes(): typeof ErrorTypes; + // (undocumented) + static get Events(): typeof Events; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get firstLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "firstLevel" must appear on the getter, not the setter. + set firstLevel(newLevel: number); + // (undocumented) + static isSupported(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get latency(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get levels(): Array; + // (undocumented) + listenerCount(event: E): number; + // (undocumented) + listeners(event: E): HlsListeners[E][]; + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get liveSyncPosition(): number | null; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get loadLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "loadLevel" must appear on the getter, not the setter. + set loadLevel(newLevel: number); + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + loadSource(url: string): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get lowLatencyMode(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "lowLatencyMode" must appear on the getter, not the setter. + set lowLatencyMode(mode: boolean); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get manualLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get maxAutoLevel(): number; + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get maxLatency(): number; + // (undocumented) + get media(): HTMLMediaElement | null; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get minAutoLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get nextAutoLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "nextAutoLevel" must appear on the getter, not the setter. + set nextAutoLevel(nextLevel: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get nextLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "nextLevel" must appear on the getter, not the setter. + set nextLevel(newLevel: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get nextLoadLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "nextLoadLevel" must appear on the getter, not the setter. + set nextLoadLevel(level: number); + // (undocumented) + off(event: E, listener?: HlsListeners[E] | undefined, context?: Context, once?: boolean | undefined): void; + // (undocumented) + on(event: E, listener: HlsListeners[E], context?: Context): void; + // (undocumented) + once(event: E, listener: HlsListeners[E], context?: Context): void; + recoverMediaError(): void; + // (undocumented) + removeAllListeners(event?: E | undefined): void; + // (undocumented) + removeLevel(levelIndex: any, urlId?: number): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get startLevel(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "startLevel" must appear on the getter, not the setter. + set startLevel(newLevel: number); + // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen + // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@default" is not defined in this configuration + startLoad(startPosition?: number): void; + stopLoad(): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get subtitleDisplay(): boolean; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleDisplay" must appear on the getter, not the setter. + set subtitleDisplay(value: boolean); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get subtitleTrack(): number; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleTrack" must appear on the getter, not the setter. + set subtitleTrack(subtitleTrackId: number); + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get subtitleTracks(): Array; + swapAudioCodec(): void; + // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag + // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" + // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration + get targetLatency(): number | null; + // (undocumented) + trigger(event: E, eventObject: Parameters[1]): boolean; + // (undocumented) + readonly userConfig: Partial; + // (undocumented) + static get version(): string; } export default Hls; @@ -1110,406 +1060,243 @@ export default Hls; // // @public (undocumented) export interface HlsChunkPerformanceTiming extends HlsPerformanceTiming { - // (undocumented) - executeEnd: number; - // (undocumented) - executeStart: number; + // (undocumented) + executeEnd: number; + // (undocumented) + executeStart: number; } // Warning: (ae-missing-release-tag) "HlsConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type HlsConfig = { - debug: boolean; - enableWorker: boolean; - enableSoftwareAES: boolean; - minAutoBitrate: number; - loader: { - new (confg: HlsConfig): Loader; - }; - xhrSetup?: (xhr: XMLHttpRequest, url: string) => void; - audioStreamController?: typeof AudioStreamController; - audioTrackController?: typeof AudioTrackController; - subtitleStreamController?: typeof SubtitleStreamController; - subtitleTrackController?: typeof SubtitleTrackController; - timelineController?: typeof TimelineController; - emeController?: typeof EMEController; - abrController: typeof AbrController; - bufferController: typeof BufferController; - capLevelController: typeof CapLevelController; - fpsController: typeof FPSController; - progressive: boolean; - lowLatencyMode: boolean; -} & ABRControllerConfig & - BufferControllerConfig & - CapLevelControllerConfig & - EMEControllerConfig & - FPSControllerConfig & - FragmentLoaderConfig & - LevelControllerConfig & - MP4RemuxerConfig & - PlaylistLoaderConfig & - StreamControllerConfig & - LatencyControllerConfig & - TimelineControllerConfig & - TSDemuxerConfig; + debug: boolean; + enableWorker: boolean; + enableSoftwareAES: boolean; + minAutoBitrate: number; + loader: { + new (confg: HlsConfig): Loader; + }; + xhrSetup?: (xhr: XMLHttpRequest, url: string) => void; + audioStreamController?: typeof AudioStreamController; + audioTrackController?: typeof AudioTrackController; + subtitleStreamController?: typeof SubtitleStreamController; + subtitleTrackController?: typeof SubtitleTrackController; + timelineController?: typeof TimelineController; + emeController?: typeof EMEController; + abrController: typeof AbrController; + bufferController: typeof BufferController; + capLevelController: typeof CapLevelController; + fpsController: typeof FPSController; + progressive: boolean; + lowLatencyMode: boolean; +} & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & FragmentLoaderConfig & LevelControllerConfig & MP4RemuxerConfig & PlaylistLoaderConfig & StreamControllerConfig & LatencyControllerConfig & TimelineControllerConfig & TSDemuxerConfig; // Warning: (ae-missing-release-tag) "HlsEventEmitter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface HlsEventEmitter { - // (undocumented) - emit( - event: E, - name: E, - eventObject: Parameters[1] - ): boolean; - // (undocumented) - listenerCount(event: E): number; - // (undocumented) - listeners(event: E): HlsListeners[E][]; - // (undocumented) - off( - event: E, - listener?: HlsListeners[E], - context?: Context, - once?: boolean - ): void; - // (undocumented) - on( - event: E, - listener: HlsListeners[E], - context?: Context - ): void; - // (undocumented) - once( - event: E, - listener: HlsListeners[E], - context?: Context - ): void; - // (undocumented) - removeAllListeners(event?: E): void; + // (undocumented) + emit(event: E, name: E, eventObject: Parameters[1]): boolean; + // (undocumented) + listenerCount(event: E): number; + // (undocumented) + listeners(event: E): HlsListeners[E][]; + // (undocumented) + off(event: E, listener?: HlsListeners[E], context?: Context, once?: boolean): void; + // (undocumented) + on(event: E, listener: HlsListeners[E], context?: Context): void; + // (undocumented) + once(event: E, listener: HlsListeners[E], context?: Context): void; + // (undocumented) + removeAllListeners(event?: E): void; } // Warning: (ae-missing-release-tag) "HlsListeners" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface HlsListeners { - // (undocumented) - [Events.AUDIO_TRACK_LOADED]: ( - event: Events.AUDIO_TRACK_LOADED, - data: AudioTrackLoadedData - ) => void; - // (undocumented) - [Events.AUDIO_TRACK_LOADING]: ( - event: Events.AUDIO_TRACK_LOADING, - data: TrackLoadingData - ) => void; - // (undocumented) - [Events.AUDIO_TRACKS_UPDATED]: ( - event: Events.AUDIO_TRACKS_UPDATED, - data: AudioTracksUpdatedData - ) => void; - // (undocumented) - [Events.AUDIO_TRACK_SWITCHED]: ( - event: Events.AUDIO_TRACK_SWITCHED, - data: AudioTrackSwitchedData - ) => void; - // (undocumented) - [Events.AUDIO_TRACK_SWITCHING]: ( - event: Events.AUDIO_TRACK_SWITCHING, - data: AudioTrackSwitchingData - ) => void; - // (undocumented) - [Events.BUFFER_APPENDED]: ( - event: Events.BUFFER_APPENDED, - data: BufferAppendedData - ) => void; - // (undocumented) - [Events.BUFFER_APPENDING]: ( - event: Events.BUFFER_APPENDING, - data: BufferAppendingData - ) => void; - // (undocumented) - [Events.BUFFER_CODECS]: ( - event: Events.BUFFER_CODECS, - data: BufferCodecsData - ) => void; - // (undocumented) - [Events.BUFFER_CREATED]: ( - event: Events.BUFFER_CREATED, - data: BufferCreatedData - ) => void; - // (undocumented) - [Events.BUFFER_EOS]: (event: Events.BUFFER_EOS, data: BufferEOSData) => void; - // (undocumented) - [Events.BUFFER_FLUSHED]: ( - event: Events.BUFFER_FLUSHED, - data: BufferFlushedData - ) => void; - // (undocumented) - [Events.BUFFER_FLUSHING]: ( - event: Events.BUFFER_FLUSHING, - data: BufferFlushingData - ) => void; - // (undocumented) - [Events.BUFFER_RESET]: (event: Events.BUFFER_RESET) => void; - // (undocumented) - [Events.CUES_PARSED]: ( - event: Events.CUES_PARSED, - data: CuesParsedData - ) => void; - // (undocumented) - [Events.DESTROYING]: (event: Events.DESTROYING) => void; - // (undocumented) - [Events.ERROR]: (event: Events.ERROR, data: ErrorData) => void; - // (undocumented) - [Events.FPS_DROP]: (event: Events.FPS_DROP, data: FPSDropData) => void; - // (undocumented) - [Events.FPS_DROP_LEVEL_CAPPING]: ( - event: Events.FPS_DROP_LEVEL_CAPPING, - data: FPSDropLevelCappingData - ) => void; - // (undocumented) - [Events.FRAG_BUFFERED]: ( - event: Events.FRAG_BUFFERED, - data: FragBufferedData - ) => void; - // (undocumented) - [Events.FRAG_CHANGED]: ( - event: Events.FRAG_CHANGED, - data: FragChangedData - ) => void; - // (undocumented) - [Events.FRAG_DECRYPTED]: ( - event: Events.FRAG_DECRYPTED, - data: FragDecryptedData - ) => void; - // (undocumented) - [Events.FRAG_LOADED]: ( - event: Events.FRAG_LOADED, - data: FragLoadedData - ) => void; - // (undocumented) - [Events.FRAG_LOAD_EMERGENCY_ABORTED]: ( - event: Events.FRAG_LOAD_EMERGENCY_ABORTED, - data: FragLoadEmergencyAbortedData - ) => void; - // (undocumented) - [Events.FRAG_LOADING]: ( - event: Events.FRAG_LOADING, - data: FragLoadingData - ) => void; - // (undocumented) - [Events.FRAG_PARSED]: ( - event: Events.FRAG_PARSED, - data: FragParsedData - ) => void; - // (undocumented) - [Events.FRAG_PARSING_INIT_SEGMENT]: ( - event: Events.FRAG_PARSING_INIT_SEGMENT, - data: FragParsingInitSegmentData - ) => void; - // (undocumented) - [Events.FRAG_PARSING_METADATA]: ( - event: Events.FRAG_PARSING_METADATA, - data: FragParsingMetadataData - ) => void; - // (undocumented) - [Events.FRAG_PARSING_USERDATA]: ( - event: Events.FRAG_PARSING_USERDATA, - data: FragParsingUserdataData - ) => void; - // (undocumented) - [Events.INIT_PTS_FOUND]: ( - event: Events.INIT_PTS_FOUND, - data: InitPTSFoundData - ) => void; - // (undocumented) - [Events.KEY_LOADED]: (event: Events.KEY_LOADED, data: KeyLoadedData) => void; - // (undocumented) - [Events.KEY_LOADING]: ( - event: Events.KEY_LOADING, - data: KeyLoadingData - ) => void; - // (undocumented) - [Events.LEVEL_LOADED]: ( - event: Events.LEVEL_LOADED, - data: LevelLoadedData - ) => void; - // (undocumented) - [Events.LEVEL_LOADING]: ( - event: Events.LEVEL_LOADING, - data: LevelLoadingData - ) => void; - // (undocumented) - [Events.LEVEL_PTS_UPDATED]: ( - event: Events.LEVEL_PTS_UPDATED, - data: LevelPTSUpdatedData - ) => void; - // (undocumented) - [Events.LEVELS_UPDATED]: ( - event: Events.LEVELS_UPDATED, - data: LevelsUpdatedData - ) => void; - // (undocumented) - [Events.LEVEL_SWITCHED]: ( - event: Events.LEVEL_SWITCHED, - data: LevelSwitchedData - ) => void; - // (undocumented) - [Events.LEVEL_SWITCHING]: ( - event: Events.LEVEL_SWITCHING, - data: LevelSwitchingData - ) => void; - // (undocumented) - [Events.LEVEL_UPDATED]: ( - event: Events.LEVEL_UPDATED, - data: LevelUpdatedData - ) => void; - // (undocumented) - [Events.LIVE_BACK_BUFFER_REACHED]: ( - event: Events.LIVE_BACK_BUFFER_REACHED, - data: LiveBackBufferData - ) => void; - // (undocumented) - [Events.MANIFEST_LOADED]: ( - event: Events.MANIFEST_LOADED, - data: ManifestLoadedData - ) => void; - // (undocumented) - [Events.MANIFEST_LOADING]: ( - event: Events.MANIFEST_LOADING, - data: ManifestLoadingData - ) => void; - // (undocumented) - [Events.MANIFEST_PARSED]: ( - event: Events.MANIFEST_PARSED, - data: ManifestParsedData - ) => void; - // (undocumented) - [Events.MEDIA_ATTACHED]: ( - event: Events.MEDIA_ATTACHED, - data: MediaAttachedData - ) => void; - // (undocumented) - [Events.MEDIA_ATTACHING]: ( - event: Events.MEDIA_ATTACHING, - data: MediaAttachingData - ) => void; - // (undocumented) - [Events.MEDIA_DETACHED]: (event: Events.MEDIA_DETACHED) => void; - // (undocumented) - [Events.MEDIA_DETACHING]: (event: Events.MEDIA_DETACHING) => void; - // (undocumented) - [Events.NON_NATIVE_TEXT_TRACKS_FOUND]: ( - event: Events.NON_NATIVE_TEXT_TRACKS_FOUND, - data: NonNativeTextTracksData - ) => void; - // (undocumented) - [Events.SUBTITLE_FRAG_PROCESSED]: ( - event: Events.SUBTITLE_FRAG_PROCESSED, - data: SubtitleFragProcessedData - ) => void; - // (undocumented) - [Events.SUBTITLE_TRACK_LOADED]: ( - event: Events.SUBTITLE_TRACK_LOADED, - data: SubtitleTrackLoadedData - ) => void; - // (undocumented) - [Events.SUBTITLE_TRACK_LOADING]: ( - event: Events.SUBTITLE_TRACK_LOADING, - data: TrackLoadingData - ) => void; - // (undocumented) - [Events.SUBTITLE_TRACKS_CLEARED]: ( - event: Events.SUBTITLE_TRACKS_CLEARED - ) => void; - // (undocumented) - [Events.SUBTITLE_TRACKS_UPDATED]: ( - event: Events.SUBTITLE_TRACKS_UPDATED, - data: SubtitleTracksUpdatedData - ) => void; - // (undocumented) - [Events.SUBTITLE_TRACK_SWITCH]: ( - event: Events.SUBTITLE_TRACK_SWITCH, - data: SubtitleTrackSwitchData - ) => void; + // (undocumented) + [Events.AUDIO_TRACK_LOADED]: (event: Events.AUDIO_TRACK_LOADED, data: AudioTrackLoadedData) => void; + // (undocumented) + [Events.AUDIO_TRACK_LOADING]: (event: Events.AUDIO_TRACK_LOADING, data: TrackLoadingData) => void; + // (undocumented) + [Events.AUDIO_TRACKS_UPDATED]: (event: Events.AUDIO_TRACKS_UPDATED, data: AudioTracksUpdatedData) => void; + // (undocumented) + [Events.AUDIO_TRACK_SWITCHED]: (event: Events.AUDIO_TRACK_SWITCHED, data: AudioTrackSwitchedData) => void; + // (undocumented) + [Events.AUDIO_TRACK_SWITCHING]: (event: Events.AUDIO_TRACK_SWITCHING, data: AudioTrackSwitchingData) => void; + // (undocumented) + [Events.BUFFER_APPENDED]: (event: Events.BUFFER_APPENDED, data: BufferAppendedData) => void; + // (undocumented) + [Events.BUFFER_APPENDING]: (event: Events.BUFFER_APPENDING, data: BufferAppendingData) => void; + // (undocumented) + [Events.BUFFER_CODECS]: (event: Events.BUFFER_CODECS, data: BufferCodecsData) => void; + // (undocumented) + [Events.BUFFER_CREATED]: (event: Events.BUFFER_CREATED, data: BufferCreatedData) => void; + // (undocumented) + [Events.BUFFER_EOS]: (event: Events.BUFFER_EOS, data: BufferEOSData) => void; + // (undocumented) + [Events.BUFFER_FLUSHED]: (event: Events.BUFFER_FLUSHED, data: BufferFlushedData) => void; + // (undocumented) + [Events.BUFFER_FLUSHING]: (event: Events.BUFFER_FLUSHING, data: BufferFlushingData) => void; + // (undocumented) + [Events.BUFFER_RESET]: (event: Events.BUFFER_RESET) => void; + // (undocumented) + [Events.CUES_PARSED]: (event: Events.CUES_PARSED, data: CuesParsedData) => void; + // (undocumented) + [Events.DESTROYING]: (event: Events.DESTROYING) => void; + // (undocumented) + [Events.ERROR]: (event: Events.ERROR, data: ErrorData) => void; + // (undocumented) + [Events.FPS_DROP]: (event: Events.FPS_DROP, data: FPSDropData) => void; + // (undocumented) + [Events.FPS_DROP_LEVEL_CAPPING]: (event: Events.FPS_DROP_LEVEL_CAPPING, data: FPSDropLevelCappingData) => void; + // (undocumented) + [Events.FRAG_BUFFERED]: (event: Events.FRAG_BUFFERED, data: FragBufferedData) => void; + // (undocumented) + [Events.FRAG_CHANGED]: (event: Events.FRAG_CHANGED, data: FragChangedData) => void; + // (undocumented) + [Events.FRAG_DECRYPTED]: (event: Events.FRAG_DECRYPTED, data: FragDecryptedData) => void; + // (undocumented) + [Events.FRAG_LOADED]: (event: Events.FRAG_LOADED, data: FragLoadedData) => void; + // (undocumented) + [Events.FRAG_LOAD_EMERGENCY_ABORTED]: (event: Events.FRAG_LOAD_EMERGENCY_ABORTED, data: FragLoadEmergencyAbortedData) => void; + // (undocumented) + [Events.FRAG_LOADING]: (event: Events.FRAG_LOADING, data: FragLoadingData) => void; + // (undocumented) + [Events.FRAG_PARSED]: (event: Events.FRAG_PARSED, data: FragParsedData) => void; + // (undocumented) + [Events.FRAG_PARSING_INIT_SEGMENT]: (event: Events.FRAG_PARSING_INIT_SEGMENT, data: FragParsingInitSegmentData) => void; + // (undocumented) + [Events.FRAG_PARSING_METADATA]: (event: Events.FRAG_PARSING_METADATA, data: FragParsingMetadataData) => void; + // (undocumented) + [Events.FRAG_PARSING_USERDATA]: (event: Events.FRAG_PARSING_USERDATA, data: FragParsingUserdataData) => void; + // (undocumented) + [Events.INIT_PTS_FOUND]: (event: Events.INIT_PTS_FOUND, data: InitPTSFoundData) => void; + // (undocumented) + [Events.KEY_LOADED]: (event: Events.KEY_LOADED, data: KeyLoadedData) => void; + // (undocumented) + [Events.KEY_LOADING]: (event: Events.KEY_LOADING, data: KeyLoadingData) => void; + // (undocumented) + [Events.LEVEL_LOADED]: (event: Events.LEVEL_LOADED, data: LevelLoadedData) => void; + // (undocumented) + [Events.LEVEL_LOADING]: (event: Events.LEVEL_LOADING, data: LevelLoadingData) => void; + // (undocumented) + [Events.LEVEL_PTS_UPDATED]: (event: Events.LEVEL_PTS_UPDATED, data: LevelPTSUpdatedData) => void; + // (undocumented) + [Events.LEVELS_UPDATED]: (event: Events.LEVELS_UPDATED, data: LevelsUpdatedData) => void; + // (undocumented) + [Events.LEVEL_SWITCHED]: (event: Events.LEVEL_SWITCHED, data: LevelSwitchedData) => void; + // (undocumented) + [Events.LEVEL_SWITCHING]: (event: Events.LEVEL_SWITCHING, data: LevelSwitchingData) => void; + // (undocumented) + [Events.LEVEL_UPDATED]: (event: Events.LEVEL_UPDATED, data: LevelUpdatedData) => void; + // (undocumented) + [Events.LIVE_BACK_BUFFER_REACHED]: (event: Events.LIVE_BACK_BUFFER_REACHED, data: LiveBackBufferData) => void; + // (undocumented) + [Events.MANIFEST_LOADED]: (event: Events.MANIFEST_LOADED, data: ManifestLoadedData) => void; + // (undocumented) + [Events.MANIFEST_LOADING]: (event: Events.MANIFEST_LOADING, data: ManifestLoadingData) => void; + // (undocumented) + [Events.MANIFEST_PARSED]: (event: Events.MANIFEST_PARSED, data: ManifestParsedData) => void; + // (undocumented) + [Events.MEDIA_ATTACHED]: (event: Events.MEDIA_ATTACHED, data: MediaAttachedData) => void; + // (undocumented) + [Events.MEDIA_ATTACHING]: (event: Events.MEDIA_ATTACHING, data: MediaAttachingData) => void; + // (undocumented) + [Events.MEDIA_DETACHED]: (event: Events.MEDIA_DETACHED) => void; + // (undocumented) + [Events.MEDIA_DETACHING]: (event: Events.MEDIA_DETACHING) => void; + // (undocumented) + [Events.NON_NATIVE_TEXT_TRACKS_FOUND]: (event: Events.NON_NATIVE_TEXT_TRACKS_FOUND, data: NonNativeTextTracksData) => void; + // (undocumented) + [Events.SUBTITLE_FRAG_PROCESSED]: (event: Events.SUBTITLE_FRAG_PROCESSED, data: SubtitleFragProcessedData) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_LOADED]: (event: Events.SUBTITLE_TRACK_LOADED, data: SubtitleTrackLoadedData) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_LOADING]: (event: Events.SUBTITLE_TRACK_LOADING, data: TrackLoadingData) => void; + // (undocumented) + [Events.SUBTITLE_TRACKS_CLEARED]: (event: Events.SUBTITLE_TRACKS_CLEARED) => void; + // (undocumented) + [Events.SUBTITLE_TRACKS_UPDATED]: (event: Events.SUBTITLE_TRACKS_UPDATED, data: SubtitleTracksUpdatedData) => void; + // (undocumented) + [Events.SUBTITLE_TRACK_SWITCH]: (event: Events.SUBTITLE_TRACK_SWITCH, data: SubtitleTrackSwitchData) => void; } // Warning: (ae-missing-release-tag) "HlsPerformanceTiming" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface HlsPerformanceTiming { - // (undocumented) - end: number; - // (undocumented) - start: number; + // (undocumented) + end: number; + // (undocumented) + start: number; } // Warning: (ae-missing-release-tag) "HlsProgressivePerformanceTiming" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface HlsProgressivePerformanceTiming extends HlsPerformanceTiming { - // (undocumented) - first: number; + // (undocumented) + first: number; } // Warning: (ae-missing-release-tag) "HlsSkip" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export enum HlsSkip { - // (undocumented) - No = '', - // (undocumented) - v2 = 'v2', - // (undocumented) - Yes = 'YES', + // (undocumented) + No = "", + // (undocumented) + v2 = "v2", + // (undocumented) + Yes = "YES" } // Warning: (ae-missing-release-tag) "HlsUrlParameters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class HlsUrlParameters { - constructor(msn: number, part?: number, skip?: HlsSkip); - // (undocumented) - addDirectives(uri: string): string | never; - // (undocumented) - msn: number; - // (undocumented) - part?: number; - // (undocumented) - skip?: HlsSkip; + constructor(msn: number, part?: number, skip?: HlsSkip); + // (undocumented) + addDirectives(uri: string): string | never; + // (undocumented) + msn: number; + // (undocumented) + part?: number; + // (undocumented) + skip?: HlsSkip; } // Warning: (ae-missing-release-tag) "InitPTSFoundData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface InitPTSFoundData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - initPTS: number; - // (undocumented) - timescale: number; + // (undocumented) + frag: Fragment; + // (undocumented) + id: string; + // (undocumented) + initPTS: number; + // (undocumented) + timescale: number; } // Warning: (ae-missing-release-tag) "KeyLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface KeyLoadedData { - // (undocumented) - frag: Fragment; + // (undocumented) + frag: Fragment; } // Warning: (ae-missing-release-tag) "KeyLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface KeyLoadingData { - // (undocumented) - frag: Fragment; + // (undocumented) + frag: Fragment; } // Warning: (tsdoc-unsupported-tag) The TSDoc tag "@see" is not supported by this tool @@ -1517,552 +1304,526 @@ export interface KeyLoadingData { // // @public (undocumented) export enum KeySystems { - // (undocumented) - PLAYREADY = 'com.microsoft.playready', - // (undocumented) - WIDEVINE = 'com.widevine.alpha', + // (undocumented) + PLAYREADY = "com.microsoft.playready", + // (undocumented) + WIDEVINE = "com.widevine.alpha" } // Warning: (ae-missing-release-tag) "LatencyControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type LatencyControllerConfig = { - liveSyncDurationCount: number; - liveMaxLatencyDurationCount: number; - liveSyncDuration?: number; - liveMaxLatencyDuration?: number; - maxLiveSyncPlaybackRate: number; + liveSyncDurationCount: number; + liveMaxLatencyDurationCount: number; + liveSyncDuration?: number; + liveMaxLatencyDuration?: number; + maxLiveSyncPlaybackRate: number; }; // Warning: (ae-missing-release-tag) "Level" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class Level { - constructor(data: LevelParsed); - // (undocumented) - readonly attrs: LevelAttributes; - // (undocumented) - readonly audioCodec: string | undefined; - // (undocumented) - audioGroupIds?: string[]; - // (undocumented) - readonly bitrate: number; - // (undocumented) - readonly codecSet: string; - // (undocumented) - details?: LevelDetails; - // (undocumented) - fragmentError: number; - // (undocumented) - readonly height: number; - // (undocumented) - readonly id: number; - // (undocumented) - loaded?: { - bytes: number; - duration: number; - }; - // (undocumented) - loadError: number; - // (undocumented) - get maxBitrate(): number; - // (undocumented) - readonly name: string | undefined; - // (undocumented) - realBitrate: number; - // (undocumented) - textGroupIds?: string[]; - // (undocumented) - readonly unknownCodecs: string[] | undefined; - // (undocumented) - get uri(): string; - // (undocumented) - url: string[]; - // (undocumented) - get urlId(): number; - set urlId(value: number); - // (undocumented) - readonly videoCodec: string | undefined; - // (undocumented) - readonly width: number; + constructor(data: LevelParsed); + // (undocumented) + readonly attrs: LevelAttributes; + // (undocumented) + readonly audioCodec: string | undefined; + // (undocumented) + audioGroupIds?: string[]; + // (undocumented) + readonly bitrate: number; + // (undocumented) + readonly codecSet: string; + // (undocumented) + details?: LevelDetails; + // (undocumented) + fragmentError: number; + // (undocumented) + readonly height: number; + // (undocumented) + readonly id: number; + // (undocumented) + loaded?: { + bytes: number; + duration: number; + }; + // (undocumented) + loadError: number; + // (undocumented) + get maxBitrate(): number; + // (undocumented) + readonly name: string | undefined; + // (undocumented) + realBitrate: number; + // (undocumented) + textGroupIds?: string[]; + // (undocumented) + readonly unknownCodecs: string[] | undefined; + // (undocumented) + get uri(): string; + // (undocumented) + url: string[]; + // (undocumented) + get urlId(): number; + set urlId(value: number); + // (undocumented) + readonly videoCodec: string | undefined; + // (undocumented) + readonly width: number; } // Warning: (ae-missing-release-tag) "LevelAttributes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelAttributes extends AttrList { - // (undocumented) - 'AVERAGE-BANDWIDTH'?: string; - // (undocumented) - 'CLOSED-CAPTIONS'?: string; - // (undocumented) - 'FRAME-RATE'?: string; - // (undocumented) - 'PROGRAM-ID'?: string; - // (undocumented) - AUDIO?: string; - // (undocumented) - AUTOSELECT?: string; - // (undocumented) - BANDWIDTH?: string; - // (undocumented) - BYTERANGE?: string; - // (undocumented) - CODECS?: string; - // (undocumented) - DEFAULT?: string; - // (undocumented) - FORCED?: string; - // (undocumented) - LANGUAGE?: string; - // (undocumented) - NAME?: string; - // (undocumented) - RESOLUTION?: string; - // (undocumented) - SUBTITLES?: string; - // (undocumented) - TYPE?: string; - // (undocumented) - URI?: string; + // (undocumented) + 'AVERAGE-BANDWIDTH'?: string; + // (undocumented) + 'CLOSED-CAPTIONS'?: string; + // (undocumented) + 'FRAME-RATE'?: string; + // (undocumented) + 'PROGRAM-ID'?: string; + // (undocumented) + AUDIO?: string; + // (undocumented) + AUTOSELECT?: string; + // (undocumented) + BANDWIDTH?: string; + // (undocumented) + BYTERANGE?: string; + // (undocumented) + CODECS?: string; + // (undocumented) + DEFAULT?: string; + // (undocumented) + FORCED?: string; + // (undocumented) + LANGUAGE?: string; + // (undocumented) + NAME?: string; + // (undocumented) + RESOLUTION?: string; + // (undocumented) + SUBTITLES?: string; + // (undocumented) + TYPE?: string; + // (undocumented) + URI?: string; } // Warning: (ae-missing-release-tag) "LevelControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type LevelControllerConfig = { - startLevel?: number; + startLevel?: number; }; // Warning: (ae-missing-release-tag) "LevelDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class LevelDetails { - constructor(baseUrl: any); - // (undocumented) - advanced: boolean; - // (undocumented) - advancedDateTime?: number; - // (undocumented) - get age(): number; - // (undocumented) - ageHeader: number; - // (undocumented) - alignedSliding: boolean; - // (undocumented) - availabilityDelay?: number; - // (undocumented) - averagetargetduration?: number; - // (undocumented) - canBlockReload: boolean; - // (undocumented) - canSkipDateRanges: boolean; - // (undocumented) - canSkipUntil: number; - // (undocumented) - deltaUpdateFailed?: boolean; - // (undocumented) - get edge(): number; - // (undocumented) - endCC: number; - // (undocumented) - endSN: number; - // (undocumented) - get fragmentEnd(): number; - // (undocumented) - fragmentHint?: Fragment; - // (undocumented) - fragments: Fragment[]; - // (undocumented) - get hasProgramDateTime(): boolean; - // (undocumented) - holdBack: number; - // (undocumented) - initSegment: Fragment | null; - // (undocumented) - get lastPartIndex(): number; - // (undocumented) - get lastPartSn(): number; - // (undocumented) - get levelTargetDuration(): number; - // (undocumented) - live: boolean; - // (undocumented) - m3u8: string; - // (undocumented) - misses: number; - // (undocumented) - needSidxRanges: boolean; - // (undocumented) - get partEnd(): number; - // (undocumented) - partHoldBack: number; - // (undocumented) - partList: Part[] | null; - // (undocumented) - partTarget: number; - // (undocumented) - preloadHint?: AttrList; - // (undocumented) - PTSKnown: boolean; - // (undocumented) - recentlyRemovedDateranges?: string[]; - // (undocumented) - reloaded(previous: LevelDetails | undefined): void; - // (undocumented) - renditionReports?: AttrList[]; - // (undocumented) - skippedSegments: number; - // (undocumented) - startCC: number; - // (undocumented) - startSN: number; - // (undocumented) - startTimeOffset: number | null; - // (undocumented) - targetduration: number; - // (undocumented) - totalduration: number; - // (undocumented) - tuneInGoal: number; - // (undocumented) - type: string | null; - // (undocumented) - updated: boolean; - // (undocumented) - url: string; - // (undocumented) - version: number | null; + constructor(baseUrl: any); + // (undocumented) + advanced: boolean; + // (undocumented) + advancedDateTime?: number; + // (undocumented) + get age(): number; + // (undocumented) + ageHeader: number; + // (undocumented) + alignedSliding: boolean; + // (undocumented) + availabilityDelay?: number; + // (undocumented) + averagetargetduration?: number; + // (undocumented) + canBlockReload: boolean; + // (undocumented) + canSkipDateRanges: boolean; + // (undocumented) + canSkipUntil: number; + // (undocumented) + deltaUpdateFailed?: boolean; + // (undocumented) + get edge(): number; + // (undocumented) + endCC: number; + // (undocumented) + endSN: number; + // (undocumented) + get fragmentEnd(): number; + // (undocumented) + fragmentHint?: Fragment; + // (undocumented) + fragments: Fragment[]; + // (undocumented) + get hasProgramDateTime(): boolean; + // (undocumented) + holdBack: number; + // (undocumented) + initSegment: Fragment | null; + // (undocumented) + get lastPartIndex(): number; + // (undocumented) + get lastPartSn(): number; + // (undocumented) + get levelTargetDuration(): number; + // (undocumented) + live: boolean; + // (undocumented) + m3u8: string; + // (undocumented) + misses: number; + // (undocumented) + needSidxRanges: boolean; + // (undocumented) + get partEnd(): number; + // (undocumented) + partHoldBack: number; + // (undocumented) + partList: Part[] | null; + // (undocumented) + partTarget: number; + // (undocumented) + preloadHint?: AttrList; + // (undocumented) + PTSKnown: boolean; + // (undocumented) + recentlyRemovedDateranges?: string[]; + // (undocumented) + reloaded(previous: LevelDetails | undefined): void; + // (undocumented) + renditionReports?: AttrList[]; + // (undocumented) + skippedSegments: number; + // (undocumented) + startCC: number; + // (undocumented) + startSN: number; + // (undocumented) + startTimeOffset: number | null; + // (undocumented) + targetduration: number; + // (undocumented) + totalduration: number; + // (undocumented) + tuneInGoal: number; + // (undocumented) + type: string | null; + // (undocumented) + updated: boolean; + // (undocumented) + url: string; + // (undocumented) + version: number | null; } // Warning: (ae-missing-release-tag) "LevelKey" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class LevelKey { - // (undocumented) - static fromURI(uri: string): LevelKey; - // (undocumented) - static fromURL(baseUrl: string, relativeUrl: string): LevelKey; - // (undocumented) - iv: Uint8Array | null; - // (undocumented) - key: Uint8Array | null; - // (undocumented) - keyFormat: string | null; - // (undocumented) - keyFormatVersions: string | null; - // (undocumented) - keyID: string | null; - // (undocumented) - method: string | null; - // (undocumented) - get uri(): string | null; -} + // (undocumented) + static fromURI(uri: string): LevelKey; + // (undocumented) + static fromURL(baseUrl: string, relativeUrl: string): LevelKey; + // (undocumented) + iv: Uint8Array | null; + // (undocumented) + key: Uint8Array | null; + // (undocumented) + keyFormat: string | null; + // (undocumented) + keyFormatVersions: string | null; + // (undocumented) + keyID: string | null; + // (undocumented) + method: string | null; + // (undocumented) + get uri(): string | null; + } // Warning: (ae-missing-release-tag) "LevelLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelLoadedData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - details: LevelDetails; - // (undocumented) - id: number; - // (undocumented) - level: number; - // (undocumented) - networkDetails: any; - // (undocumented) - stats: LoaderStats; + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + details: LevelDetails; + // (undocumented) + id: number; + // (undocumented) + level: number; + // (undocumented) + networkDetails: any; + // (undocumented) + stats: LoaderStats; } // Warning: (ae-missing-release-tag) "LevelLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelLoadingData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - id: number; - // (undocumented) - level: number; - // (undocumented) - url: string; + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + id: number; + // (undocumented) + level: number; + // (undocumented) + url: string; } // Warning: (ae-missing-release-tag) "LevelParsed" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelParsed { - // (undocumented) - attrs: LevelAttributes; - // (undocumented) - audioCodec?: string; - // (undocumented) - bitrate: number; - // (undocumented) - details?: LevelDetails; - // (undocumented) - height?: number; - // (undocumented) - id?: number; - // (undocumented) - level?: number; - // (undocumented) - name: string; - // (undocumented) - textCodec?: string; - // (undocumented) - unknownCodecs?: string[]; - // (undocumented) - url: string; - // (undocumented) - videoCodec?: string; - // (undocumented) - width?: number; + // (undocumented) + attrs: LevelAttributes; + // (undocumented) + audioCodec?: string; + // (undocumented) + bitrate: number; + // (undocumented) + details?: LevelDetails; + // (undocumented) + height?: number; + // (undocumented) + id?: number; + // (undocumented) + level?: number; + // (undocumented) + name: string; + // (undocumented) + textCodec?: string; + // (undocumented) + unknownCodecs?: string[]; + // (undocumented) + url: string; + // (undocumented) + videoCodec?: string; + // (undocumented) + width?: number; } // Warning: (ae-missing-release-tag) "LevelPTSUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelPTSUpdatedData { - // (undocumented) - details: LevelDetails; - // (undocumented) - drift: number; - // (undocumented) - end: number; - // (undocumented) - frag: Fragment; - // (undocumented) - level: Level; - // (undocumented) - start: number; - // (undocumented) - type: string; + // (undocumented) + details: LevelDetails; + // (undocumented) + drift: number; + // (undocumented) + end: number; + // (undocumented) + frag: Fragment; + // (undocumented) + level: Level; + // (undocumented) + start: number; + // (undocumented) + type: string; } // Warning: (ae-missing-release-tag) "LevelsUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelsUpdatedData { - // (undocumented) - levels: Array; + // (undocumented) + levels: Array; } // Warning: (ae-missing-release-tag) "LevelSwitchedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelSwitchedData { - // (undocumented) - level: number; + // (undocumented) + level: number; } // Warning: (ae-missing-release-tag) "LevelSwitchingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelSwitchingData extends Omit { - // (undocumented) - level: number; + // (undocumented) + level: number; } // Warning: (ae-missing-release-tag) "LevelUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LevelUpdatedData { - // (undocumented) - details: LevelDetails; - // (undocumented) - level: number; + // (undocumented) + details: LevelDetails; + // (undocumented) + level: number; } // Warning: (ae-missing-release-tag) "LiveBackBufferData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LiveBackBufferData { - // (undocumented) - bufferEnd: number; + // (undocumented) + bufferEnd: number; } // Warning: (ae-missing-release-tag) "Loader" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface Loader { - // (undocumented) - abort(): void; - // (undocumented) - context: T; - // (undocumented) - destroy(): void; - // (undocumented) - getResponseHeader(name: string): string | null; - // (undocumented) - load( - context: LoaderContext, - config: LoaderConfiguration, - callbacks: LoaderCallbacks - ): void; - // (undocumented) - loader: any; - // (undocumented) - stats: LoaderStats; + // (undocumented) + abort(): void; + // (undocumented) + context: T; + // (undocumented) + destroy(): void; + // (undocumented) + getResponseHeader(name: string): string | null; + // (undocumented) + load(context: LoaderContext, config: LoaderConfiguration, callbacks: LoaderCallbacks): void; + // (undocumented) + loader: any; + // (undocumented) + stats: LoaderStats; } // Warning: (ae-missing-release-tag) "LoaderCallbacks" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LoaderCallbacks { - // (undocumented) - onAbort?: LoaderOnAbort; - // (undocumented) - onError: LoaderOnError; - // (undocumented) - onProgress?: LoaderOnProgress; - // (undocumented) - onSuccess: LoaderOnSuccess; - // (undocumented) - onTimeout: LoaderOnTimeout; + // (undocumented) + onAbort?: LoaderOnAbort; + // (undocumented) + onError: LoaderOnError; + // (undocumented) + onProgress?: LoaderOnProgress; + // (undocumented) + onSuccess: LoaderOnSuccess; + // (undocumented) + onTimeout: LoaderOnTimeout; } // Warning: (ae-missing-release-tag) "LoaderConfiguration" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LoaderConfiguration { - // (undocumented) - highWaterMark: number; - // (undocumented) - maxRetry: number; - // (undocumented) - maxRetryDelay: number; - // (undocumented) - retryDelay: number; - // (undocumented) - timeout: number; + // (undocumented) + highWaterMark: number; + // (undocumented) + maxRetry: number; + // (undocumented) + maxRetryDelay: number; + // (undocumented) + retryDelay: number; + // (undocumented) + timeout: number; } // Warning: (ae-missing-release-tag) "LoaderContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LoaderContext { - // (undocumented) - progressData?: boolean; - // (undocumented) - rangeEnd?: number; - // (undocumented) - rangeStart?: number; - // (undocumented) - responseType: string; - // (undocumented) - url: string; + // (undocumented) + progressData?: boolean; + // (undocumented) + rangeEnd?: number; + // (undocumented) + rangeStart?: number; + // (undocumented) + responseType: string; + // (undocumented) + url: string; } // Warning: (ae-missing-release-tag) "LoaderOnAbort" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export type LoaderOnAbort = ( - stats: LoaderStats, - context: T, - networkDetails: any -) => void; +export type LoaderOnAbort = (stats: LoaderStats, context: T, networkDetails: any) => void; // Warning: (ae-missing-release-tag) "LoaderOnError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export type LoaderOnError = ( - error: { +export type LoaderOnError = (error: { code: number; text: string; - }, - context: T, - networkDetails: any -) => void; +}, context: T, networkDetails: any) => void; // Warning: (ae-missing-release-tag) "LoaderOnProgress" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export type LoaderOnProgress = ( - stats: LoaderStats, - context: T, - data: string | ArrayBuffer, - networkDetails: any -) => void; +export type LoaderOnProgress = (stats: LoaderStats, context: T, data: string | ArrayBuffer, networkDetails: any) => void; // Warning: (ae-missing-release-tag) "LoaderOnSuccess" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export type LoaderOnSuccess = ( - response: LoaderResponse, - stats: LoaderStats, - context: T, - networkDetails: any -) => void; +export type LoaderOnSuccess = (response: LoaderResponse, stats: LoaderStats, context: T, networkDetails: any) => void; // Warning: (ae-missing-release-tag) "LoaderOnTimeout" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export type LoaderOnTimeout = ( - stats: LoaderStats, - context: T, - networkDetails: any -) => void; +export type LoaderOnTimeout = (stats: LoaderStats, context: T, networkDetails: any) => void; // Warning: (ae-missing-release-tag) "LoaderResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LoaderResponse { - // (undocumented) - data: string | ArrayBuffer; - // (undocumented) - url: string; + // (undocumented) + data: string | ArrayBuffer; + // (undocumented) + url: string; } // Warning: (ae-missing-release-tag) "LoaderStats" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface LoaderStats { - // (undocumented) - aborted: boolean; - // (undocumented) - buffering: HlsProgressivePerformanceTiming; - // (undocumented) - bwEstimate: number; - // (undocumented) - chunkCount: number; - // (undocumented) - loaded: number; - // (undocumented) - loading: HlsProgressivePerformanceTiming; - // (undocumented) - parsing: HlsPerformanceTiming; - // (undocumented) - retry: number; - // (undocumented) - total: number; + // (undocumented) + aborted: boolean; + // (undocumented) + buffering: HlsProgressivePerformanceTiming; + // (undocumented) + bwEstimate: number; + // (undocumented) + chunkCount: number; + // (undocumented) + loaded: number; + // (undocumented) + loading: HlsProgressivePerformanceTiming; + // (undocumented) + parsing: HlsPerformanceTiming; + // (undocumented) + retry: number; + // (undocumented) + total: number; } // Warning: (ae-missing-release-tag) "LoadStats" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class LoadStats implements LoaderStats { - // (undocumented) - aborted: boolean; - // (undocumented) - buffering: HlsProgressivePerformanceTiming; - // (undocumented) - bwEstimate: number; - // (undocumented) - chunkCount: number; - // (undocumented) - loaded: number; - // (undocumented) - loading: HlsProgressivePerformanceTiming; - // (undocumented) - parsing: HlsPerformanceTiming; - // (undocumented) - retry: number; - // (undocumented) - total: number; + // (undocumented) + aborted: boolean; + // (undocumented) + buffering: HlsProgressivePerformanceTiming; + // (undocumented) + bwEstimate: number; + // (undocumented) + chunkCount: number; + // (undocumented) + loaded: number; + // (undocumented) + loading: HlsProgressivePerformanceTiming; + // (undocumented) + parsing: HlsPerformanceTiming; + // (undocumented) + retry: number; + // (undocumented) + total: number; } // Warning: (ae-missing-release-tag) "MainPlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -2074,100 +1835,97 @@ export type MainPlaylistType = AudioPlaylistType | 'VIDEO'; // // @public (undocumented) export interface ManifestLoadedData { - // (undocumented) - audioTracks: MediaPlaylist[]; - // (undocumented) - captions?: MediaPlaylist[]; - // (undocumented) - levels: LevelParsed[]; - // (undocumented) - networkDetails: any; - // (undocumented) - sessionData: Record | null; - // (undocumented) - stats: LoaderStats; - // (undocumented) - subtitles?: MediaPlaylist[]; - // (undocumented) - url: string; + // (undocumented) + audioTracks: MediaPlaylist[]; + // (undocumented) + captions?: MediaPlaylist[]; + // (undocumented) + levels: LevelParsed[]; + // (undocumented) + networkDetails: any; + // (undocumented) + sessionData: Record | null; + // (undocumented) + stats: LoaderStats; + // (undocumented) + subtitles?: MediaPlaylist[]; + // (undocumented) + url: string; } // Warning: (ae-missing-release-tag) "ManifestLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface ManifestLoadingData { - // (undocumented) - url: string; + // (undocumented) + url: string; } // Warning: (ae-missing-release-tag) "ManifestParsedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface ManifestParsedData { - // (undocumented) - altAudio: boolean; - // (undocumented) - audio: boolean; - // (undocumented) - audioTracks: MediaPlaylist[]; - // (undocumented) - firstLevel: number; - // (undocumented) - levels: Level[]; - // (undocumented) - stats: LoaderStats; - // (undocumented) - subtitleTracks: MediaPlaylist[]; - // (undocumented) - video: boolean; + // (undocumented) + altAudio: boolean; + // (undocumented) + audio: boolean; + // (undocumented) + audioTracks: MediaPlaylist[]; + // (undocumented) + firstLevel: number; + // (undocumented) + levels: Level[]; + // (undocumented) + stats: LoaderStats; + // (undocumented) + subtitleTracks: MediaPlaylist[]; + // (undocumented) + video: boolean; } // Warning: (ae-missing-release-tag) "MediaAttachedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface MediaAttachedData { - // (undocumented) - media: HTMLMediaElement; + // (undocumented) + media: HTMLMediaElement; } // Warning: (ae-missing-release-tag) "MediaAttachingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface MediaAttachingData { - // (undocumented) - media: HTMLMediaElement; + // (undocumented) + media: HTMLMediaElement; } // Warning: (ae-missing-release-tag) "MediaKeyFunc" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export type MediaKeyFunc = ( - keySystem: KeySystems, - supportedConfigurations: MediaKeySystemConfiguration[] -) => Promise; +export type MediaKeyFunc = (keySystem: KeySystems, supportedConfigurations: MediaKeySystemConfiguration[]) => Promise; // Warning: (ae-missing-release-tag) "MediaPlaylist" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface MediaPlaylist extends LevelParsed { - // (undocumented) - autoselect: boolean; - // (undocumented) - default: boolean; - // (undocumented) - forced: boolean; - // (undocumented) - groupId?: string; - // (undocumented) - id: number; - // (undocumented) - instreamId?: string; - // (undocumented) - lang?: string; - // (undocumented) - name: string; - // (undocumented) - type: MediaPlaylistType | 'main'; + // (undocumented) + autoselect: boolean; + // (undocumented) + default: boolean; + // (undocumented) + forced: boolean; + // (undocumented) + groupId?: string; + // (undocumented) + id: number; + // (undocumented) + instreamId?: string; + // (undocumented) + lang?: string; + // (undocumented) + name: string; + // (undocumented) + type: MediaPlaylistType | 'main'; } // Warning: (ae-missing-release-tag) "MediaPlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -2179,148 +1937,142 @@ export type MediaPlaylistType = MainPlaylistType | SubtitlePlaylistType; // // @public (undocumented) export interface MetadataSample { - // (undocumented) - data: Uint8Array; - // (undocumented) - dts: number; - // (undocumented) - len?: number; - // (undocumented) - pts: number; + // (undocumented) + data: Uint8Array; + // (undocumented) + dts: number; + // (undocumented) + len?: number; + // (undocumented) + pts: number; } // Warning: (ae-missing-release-tag) "MP4RemuxerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type MP4RemuxerConfig = { - stretchShortVideoTrack: boolean; - maxAudioFramesDrift: number; + stretchShortVideoTrack: boolean; + maxAudioFramesDrift: number; }; // Warning: (ae-missing-release-tag) "NonNativeTextTrack" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface NonNativeTextTrack { - // (undocumented) - closedCaptions?: MediaPlaylist; - // (undocumented) - default: boolean; - // (undocumented) - _id?: string; - // (undocumented) - kind: string; - // (undocumented) - label: any; - // (undocumented) - subtitleTrack?: MediaPlaylist; + // (undocumented) + closedCaptions?: MediaPlaylist; + // (undocumented) + default: boolean; + // (undocumented) + _id?: string; + // (undocumented) + kind: string; + // (undocumented) + label: any; + // (undocumented) + subtitleTrack?: MediaPlaylist; } // Warning: (ae-missing-release-tag) "NonNativeTextTracksData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface NonNativeTextTracksData { - // (undocumented) - tracks: Array; + // (undocumented) + tracks: Array; } // Warning: (ae-missing-release-tag) "Part" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class Part extends BaseSegment { - constructor( - partAttrs: AttrList, - frag: Fragment, - baseurl: string, - index: number, - previous?: Part - ); - // (undocumented) - readonly duration: number; - // (undocumented) - get end(): number; - // (undocumented) - readonly fragment: Fragment; - // (undocumented) - readonly fragOffset: number; - // (undocumented) - readonly gap: boolean; - // (undocumented) - readonly independent: boolean; - // (undocumented) - readonly index: number; - // (undocumented) - get loaded(): boolean; - // (undocumented) - readonly relurl: string; - // (undocumented) - get start(): number; - // (undocumented) - stats: LoadStats; + constructor(partAttrs: AttrList, frag: Fragment, baseurl: string, index: number, previous?: Part); + // (undocumented) + readonly duration: number; + // (undocumented) + get end(): number; + // (undocumented) + readonly fragment: Fragment; + // (undocumented) + readonly fragOffset: number; + // (undocumented) + readonly gap: boolean; + // (undocumented) + readonly independent: boolean; + // (undocumented) + readonly index: number; + // (undocumented) + get loaded(): boolean; + // (undocumented) + readonly relurl: string; + // (undocumented) + get start(): number; + // (undocumented) + stats: LoadStats; } // Warning: (ae-missing-release-tag) "PlaylistContextType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export enum PlaylistContextType { - // (undocumented) - AUDIO_TRACK = 'audioTrack', - // (undocumented) - LEVEL = 'level', - // (undocumented) - MANIFEST = 'manifest', - // (undocumented) - SUBTITLE_TRACK = 'subtitleTrack', + // (undocumented) + AUDIO_TRACK = "audioTrack", + // (undocumented) + LEVEL = "level", + // (undocumented) + MANIFEST = "manifest", + // (undocumented) + SUBTITLE_TRACK = "subtitleTrack" } // Warning: (ae-missing-release-tag) "PlaylistLevelType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export enum PlaylistLevelType { - // (undocumented) - AUDIO = 'audio', - // (undocumented) - MAIN = 'main', - // (undocumented) - SUBTITLE = 'subtitle', + // (undocumented) + AUDIO = "audio", + // (undocumented) + MAIN = "main", + // (undocumented) + SUBTITLE = "subtitle" } // Warning: (ae-missing-release-tag) "PlaylistLoaderConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type PlaylistLoaderConfig = { - pLoader?: { - new (confg: HlsConfig): Loader; - }; - manifestLoadingTimeOut: number; - manifestLoadingMaxRetry: number; - manifestLoadingRetryDelay: number; - manifestLoadingMaxRetryTimeout: number; - levelLoadingTimeOut: number; - levelLoadingMaxRetry: number; - levelLoadingRetryDelay: number; - levelLoadingMaxRetryTimeout: number; + pLoader?: { + new (confg: HlsConfig): Loader; + }; + manifestLoadingTimeOut: number; + manifestLoadingMaxRetry: number; + manifestLoadingRetryDelay: number; + manifestLoadingMaxRetryTimeout: number; + levelLoadingTimeOut: number; + levelLoadingMaxRetry: number; + levelLoadingRetryDelay: number; + levelLoadingMaxRetryTimeout: number; }; // Warning: (ae-missing-release-tag) "PlaylistLoaderContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface PlaylistLoaderContext extends LoaderContext { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - groupId: string | null; - // (undocumented) - id: number | null; - // (undocumented) - isSidxRequest?: boolean; - // (undocumented) - level: number | null; - // (undocumented) - levelDetails?: LevelDetails; - // (undocumented) - loader?: Loader; - // (undocumented) - type: PlaylistContextType; + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + groupId: string | null; + // (undocumented) + id: number | null; + // (undocumented) + isSidxRequest?: boolean; + // (undocumented) + level: number | null; + // (undocumented) + levelDetails?: LevelDetails; + // (undocumented) + loader?: Loader; + // (undocumented) + type: PlaylistContextType; } // Warning: (ae-missing-release-tag) "SourceBufferName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -2332,32 +2084,32 @@ export type SourceBufferName = 'video' | 'audio' | 'audiovideo'; // // @public (undocumented) export type StreamControllerConfig = { - autoStartLoad: boolean; - startPosition: number; - defaultAudioCodec?: string; - initialLiveManifestSize: number; - maxBufferLength: number; - maxBufferSize: number; - maxBufferHole: number; - highBufferWatchdogPeriod: number; - nudgeOffset: number; - nudgeMaxRetry: number; - maxFragLookUpTolerance: number; - maxMaxBufferLength: number; - startFragPrefetch: boolean; - testBandwidth: boolean; + autoStartLoad: boolean; + startPosition: number; + defaultAudioCodec?: string; + initialLiveManifestSize: number; + maxBufferLength: number; + maxBufferSize: number; + maxBufferHole: number; + highBufferWatchdogPeriod: number; + nudgeOffset: number; + nudgeMaxRetry: number; + maxFragLookUpTolerance: number; + maxMaxBufferLength: number; + startFragPrefetch: boolean; + testBandwidth: boolean; }; // Warning: (ae-missing-release-tag) "SubtitleFragProcessedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface SubtitleFragProcessedData { - // (undocumented) - error?: Error; - // (undocumented) - frag: Fragment; - // (undocumented) - success: boolean; + // (undocumented) + error?: Error; + // (undocumented) + frag: Fragment; + // (undocumented) + success: boolean; } // Warning: (ae-missing-release-tag) "SubtitlePlaylistType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -2368,128 +2120,130 @@ export type SubtitlePlaylistType = 'SUBTITLES' | 'CLOSED-CAPTIONS'; // Warning: (ae-missing-release-tag) "SubtitleTrackLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export interface SubtitleTrackLoadedData extends TrackLoadedData {} +export interface SubtitleTrackLoadedData extends TrackLoadedData { +} // Warning: (ae-missing-release-tag) "SubtitleTracksUpdatedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface SubtitleTracksUpdatedData { - // (undocumented) - subtitleTracks: MediaPlaylist[]; + // (undocumented) + subtitleTracks: MediaPlaylist[]; } // Warning: (ae-missing-release-tag) "SubtitleTrackSwitchData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface SubtitleTrackSwitchData { - // (undocumented) - id: number; - // (undocumented) - type?: MediaPlaylistType | 'main'; - // (undocumented) - url?: string; + // (undocumented) + id: number; + // (undocumented) + type?: MediaPlaylistType | 'main'; + // (undocumented) + url?: string; } // Warning: (ae-missing-release-tag) "TimelineControllerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type TimelineControllerConfig = { - cueHandler: CuesInterface; - enableCEA708Captions: boolean; - enableWebVTT: boolean; - enableIMSC1: boolean; - captionsTextTrack1Label: string; - captionsTextTrack1LanguageCode: string; - captionsTextTrack2Label: string; - captionsTextTrack2LanguageCode: string; - captionsTextTrack3Label: string; - captionsTextTrack3LanguageCode: string; - captionsTextTrack4Label: string; - captionsTextTrack4LanguageCode: string; - renderTextTracksNatively: boolean; + cueHandler: CuesInterface; + enableCEA708Captions: boolean; + enableWebVTT: boolean; + enableIMSC1: boolean; + captionsTextTrack1Label: string; + captionsTextTrack1LanguageCode: string; + captionsTextTrack2Label: string; + captionsTextTrack2LanguageCode: string; + captionsTextTrack3Label: string; + captionsTextTrack3LanguageCode: string; + captionsTextTrack4Label: string; + captionsTextTrack4LanguageCode: string; + renderTextTracksNatively: boolean; }; // Warning: (ae-missing-release-tag) "Track" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface Track { - // (undocumented) - buffer?: SourceBuffer; - // (undocumented) - codec?: string; - // (undocumented) - container: string; - // (undocumented) - id: 'audio' | 'main'; - // (undocumented) - initSegment?: Uint8Array; - // (undocumented) - levelCodec?: string; - // (undocumented) - metadata?: any; + // (undocumented) + buffer?: SourceBuffer; + // (undocumented) + codec?: string; + // (undocumented) + container: string; + // (undocumented) + id: 'audio' | 'main'; + // (undocumented) + initSegment?: Uint8Array; + // (undocumented) + levelCodec?: string; + // (undocumented) + metadata?: any; } // Warning: (ae-missing-release-tag) "TrackLoadedData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface TrackLoadedData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - details: LevelDetails; - // (undocumented) - groupId: string; - // (undocumented) - id: number; - // (undocumented) - networkDetails: any; - // (undocumented) - stats: LoaderStats; + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + details: LevelDetails; + // (undocumented) + groupId: string; + // (undocumented) + id: number; + // (undocumented) + networkDetails: any; + // (undocumented) + stats: LoaderStats; } // Warning: (ae-missing-release-tag) "TrackLoadingData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface TrackLoadingData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - groupId: string; - // (undocumented) - id: number; - // (undocumented) - url: string; + // (undocumented) + deliveryDirectives: HlsUrlParameters | null; + // (undocumented) + groupId: string; + // (undocumented) + id: number; + // (undocumented) + url: string; } // Warning: (ae-missing-release-tag) "TrackSet" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface TrackSet { - // (undocumented) - audio?: Track; - // (undocumented) - audiovideo?: Track; - // (undocumented) - video?: Track; + // (undocumented) + audio?: Track; + // (undocumented) + audiovideo?: Track; + // (undocumented) + video?: Track; } // Warning: (ae-missing-release-tag) "TSDemuxerConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export type TSDemuxerConfig = { - forceKeyFrameOnDiscontinuity: boolean; + forceKeyFrameOnDiscontinuity: boolean; }; // Warning: (ae-missing-release-tag) "UserdataSample" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export interface UserdataSample { - // (undocumented) - bytes: Uint8Array; - // (undocumented) - pts: number; + // (undocumented) + bytes: Uint8Array; + // (undocumented) + pts: number; } + // Warnings were encountered during analysis: // // src/config.ts:153:3 - (ae-forgotten-export) The symbol "AudioStreamController" needs to be exported by the entry point hls.d.ts @@ -2504,4 +2258,5 @@ export interface UserdataSample { // src/config.ts:165:3 - (ae-forgotten-export) The symbol "FPSController" needs to be exported by the entry point hls.d.ts // (No @packageDocumentation comment for this package) + ``` diff --git a/src/controller/subtitle-track-controller.ts b/src/controller/subtitle-track-controller.ts index 9f9e6226cee..6a397aeb157 100644 --- a/src/controller/subtitle-track-controller.ts +++ b/src/controller/subtitle-track-controller.ts @@ -241,12 +241,11 @@ class SubtitleTrackController extends BasePlaylistController { return this.tracksInGroup; } - /** get index of the selected subtitle track (index in subtitle track lists) **/ + /** get/set index of the selected subtitle track (based on index in subtitle track lists) **/ get subtitleTrack(): number { return this.trackId; } - /** select a subtitle track, based on its index in subtitle track lists**/ set subtitleTrack(newId: number) { this.selectDefaultTrack = false; const lastTrack = this.tracksInGroup From 8e06640d81ad294cb8ead17806fe1016932900b9 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:30:03 +0000 Subject: [PATCH 11/18] Delete hls.js.api.md --- docs/hls.js.api.md | 1861 -------------------------------------------- 1 file changed, 1861 deletions(-) delete mode 100644 docs/hls.js.api.md diff --git a/docs/hls.js.api.md b/docs/hls.js.api.md deleted file mode 100644 index 5e9235b7880..00000000000 --- a/docs/hls.js.api.md +++ /dev/null @@ -1,1861 +0,0 @@ -## API Report File for "hls.js" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -// @public (undocumented) -export type ABRControllerConfig = { - abrEwmaFastLive: number; - abrEwmaSlowLive: number; - abrEwmaFastVoD: number; - abrEwmaSlowVoD: number; - abrEwmaDefaultEstimate: number; - abrBandWidthFactor: number; - abrBandWidthUpFactor: number; - abrMaxWithRealBitrate: boolean; - maxStarvationDelay: number; - maxLoadingDelay: number; -}; - -// @public (undocumented) -export class AttrList { - constructor(attrs: string | Record); - // (undocumented) - [key: string]: any; - // (undocumented) - bool(attrName: string): boolean; - // (undocumented) - decimalFloatingPoint(attrName: string): number; - // (undocumented) - decimalInteger(attrName: string): number; - // (undocumented) - decimalResolution(attrName: string): { - width: number; - height: number; - } | undefined; - // (undocumented) - enumeratedString(attrName: string): string | undefined; - // (undocumented) - hexadecimalInteger(attrName: string): Uint8Array | null; - // (undocumented) - hexadecimalIntegerAsNumber(attrName: string): number; - // (undocumented) - optionalFloat(attrName: string, defaultValue: number): number; - // (undocumented) - static parseAttrList(input: string): Record; -} - -// @public (undocumented) -export type AudioPlaylistType = 'AUDIO'; - -// @public (undocumented) -export interface AudioTrackLoadedData extends TrackLoadedData { -} - -// @public (undocumented) -export interface AudioTracksUpdatedData { - // (undocumented) - audioTracks: MediaPlaylist[]; -} - -// @public (undocumented) -export interface AudioTrackSwitchedData { - // (undocumented) - id: number; -} - -// @public (undocumented) -export interface AudioTrackSwitchingData { - // (undocumented) - id: number; - // (undocumented) - type: MediaPlaylistType | 'main'; - // (undocumented) - url: string; -} - -// @public (undocumented) -export class BaseSegment { - constructor(baseurl: string); - // (undocumented) - readonly baseurl: string; - // (undocumented) - get byteRange(): number[]; - // (undocumented) - get byteRangeEndOffset(): number; - // (undocumented) - get byteRangeStartOffset(): number; - // (undocumented) - elementaryStreams: ElementaryStreams; - // (undocumented) - relurl?: string; - // (undocumented) - setByteRange(value: string, previous?: BaseSegment): void; - // (undocumented) - get url(): string; - set url(value: string); - } - -// @public (undocumented) -export interface BufferAppendedData { - // (undocumented) - chunkMeta: ChunkMetadata; - // (undocumented) - frag: Fragment; - // (undocumented) - parent: PlaylistLevelType; - // (undocumented) - part: Part | null; - // (undocumented) - timeRanges: { - audio?: TimeRanges; - video?: TimeRanges; - audiovideo?: TimeRanges; - }; -} - -// @public (undocumented) -export interface BufferAppendingData { - // (undocumented) - chunkMeta: ChunkMetadata; - // (undocumented) - data: Uint8Array; - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; - // (undocumented) - type: SourceBufferName; -} - -// @public (undocumented) -export interface BufferCodecsData { - // (undocumented) - audio?: Track; - // (undocumented) - video?: Track; -} - -// @public (undocumented) -export type BufferControllerConfig = { - appendErrorMaxRetry: number; - liveDurationInfinity: boolean; - liveBackBufferLength: number; -}; - -// @public (undocumented) -export interface BufferCreatedData { - // (undocumented) - tracks: TrackSet; -} - -// @public (undocumented) -export interface BufferEOSData { - // (undocumented) - type?: SourceBufferName; -} - -// @public (undocumented) -export interface BufferFlushedData { - // (undocumented) - type: SourceBufferName; -} - -// @public (undocumented) -export interface BufferFlushingData { - // (undocumented) - endOffset: number; - // (undocumented) - startOffset: number; - // (undocumented) - type: SourceBufferName | null; -} - -// @public (undocumented) -export type CapLevelControllerConfig = { - capLevelToPlayerSize: boolean; -}; - -// @public (undocumented) -export class ChunkMetadata { - constructor(level: number, sn: number, id: number, size?: number, part?: number, partial?: boolean); - // (undocumented) - readonly buffering: { - [key in SourceBufferName]: HlsChunkPerformanceTiming; - }; - // (undocumented) - readonly id: number; - // (undocumented) - readonly level: number; - // (undocumented) - readonly part: number; - // (undocumented) - readonly partial: boolean; - // (undocumented) - readonly size: number; - // (undocumented) - readonly sn: number; - // (undocumented) - readonly transmuxing: HlsChunkPerformanceTiming; -} - -// @public (undocumented) -export interface CuesInterface { - // Warning: (ae-forgotten-export) The symbol "CaptionScreen" needs to be exported by the entry point hls.d.ts - // - // (undocumented) - newCue(track: TextTrack | null, startTime: number, endTime: number, captionScreen: CaptionScreen): VTTCue[]; -} - -// @public (undocumented) -export interface CuesParsedData { - // (undocumented) - cues: any; - // (undocumented) - track: string; - // (undocumented) - type: 'captions' | 'subtitles'; -} - -// @public (undocumented) -export type DRMSystemOptions = { - audioRobustness?: string; - videoRobustness?: string; -}; - -// @public (undocumented) -export interface ElementaryStreamInfo { - // (undocumented) - endDTS: number; - // (undocumented) - endPTS: number; - // (undocumented) - partial?: boolean; - // (undocumented) - startDTS: number; - // (undocumented) - startPTS: number; -} - -// @public (undocumented) -export type ElementaryStreams = Record; - -// @public (undocumented) -export enum ElementaryStreamTypes { - // (undocumented) - AUDIO = "audio", - // (undocumented) - AUDIOVIDEO = "audiovideo", - // (undocumented) - VIDEO = "video" -} - -// @public (undocumented) -export type EMEControllerConfig = { - licenseXhrSetup?: (xhr: XMLHttpRequest, url: string) => void; - emeEnabled: boolean; - widevineLicenseUrl?: string; - drmSystemOptions: DRMSystemOptions; - requestMediaKeySystemAccessFunc: MediaKeyFunc | null; -}; - -// @public (undocumented) -export interface ErrorData { - // (undocumented) - buffer?: number; - // (undocumented) - bytes?: number; - // (undocumented) - context?: PlaylistLoaderContext; - // (undocumented) - details: ErrorDetails; - // (undocumented) - err?: { - message: string; - }; - // (undocumented) - error?: Error; - // (undocumented) - event?: keyof HlsListeners | 'demuxerWorker'; - // (undocumented) - fatal: boolean; - // (undocumented) - frag?: Fragment; - // (undocumented) - level?: number | undefined; - // (undocumented) - levelRetry?: boolean; - // (undocumented) - loader?: Loader; - // (undocumented) - mimeType?: string; - // (undocumented) - networkDetails?: any; - // (undocumented) - parent?: PlaylistLevelType; - // (undocumented) - reason?: string; - // (undocumented) - response?: LoaderResponse; - // (undocumented) - type: ErrorTypes; - // (undocumented) - url?: string; -} - -// @public -export enum ErrorDetails { - // (undocumented) - AUDIO_TRACK_LOAD_ERROR = "audioTrackLoadError", - // (undocumented) - AUDIO_TRACK_LOAD_TIMEOUT = "audioTrackLoadTimeOut", - // (undocumented) - BUFFER_ADD_CODEC_ERROR = "bufferAddCodecError", - // (undocumented) - BUFFER_APPEND_ERROR = "bufferAppendError", - // (undocumented) - BUFFER_APPENDING_ERROR = "bufferAppendingError", - // (undocumented) - BUFFER_FULL_ERROR = "bufferFullError", - // (undocumented) - BUFFER_NUDGE_ON_STALL = "bufferNudgeOnStall", - // (undocumented) - BUFFER_SEEK_OVER_HOLE = "bufferSeekOverHole", - // (undocumented) - BUFFER_STALLED_ERROR = "bufferStalledError", - // (undocumented) - FRAG_DECRYPT_ERROR = "fragDecryptError", - // (undocumented) - FRAG_LOAD_ERROR = "fragLoadError", - // (undocumented) - FRAG_LOAD_TIMEOUT = "fragLoadTimeOut", - // (undocumented) - FRAG_PARSING_ERROR = "fragParsingError", - // (undocumented) - INTERNAL_ABORTED = "aborted", - // (undocumented) - INTERNAL_EXCEPTION = "internalException", - // (undocumented) - KEY_LOAD_ERROR = "keyLoadError", - // (undocumented) - KEY_LOAD_TIMEOUT = "keyLoadTimeOut", - // (undocumented) - KEY_SYSTEM_LICENSE_REQUEST_FAILED = "keySystemLicenseRequestFailed", - // (undocumented) - KEY_SYSTEM_NO_ACCESS = "keySystemNoAccess", - // (undocumented) - KEY_SYSTEM_NO_INIT_DATA = "keySystemNoInitData", - // (undocumented) - KEY_SYSTEM_NO_KEYS = "keySystemNoKeys", - // (undocumented) - KEY_SYSTEM_NO_SESSION = "keySystemNoSession", - // (undocumented) - LEVEL_EMPTY_ERROR = "levelEmptyError", - // (undocumented) - LEVEL_LOAD_ERROR = "levelLoadError", - // (undocumented) - LEVEL_LOAD_TIMEOUT = "levelLoadTimeOut", - // (undocumented) - LEVEL_SWITCH_ERROR = "levelSwitchError", - // (undocumented) - MANIFEST_INCOMPATIBLE_CODECS_ERROR = "manifestIncompatibleCodecsError", - // (undocumented) - MANIFEST_LOAD_ERROR = "manifestLoadError", - // (undocumented) - MANIFEST_LOAD_TIMEOUT = "manifestLoadTimeOut", - // (undocumented) - MANIFEST_PARSING_ERROR = "manifestParsingError", - // (undocumented) - REMUX_ALLOC_ERROR = "remuxAllocError", - // (undocumented) - SUBTITLE_LOAD_ERROR = "subtitleTrackLoadError", - // (undocumented) - SUBTITLE_TRACK_LOAD_TIMEOUT = "subtitleTrackLoadTimeOut", - // (undocumented) - UNKNOWN = "unknown" -} - -// @public (undocumented) -export enum ErrorTypes { - // (undocumented) - KEY_SYSTEM_ERROR = "keySystemError", - // (undocumented) - MEDIA_ERROR = "mediaError", - // (undocumented) - MUX_ERROR = "muxError", - // (undocumented) - NETWORK_ERROR = "networkError", - // (undocumented) - OTHER_ERROR = "otherError" -} - -// @public -export enum Events { - // (undocumented) - AUDIO_TRACK_LOADED = "hlsAudioTrackLoaded", - // (undocumented) - AUDIO_TRACK_LOADING = "hlsAudioTrackLoading", - // (undocumented) - AUDIO_TRACK_SWITCHED = "hlsAudioTrackSwitched", - // (undocumented) - AUDIO_TRACK_SWITCHING = "hlsAudioTrackSwitching", - // (undocumented) - AUDIO_TRACKS_UPDATED = "hlsAudioTracksUpdated", - // (undocumented) - BUFFER_APPENDED = "hlsBufferAppended", - // (undocumented) - BUFFER_APPENDING = "hlsBufferAppending", - // (undocumented) - BUFFER_CODECS = "hlsBufferCodecs", - // (undocumented) - BUFFER_CREATED = "hlsBufferCreated", - // (undocumented) - BUFFER_EOS = "hlsBufferEos", - // (undocumented) - BUFFER_FLUSHED = "hlsBufferFlushed", - // (undocumented) - BUFFER_FLUSHING = "hlsBufferFlushing", - // (undocumented) - BUFFER_RESET = "hlsBufferReset", - // (undocumented) - CUES_PARSED = "hlsCuesParsed", - // (undocumented) - DESTROYING = "hlsDestroying", - // (undocumented) - ERROR = "hlsError", - // (undocumented) - FPS_DROP = "hlsFpsDrop", - // (undocumented) - FPS_DROP_LEVEL_CAPPING = "hlsFpsDropLevelCapping", - // (undocumented) - FRAG_BUFFERED = "hlsFragBuffered", - // (undocumented) - FRAG_CHANGED = "hlsFragChanged", - // (undocumented) - FRAG_DECRYPTED = "hlsFragDecrypted", - // (undocumented) - FRAG_LOAD_EMERGENCY_ABORTED = "hlsFragLoadEmergencyAborted", - // (undocumented) - FRAG_LOADED = "hlsFragLoaded", - // (undocumented) - FRAG_LOADING = "hlsFragLoading", - // (undocumented) - FRAG_PARSED = "hlsFragParsed", - // (undocumented) - FRAG_PARSING_INIT_SEGMENT = "hlsFragParsingInitSegment", - // (undocumented) - FRAG_PARSING_METADATA = "hlsFragParsingMetadata", - // (undocumented) - FRAG_PARSING_USERDATA = "hlsFragParsingUserdata", - // (undocumented) - INIT_PTS_FOUND = "hlsInitPtsFound", - // (undocumented) - KEY_LOADED = "hlsKeyLoaded", - // (undocumented) - KEY_LOADING = "hlsKeyLoading", - // (undocumented) - LEVEL_LOADED = "hlsLevelLoaded", - // (undocumented) - LEVEL_LOADING = "hlsLevelLoading", - // (undocumented) - LEVEL_PTS_UPDATED = "hlsLevelPtsUpdated", - // (undocumented) - LEVEL_SWITCHED = "hlsLevelSwitched", - // (undocumented) - LEVEL_SWITCHING = "hlsLevelSwitching", - // (undocumented) - LEVEL_UPDATED = "hlsLevelUpdated", - // (undocumented) - LEVELS_UPDATED = "hlsLevelsUpdated", - // (undocumented) - LIVE_BACK_BUFFER_REACHED = "hlsLiveBackBufferReached", - // (undocumented) - MANIFEST_LOADED = "hlsManifestLoaded", - // (undocumented) - MANIFEST_LOADING = "hlsManifestLoading", - // (undocumented) - MANIFEST_PARSED = "hlsManifestParsed", - // (undocumented) - MEDIA_ATTACHED = "hlsMediaAttached", - // (undocumented) - MEDIA_ATTACHING = "hlsMediaAttaching", - // (undocumented) - MEDIA_DETACHED = "hlsMediaDetached", - // (undocumented) - MEDIA_DETACHING = "hlsMediaDetaching", - // (undocumented) - NON_NATIVE_TEXT_TRACKS_FOUND = "hlsNonNativeTextTracksFound", - // (undocumented) - SUBTITLE_FRAG_PROCESSED = "hlsSubtitleFragProcessed", - // (undocumented) - SUBTITLE_TRACK_LOADED = "hlsSubtitleTrackLoaded", - // (undocumented) - SUBTITLE_TRACK_LOADING = "hlsSubtitleTrackLoading", - // (undocumented) - SUBTITLE_TRACK_SWITCH = "hlsSubtitleTrackSwitch", - // (undocumented) - SUBTITLE_TRACKS_CLEARED = "hlsSubtitleTracksCleared", - // (undocumented) - SUBTITLE_TRACKS_UPDATED = "hlsSubtitleTracksUpdated" -} - -// @public (undocumented) -export type FPSControllerConfig = { - capLevelOnFPSDrop: boolean; - fpsDroppedMonitoringPeriod: number; - fpsDroppedMonitoringThreshold: number; -}; - -// @public (undocumented) -export interface FPSDropData { - // (undocumented) - currentDecoded: number; - // (undocumented) - currentDropped: number; - // (undocumented) - totalDroppedFrames: number; -} - -// @public (undocumented) -export interface FPSDropLevelCappingData { - // (undocumented) - droppedLevel: number; - // (undocumented) - level: number; -} - -// @public (undocumented) -export interface FragBufferedData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - part: Part | null; - // (undocumented) - stats: LoadStats; -} - -// @public (undocumented) -export interface FragChangedData { - // (undocumented) - frag: Fragment; -} - -// @public (undocumented) -export interface FragDecryptedData { - // (undocumented) - frag: Fragment; - // (undocumented) - payload: ArrayBuffer; - // (undocumented) - stats: { - tstart: number; - tdecrypt: number; - }; -} - -// @public (undocumented) -export interface FragLoadedData { - // (undocumented) - frag: Fragment; - // (undocumented) - networkDetails: unknown; - // (undocumented) - part: Part | null; - // (undocumented) - payload: ArrayBuffer; -} - -// @public (undocumented) -export interface FragLoadEmergencyAbortedData { - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; - // (undocumented) - stats: LoaderStats; -} - -// @public (undocumented) -export interface FragLoadingData { - // (undocumented) - frag: Fragment; - // (undocumented) - part?: Part; - // (undocumented) - targetBufferTime: number | null; -} - -// @public (undocumented) -export class Fragment extends BaseSegment { - constructor(type: PlaylistLevelType, baseurl: string); - // (undocumented) - appendedPTS?: number; - // (undocumented) - bitrateTest: boolean; - // (undocumented) - cc: number; - // (undocumented) - clearElementaryStreamInfo(): void; - createInitializationVector(segmentNumber: number): Uint8Array; - // (undocumented) - data?: Uint8Array; - // (undocumented) - get decryptdata(): LevelKey | null; - // (undocumented) - deltaPTS?: number; - // (undocumented) - duration: number; - // (undocumented) - get encrypted(): boolean; - // (undocumented) - get end(): number; - // (undocumented) - endDTS: number; - // (undocumented) - get endProgramDateTime(): number | null; - // (undocumented) - endPTS?: number; - // (undocumented) - level: number; - // (undocumented) - levelkey?: LevelKey; - // (undocumented) - loader: Loader | null; - // (undocumented) - maxStartPTS?: number; - // (undocumented) - minEndPTS?: number; - // (undocumented) - programDateTime: number | null; - // (undocumented) - rawProgramDateTime: string | null; - setDecryptDataFromLevelKey(levelkey: LevelKey, segmentNumber: number): LevelKey; - // (undocumented) - setElementaryStreamInfo(type: ElementaryStreamTypes, startPTS: number, endPTS: number, startDTS: number, endDTS: number, partial?: boolean): void; - // (undocumented) - sn: number | 'initSegment'; - // (undocumented) - start: number; - // (undocumented) - startDTS: number; - // (undocumented) - startPTS?: number; - // (undocumented) - stats: LoadStats; - // (undocumented) - tagList: Array; - // (undocumented) - title: string | null; - // (undocumented) - readonly type: PlaylistLevelType; - // (undocumented) - urlId: number; -} - -// @public (undocumented) -export type FragmentLoaderConfig = { - fLoader?: { - new (confg: HlsConfig): Loader; - }; - fragLoadingTimeOut: number; - fragLoadingMaxRetry: number; - fragLoadingRetryDelay: number; - fragLoadingMaxRetryTimeout: number; -}; - -// @public (undocumented) -export interface FragmentLoaderContext extends LoaderContext { - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; -} - -// @public (undocumented) -export interface FragParsedData { - // (undocumented) - frag: Fragment; - // (undocumented) - part: Part | null; -} - -// @public (undocumented) -export interface FragParsingInitSegmentData { -} - -// @public (undocumented) -export interface FragParsingMetadataData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - samples: MetadataSample[]; -} - -// @public (undocumented) -export interface FragParsingUserdataData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - samples: UserdataSample[]; -} - -// @public -class Hls implements HlsEventEmitter { - constructor(userConfig?: Partial); - attachMedia(media: HTMLMediaElement): void; - get audioTrack(): number; - set audioTrack(audioTrackId: number); - get audioTracks(): Array; - get autoLevelCapping(): number; - set autoLevelCapping(newLevel: number); - get autoLevelEnabled(): boolean; - get bandwidthEstimate(): number; - get capLevelToPlayerSize(): boolean; - set capLevelToPlayerSize(shouldStartCapping: boolean); - // (undocumented) - readonly config: HlsConfig; - // (undocumented) - createController(ControllerClass: any, fragmentTracker: any, components: any): any; - get currentLevel(): number; - set currentLevel(newLevel: number); - // (undocumented) - static get DefaultConfig(): HlsConfig; - static set DefaultConfig(defaultConfig: HlsConfig); - destroy(): void; - detachMedia(): void; - // (undocumented) - emit(event: E, name: E, eventObject: Parameters[1]): boolean; - // (undocumented) - static get ErrorDetails(): typeof ErrorDetails; - // (undocumented) - static get ErrorTypes(): typeof ErrorTypes; - // (undocumented) - static get Events(): typeof Events; - get firstLevel(): number; - set firstLevel(newLevel: number); - // (undocumented) - static isSupported(): boolean; - get latency(): number; - get levels(): Array; - // (undocumented) - listenerCount(event: E): number; - // (undocumented) - listeners(event: E): HlsListeners[E][]; - get liveSyncPosition(): number | null; - get loadLevel(): number; - set loadLevel(newLevel: number); - loadSource(url: string): void; - get lowLatencyMode(): boolean; - set lowLatencyMode(mode: boolean); - get manualLevel(): number; - get maxAutoLevel(): number; - get maxLatency(): number; - // (undocumented) - get media(): HTMLMediaElement | null; - get minAutoLevel(): number; - get nextAutoLevel(): number; - set nextAutoLevel(nextLevel: number); - get nextLevel(): number; - set nextLevel(newLevel: number); - get nextLoadLevel(): number; - set nextLoadLevel(level: number); - // (undocumented) - off(event: E, listener?: HlsListeners[E] | undefined, context?: Context, once?: boolean | undefined): void; - // (undocumented) - on(event: E, listener: HlsListeners[E], context?: Context): void; - // (undocumented) - once(event: E, listener: HlsListeners[E], context?: Context): void; - recoverMediaError(): void; - // (undocumented) - removeAllListeners(event?: E | undefined): void; - // (undocumented) - removeLevel(levelIndex: any, urlId?: number): void; - get startLevel(): number; - set startLevel(newLevel: number); - startLoad(startPosition?: number): void; - stopLoad(): void; - get subtitleDisplay(): boolean; - set subtitleDisplay(value: boolean); - get subtitleTrack(): number; - set subtitleTrack(subtitleTrackId: number); - get subtitleTracks(): Array; - swapAudioCodec(): void; - get targetLatency(): number | null; - // (undocumented) - trigger(event: E, eventObject: Parameters[1]): boolean; - // (undocumented) - readonly userConfig: Partial; - // (undocumented) - static get version(): string; -} - -export default Hls; - -// @public (undocumented) -export interface HlsChunkPerformanceTiming extends HlsPerformanceTiming { - // (undocumented) - executeEnd: number; - // (undocumented) - executeStart: number; -} - -// @public (undocumented) -export type HlsConfig = { - debug: boolean; - enableWorker: boolean; - enableSoftwareAES: boolean; - minAutoBitrate: number; - loader: { - new (confg: HlsConfig): Loader; - }; - xhrSetup?: (xhr: XMLHttpRequest, url: string) => void; - audioStreamController?: typeof AudioStreamController; - audioTrackController?: typeof AudioTrackController; - subtitleStreamController?: typeof SubtitleStreamController; - subtitleTrackController?: typeof SubtitleTrackController; - timelineController?: typeof TimelineController; - emeController?: typeof EMEController; - abrController: typeof AbrController; - bufferController: typeof BufferController; - capLevelController: typeof CapLevelController; - fpsController: typeof FPSController; - progressive: boolean; - lowLatencyMode: boolean; -} & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & FragmentLoaderConfig & LevelControllerConfig & MP4RemuxerConfig & PlaylistLoaderConfig & StreamControllerConfig & LatencyControllerConfig & TimelineControllerConfig & TSDemuxerConfig; - -// @public (undocumented) -export interface HlsEventEmitter { - // (undocumented) - emit(event: E, name: E, eventObject: Parameters[1]): boolean; - // (undocumented) - listenerCount(event: E): number; - // (undocumented) - listeners(event: E): HlsListeners[E][]; - // (undocumented) - off(event: E, listener?: HlsListeners[E], context?: Context, once?: boolean): void; - // (undocumented) - on(event: E, listener: HlsListeners[E], context?: Context): void; - // (undocumented) - once(event: E, listener: HlsListeners[E], context?: Context): void; - // (undocumented) - removeAllListeners(event?: E): void; -} - -// @public (undocumented) -export interface HlsListeners { - // (undocumented) - [Events.AUDIO_TRACK_LOADED]: (event: Events.AUDIO_TRACK_LOADED, data: AudioTrackLoadedData) => void; - // (undocumented) - [Events.AUDIO_TRACK_LOADING]: (event: Events.AUDIO_TRACK_LOADING, data: TrackLoadingData) => void; - // (undocumented) - [Events.AUDIO_TRACKS_UPDATED]: (event: Events.AUDIO_TRACKS_UPDATED, data: AudioTracksUpdatedData) => void; - // (undocumented) - [Events.AUDIO_TRACK_SWITCHED]: (event: Events.AUDIO_TRACK_SWITCHED, data: AudioTrackSwitchedData) => void; - // (undocumented) - [Events.AUDIO_TRACK_SWITCHING]: (event: Events.AUDIO_TRACK_SWITCHING, data: AudioTrackSwitchingData) => void; - // (undocumented) - [Events.BUFFER_APPENDED]: (event: Events.BUFFER_APPENDED, data: BufferAppendedData) => void; - // (undocumented) - [Events.BUFFER_APPENDING]: (event: Events.BUFFER_APPENDING, data: BufferAppendingData) => void; - // (undocumented) - [Events.BUFFER_CODECS]: (event: Events.BUFFER_CODECS, data: BufferCodecsData) => void; - // (undocumented) - [Events.BUFFER_CREATED]: (event: Events.BUFFER_CREATED, data: BufferCreatedData) => void; - // (undocumented) - [Events.BUFFER_EOS]: (event: Events.BUFFER_EOS, data: BufferEOSData) => void; - // (undocumented) - [Events.BUFFER_FLUSHED]: (event: Events.BUFFER_FLUSHED, data: BufferFlushedData) => void; - // (undocumented) - [Events.BUFFER_FLUSHING]: (event: Events.BUFFER_FLUSHING, data: BufferFlushingData) => void; - // (undocumented) - [Events.BUFFER_RESET]: (event: Events.BUFFER_RESET) => void; - // (undocumented) - [Events.CUES_PARSED]: (event: Events.CUES_PARSED, data: CuesParsedData) => void; - // (undocumented) - [Events.DESTROYING]: (event: Events.DESTROYING) => void; - // (undocumented) - [Events.ERROR]: (event: Events.ERROR, data: ErrorData) => void; - // (undocumented) - [Events.FPS_DROP]: (event: Events.FPS_DROP, data: FPSDropData) => void; - // (undocumented) - [Events.FPS_DROP_LEVEL_CAPPING]: (event: Events.FPS_DROP_LEVEL_CAPPING, data: FPSDropLevelCappingData) => void; - // (undocumented) - [Events.FRAG_BUFFERED]: (event: Events.FRAG_BUFFERED, data: FragBufferedData) => void; - // (undocumented) - [Events.FRAG_CHANGED]: (event: Events.FRAG_CHANGED, data: FragChangedData) => void; - // (undocumented) - [Events.FRAG_DECRYPTED]: (event: Events.FRAG_DECRYPTED, data: FragDecryptedData) => void; - // (undocumented) - [Events.FRAG_LOADED]: (event: Events.FRAG_LOADED, data: FragLoadedData) => void; - // (undocumented) - [Events.FRAG_LOAD_EMERGENCY_ABORTED]: (event: Events.FRAG_LOAD_EMERGENCY_ABORTED, data: FragLoadEmergencyAbortedData) => void; - // (undocumented) - [Events.FRAG_LOADING]: (event: Events.FRAG_LOADING, data: FragLoadingData) => void; - // (undocumented) - [Events.FRAG_PARSED]: (event: Events.FRAG_PARSED, data: FragParsedData) => void; - // (undocumented) - [Events.FRAG_PARSING_INIT_SEGMENT]: (event: Events.FRAG_PARSING_INIT_SEGMENT, data: FragParsingInitSegmentData) => void; - // (undocumented) - [Events.FRAG_PARSING_METADATA]: (event: Events.FRAG_PARSING_METADATA, data: FragParsingMetadataData) => void; - // (undocumented) - [Events.FRAG_PARSING_USERDATA]: (event: Events.FRAG_PARSING_USERDATA, data: FragParsingUserdataData) => void; - // (undocumented) - [Events.INIT_PTS_FOUND]: (event: Events.INIT_PTS_FOUND, data: InitPTSFoundData) => void; - // (undocumented) - [Events.KEY_LOADED]: (event: Events.KEY_LOADED, data: KeyLoadedData) => void; - // (undocumented) - [Events.KEY_LOADING]: (event: Events.KEY_LOADING, data: KeyLoadingData) => void; - // (undocumented) - [Events.LEVEL_LOADED]: (event: Events.LEVEL_LOADED, data: LevelLoadedData) => void; - // (undocumented) - [Events.LEVEL_LOADING]: (event: Events.LEVEL_LOADING, data: LevelLoadingData) => void; - // (undocumented) - [Events.LEVEL_PTS_UPDATED]: (event: Events.LEVEL_PTS_UPDATED, data: LevelPTSUpdatedData) => void; - // (undocumented) - [Events.LEVELS_UPDATED]: (event: Events.LEVELS_UPDATED, data: LevelsUpdatedData) => void; - // (undocumented) - [Events.LEVEL_SWITCHED]: (event: Events.LEVEL_SWITCHED, data: LevelSwitchedData) => void; - // (undocumented) - [Events.LEVEL_SWITCHING]: (event: Events.LEVEL_SWITCHING, data: LevelSwitchingData) => void; - // (undocumented) - [Events.LEVEL_UPDATED]: (event: Events.LEVEL_UPDATED, data: LevelUpdatedData) => void; - // (undocumented) - [Events.LIVE_BACK_BUFFER_REACHED]: (event: Events.LIVE_BACK_BUFFER_REACHED, data: LiveBackBufferData) => void; - // (undocumented) - [Events.MANIFEST_LOADED]: (event: Events.MANIFEST_LOADED, data: ManifestLoadedData) => void; - // (undocumented) - [Events.MANIFEST_LOADING]: (event: Events.MANIFEST_LOADING, data: ManifestLoadingData) => void; - // (undocumented) - [Events.MANIFEST_PARSED]: (event: Events.MANIFEST_PARSED, data: ManifestParsedData) => void; - // (undocumented) - [Events.MEDIA_ATTACHED]: (event: Events.MEDIA_ATTACHED, data: MediaAttachedData) => void; - // (undocumented) - [Events.MEDIA_ATTACHING]: (event: Events.MEDIA_ATTACHING, data: MediaAttachingData) => void; - // (undocumented) - [Events.MEDIA_DETACHED]: (event: Events.MEDIA_DETACHED) => void; - // (undocumented) - [Events.MEDIA_DETACHING]: (event: Events.MEDIA_DETACHING) => void; - // (undocumented) - [Events.NON_NATIVE_TEXT_TRACKS_FOUND]: (event: Events.NON_NATIVE_TEXT_TRACKS_FOUND, data: NonNativeTextTracksData) => void; - // (undocumented) - [Events.SUBTITLE_FRAG_PROCESSED]: (event: Events.SUBTITLE_FRAG_PROCESSED, data: SubtitleFragProcessedData) => void; - // (undocumented) - [Events.SUBTITLE_TRACK_LOADED]: (event: Events.SUBTITLE_TRACK_LOADED, data: SubtitleTrackLoadedData) => void; - // (undocumented) - [Events.SUBTITLE_TRACK_LOADING]: (event: Events.SUBTITLE_TRACK_LOADING, data: TrackLoadingData) => void; - // (undocumented) - [Events.SUBTITLE_TRACKS_CLEARED]: (event: Events.SUBTITLE_TRACKS_CLEARED) => void; - // (undocumented) - [Events.SUBTITLE_TRACKS_UPDATED]: (event: Events.SUBTITLE_TRACKS_UPDATED, data: SubtitleTracksUpdatedData) => void; - // (undocumented) - [Events.SUBTITLE_TRACK_SWITCH]: (event: Events.SUBTITLE_TRACK_SWITCH, data: SubtitleTrackSwitchData) => void; -} - -// @public (undocumented) -export interface HlsPerformanceTiming { - // (undocumented) - end: number; - // (undocumented) - start: number; -} - -// @public (undocumented) -export interface HlsProgressivePerformanceTiming extends HlsPerformanceTiming { - // (undocumented) - first: number; -} - -// @public (undocumented) -export enum HlsSkip { - // (undocumented) - No = "", - // (undocumented) - v2 = "v2", - // (undocumented) - Yes = "YES" -} - -// @public (undocumented) -export class HlsUrlParameters { - constructor(msn: number, part?: number, skip?: HlsSkip); - // (undocumented) - addDirectives(uri: string): string | never; - // (undocumented) - msn: number; - // (undocumented) - part?: number; - // (undocumented) - skip?: HlsSkip; -} - -// @public (undocumented) -export interface InitPTSFoundData { - // (undocumented) - frag: Fragment; - // (undocumented) - id: string; - // (undocumented) - initPTS: number; - // (undocumented) - timescale: number; -} - -// @public (undocumented) -export interface KeyLoadedData { - // (undocumented) - frag: Fragment; -} - -// @public (undocumented) -export interface KeyLoadingData { - // (undocumented) - frag: Fragment; -} - -// @public (undocumented) -export enum KeySystems { - // (undocumented) - PLAYREADY = "com.microsoft.playready", - // (undocumented) - WIDEVINE = "com.widevine.alpha" -} - -// @public (undocumented) -export type LatencyControllerConfig = { - liveSyncDurationCount: number; - liveMaxLatencyDurationCount: number; - liveSyncDuration?: number; - liveMaxLatencyDuration?: number; - maxLiveSyncPlaybackRate: number; -}; - -// @public (undocumented) -export class Level { - constructor(data: LevelParsed); - // (undocumented) - readonly attrs: LevelAttributes; - // (undocumented) - readonly audioCodec: string | undefined; - // (undocumented) - audioGroupIds?: string[]; - // (undocumented) - readonly bitrate: number; - // (undocumented) - readonly codecSet: string; - // (undocumented) - details?: LevelDetails; - // (undocumented) - fragmentError: number; - // (undocumented) - readonly height: number; - // (undocumented) - readonly id: number; - // (undocumented) - loaded?: { - bytes: number; - duration: number; - }; - // (undocumented) - loadError: number; - // (undocumented) - get maxBitrate(): number; - // (undocumented) - readonly name: string | undefined; - // (undocumented) - realBitrate: number; - // (undocumented) - textGroupIds?: string[]; - // (undocumented) - readonly unknownCodecs: string[] | undefined; - // (undocumented) - get uri(): string; - // (undocumented) - url: string[]; - // (undocumented) - get urlId(): number; - set urlId(value: number); - // (undocumented) - readonly videoCodec: string | undefined; - // (undocumented) - readonly width: number; -} - -// @public (undocumented) -export interface LevelAttributes extends AttrList { - // (undocumented) - 'AVERAGE-BANDWIDTH'?: string; - // (undocumented) - 'CLOSED-CAPTIONS'?: string; - // (undocumented) - 'FRAME-RATE'?: string; - // (undocumented) - 'PROGRAM-ID'?: string; - // (undocumented) - AUDIO?: string; - // (undocumented) - AUTOSELECT?: string; - // (undocumented) - BANDWIDTH?: string; - // (undocumented) - BYTERANGE?: string; - // (undocumented) - CODECS?: string; - // (undocumented) - DEFAULT?: string; - // (undocumented) - FORCED?: string; - // (undocumented) - LANGUAGE?: string; - // (undocumented) - NAME?: string; - // (undocumented) - RESOLUTION?: string; - // (undocumented) - SUBTITLES?: string; - // (undocumented) - TYPE?: string; - // (undocumented) - URI?: string; -} - -// @public (undocumented) -export type LevelControllerConfig = { - startLevel?: number; -}; - -// @public (undocumented) -export class LevelDetails { - constructor(baseUrl: any); - // (undocumented) - advanced: boolean; - // (undocumented) - advancedDateTime?: number; - // (undocumented) - get age(): number; - // (undocumented) - ageHeader: number; - // (undocumented) - alignedSliding: boolean; - // (undocumented) - availabilityDelay?: number; - // (undocumented) - averagetargetduration?: number; - // (undocumented) - canBlockReload: boolean; - // (undocumented) - canSkipDateRanges: boolean; - // (undocumented) - canSkipUntil: number; - // (undocumented) - deltaUpdateFailed?: boolean; - // (undocumented) - get edge(): number; - // (undocumented) - endCC: number; - // (undocumented) - endSN: number; - // (undocumented) - get fragmentEnd(): number; - // (undocumented) - fragmentHint?: Fragment; - // (undocumented) - fragments: Fragment[]; - // (undocumented) - get hasProgramDateTime(): boolean; - // (undocumented) - holdBack: number; - // (undocumented) - initSegment: Fragment | null; - // (undocumented) - get lastPartIndex(): number; - // (undocumented) - get lastPartSn(): number; - // (undocumented) - get levelTargetDuration(): number; - // (undocumented) - live: boolean; - // (undocumented) - m3u8: string; - // (undocumented) - misses: number; - // (undocumented) - needSidxRanges: boolean; - // (undocumented) - get partEnd(): number; - // (undocumented) - partHoldBack: number; - // (undocumented) - partList: Part[] | null; - // (undocumented) - partTarget: number; - // (undocumented) - preloadHint?: AttrList; - // (undocumented) - PTSKnown: boolean; - // (undocumented) - recentlyRemovedDateranges?: string[]; - // (undocumented) - reloaded(previous: LevelDetails | undefined): void; - // (undocumented) - renditionReports?: AttrList[]; - // (undocumented) - skippedSegments: number; - // (undocumented) - startCC: number; - // (undocumented) - startSN: number; - // (undocumented) - startTimeOffset: number | null; - // (undocumented) - targetduration: number; - // (undocumented) - totalduration: number; - // (undocumented) - tuneInGoal: number; - // (undocumented) - type: string | null; - // (undocumented) - updated: boolean; - // (undocumented) - url: string; - // (undocumented) - version: number | null; -} - -// @public (undocumented) -export class LevelKey { - // (undocumented) - static fromURI(uri: string): LevelKey; - // (undocumented) - static fromURL(baseUrl: string, relativeUrl: string): LevelKey; - // (undocumented) - iv: Uint8Array | null; - // (undocumented) - key: Uint8Array | null; - // (undocumented) - keyFormat: string | null; - // (undocumented) - keyFormatVersions: string | null; - // (undocumented) - keyID: string | null; - // (undocumented) - method: string | null; - // (undocumented) - get uri(): string | null; - } - -// @public (undocumented) -export interface LevelLoadedData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - details: LevelDetails; - // (undocumented) - id: number; - // (undocumented) - level: number; - // (undocumented) - networkDetails: any; - // (undocumented) - stats: LoaderStats; -} - -// @public (undocumented) -export interface LevelLoadingData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - id: number; - // (undocumented) - level: number; - // (undocumented) - url: string; -} - -// @public (undocumented) -export interface LevelParsed { - // (undocumented) - attrs: LevelAttributes; - // (undocumented) - audioCodec?: string; - // (undocumented) - bitrate: number; - // (undocumented) - details?: LevelDetails; - // (undocumented) - height?: number; - // (undocumented) - id?: number; - // (undocumented) - level?: number; - // (undocumented) - name: string; - // (undocumented) - textCodec?: string; - // (undocumented) - unknownCodecs?: string[]; - // (undocumented) - url: string; - // (undocumented) - videoCodec?: string; - // (undocumented) - width?: number; -} - -// @public (undocumented) -export interface LevelPTSUpdatedData { - // (undocumented) - details: LevelDetails; - // (undocumented) - drift: number; - // (undocumented) - end: number; - // (undocumented) - frag: Fragment; - // (undocumented) - level: Level; - // (undocumented) - start: number; - // (undocumented) - type: string; -} - -// @public (undocumented) -export interface LevelsUpdatedData { - // (undocumented) - levels: Array; -} - -// @public (undocumented) -export interface LevelSwitchedData { - // (undocumented) - level: number; -} - -// @public (undocumented) -export interface LevelSwitchingData extends Omit { - // (undocumented) - level: number; -} - -// @public (undocumented) -export interface LevelUpdatedData { - // (undocumented) - details: LevelDetails; - // (undocumented) - level: number; -} - -// @public (undocumented) -export interface LiveBackBufferData { - // (undocumented) - bufferEnd: number; -} - -// @public (undocumented) -export interface Loader { - // (undocumented) - abort(): void; - // (undocumented) - context: T; - // (undocumented) - destroy(): void; - // (undocumented) - getResponseHeader(name: string): string | null; - // (undocumented) - load(context: LoaderContext, config: LoaderConfiguration, callbacks: LoaderCallbacks): void; - // (undocumented) - loader: any; - // (undocumented) - stats: LoaderStats; -} - -// @public (undocumented) -export interface LoaderCallbacks { - // (undocumented) - onAbort?: LoaderOnAbort; - // (undocumented) - onError: LoaderOnError; - // (undocumented) - onProgress?: LoaderOnProgress; - // (undocumented) - onSuccess: LoaderOnSuccess; - // (undocumented) - onTimeout: LoaderOnTimeout; -} - -// @public (undocumented) -export interface LoaderConfiguration { - // (undocumented) - highWaterMark: number; - // (undocumented) - maxRetry: number; - // (undocumented) - maxRetryDelay: number; - // (undocumented) - retryDelay: number; - // (undocumented) - timeout: number; -} - -// @public (undocumented) -export interface LoaderContext { - // (undocumented) - progressData?: boolean; - // (undocumented) - rangeEnd?: number; - // (undocumented) - rangeStart?: number; - // (undocumented) - responseType: string; - // (undocumented) - url: string; -} - -// @public (undocumented) -export type LoaderOnAbort = (stats: LoaderStats, context: T, networkDetails: any) => void; - -// @public (undocumented) -export type LoaderOnError = (error: { - code: number; - text: string; -}, context: T, networkDetails: any) => void; - -// @public (undocumented) -export type LoaderOnProgress = (stats: LoaderStats, context: T, data: string | ArrayBuffer, networkDetails: any) => void; - -// @public (undocumented) -export type LoaderOnSuccess = (response: LoaderResponse, stats: LoaderStats, context: T, networkDetails: any) => void; - -// @public (undocumented) -export type LoaderOnTimeout = (stats: LoaderStats, context: T, networkDetails: any) => void; - -// @public (undocumented) -export interface LoaderResponse { - // (undocumented) - data: string | ArrayBuffer; - // (undocumented) - url: string; -} - -// @public (undocumented) -export interface LoaderStats { - // (undocumented) - aborted: boolean; - // (undocumented) - buffering: HlsProgressivePerformanceTiming; - // (undocumented) - bwEstimate: number; - // (undocumented) - chunkCount: number; - // (undocumented) - loaded: number; - // (undocumented) - loading: HlsProgressivePerformanceTiming; - // (undocumented) - parsing: HlsPerformanceTiming; - // (undocumented) - retry: number; - // (undocumented) - total: number; -} - -// @public (undocumented) -export class LoadStats implements LoaderStats { - // (undocumented) - aborted: boolean; - // (undocumented) - buffering: HlsProgressivePerformanceTiming; - // (undocumented) - bwEstimate: number; - // (undocumented) - chunkCount: number; - // (undocumented) - loaded: number; - // (undocumented) - loading: HlsProgressivePerformanceTiming; - // (undocumented) - parsing: HlsPerformanceTiming; - // (undocumented) - retry: number; - // (undocumented) - total: number; -} - -// @public (undocumented) -export type MainPlaylistType = AudioPlaylistType | 'VIDEO'; - -// @public (undocumented) -export interface ManifestLoadedData { - // (undocumented) - audioTracks: MediaPlaylist[]; - // (undocumented) - captions?: MediaPlaylist[]; - // (undocumented) - levels: LevelParsed[]; - // (undocumented) - networkDetails: any; - // (undocumented) - sessionData: Record | null; - // (undocumented) - stats: LoaderStats; - // (undocumented) - subtitles?: MediaPlaylist[]; - // (undocumented) - url: string; -} - -// @public (undocumented) -export interface ManifestLoadingData { - // (undocumented) - url: string; -} - -// @public (undocumented) -export interface ManifestParsedData { - // (undocumented) - altAudio: boolean; - // (undocumented) - audio: boolean; - // (undocumented) - audioTracks: MediaPlaylist[]; - // (undocumented) - firstLevel: number; - // (undocumented) - levels: Level[]; - // (undocumented) - stats: LoaderStats; - // (undocumented) - subtitleTracks: MediaPlaylist[]; - // (undocumented) - video: boolean; -} - -// @public (undocumented) -export interface MediaAttachedData { - // (undocumented) - media: HTMLMediaElement; -} - -// @public (undocumented) -export interface MediaAttachingData { - // (undocumented) - media: HTMLMediaElement; -} - -// @public (undocumented) -export type MediaKeyFunc = (keySystem: KeySystems, supportedConfigurations: MediaKeySystemConfiguration[]) => Promise; - -// @public (undocumented) -export interface MediaPlaylist extends LevelParsed { - // (undocumented) - autoselect: boolean; - // (undocumented) - default: boolean; - // (undocumented) - forced: boolean; - // (undocumented) - groupId?: string; - // (undocumented) - id: number; - // (undocumented) - instreamId?: string; - // (undocumented) - lang?: string; - // (undocumented) - name: string; - // (undocumented) - type: MediaPlaylistType | 'main'; -} - -// @public (undocumented) -export type MediaPlaylistType = MainPlaylistType | SubtitlePlaylistType; - -// @public (undocumented) -export interface MetadataSample { - // (undocumented) - data: Uint8Array; - // (undocumented) - dts: number; - // (undocumented) - len?: number; - // (undocumented) - pts: number; -} - -// @public (undocumented) -export type MP4RemuxerConfig = { - stretchShortVideoTrack: boolean; - maxAudioFramesDrift: number; -}; - -// @public (undocumented) -export interface NonNativeTextTrack { - // (undocumented) - closedCaptions?: MediaPlaylist; - // (undocumented) - default: boolean; - // (undocumented) - _id?: string; - // (undocumented) - kind: string; - // (undocumented) - label: any; - // (undocumented) - subtitleTrack?: MediaPlaylist; -} - -// @public (undocumented) -export interface NonNativeTextTracksData { - // (undocumented) - tracks: Array; -} - -// @public (undocumented) -export class Part extends BaseSegment { - constructor(partAttrs: AttrList, frag: Fragment, baseurl: string, index: number, previous?: Part); - // (undocumented) - readonly duration: number; - // (undocumented) - get end(): number; - // (undocumented) - readonly fragment: Fragment; - // (undocumented) - readonly fragOffset: number; - // (undocumented) - readonly gap: boolean; - // (undocumented) - readonly independent: boolean; - // (undocumented) - readonly index: number; - // (undocumented) - get loaded(): boolean; - // (undocumented) - readonly relurl: string; - // (undocumented) - get start(): number; - // (undocumented) - stats: LoadStats; -} - -// @public (undocumented) -export enum PlaylistContextType { - // (undocumented) - AUDIO_TRACK = "audioTrack", - // (undocumented) - LEVEL = "level", - // (undocumented) - MANIFEST = "manifest", - // (undocumented) - SUBTITLE_TRACK = "subtitleTrack" -} - -// @public (undocumented) -export enum PlaylistLevelType { - // (undocumented) - AUDIO = "audio", - // (undocumented) - MAIN = "main", - // (undocumented) - SUBTITLE = "subtitle" -} - -// @public (undocumented) -export type PlaylistLoaderConfig = { - pLoader?: { - new (confg: HlsConfig): Loader; - }; - manifestLoadingTimeOut: number; - manifestLoadingMaxRetry: number; - manifestLoadingRetryDelay: number; - manifestLoadingMaxRetryTimeout: number; - levelLoadingTimeOut: number; - levelLoadingMaxRetry: number; - levelLoadingRetryDelay: number; - levelLoadingMaxRetryTimeout: number; -}; - -// @public (undocumented) -export interface PlaylistLoaderContext extends LoaderContext { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - groupId: string | null; - // (undocumented) - id: number | null; - // (undocumented) - isSidxRequest?: boolean; - // (undocumented) - level: number | null; - // (undocumented) - levelDetails?: LevelDetails; - // (undocumented) - loader?: Loader; - // (undocumented) - type: PlaylistContextType; -} - -// @public (undocumented) -export type SourceBufferName = 'video' | 'audio' | 'audiovideo'; - -// @public (undocumented) -export type StreamControllerConfig = { - autoStartLoad: boolean; - startPosition: number; - defaultAudioCodec?: string; - initialLiveManifestSize: number; - maxBufferLength: number; - maxBufferSize: number; - maxBufferHole: number; - highBufferWatchdogPeriod: number; - nudgeOffset: number; - nudgeMaxRetry: number; - maxFragLookUpTolerance: number; - maxMaxBufferLength: number; - startFragPrefetch: boolean; - testBandwidth: boolean; -}; - -// @public (undocumented) -export interface SubtitleFragProcessedData { - // (undocumented) - error?: Error; - // (undocumented) - frag: Fragment; - // (undocumented) - success: boolean; -} - -// @public (undocumented) -export type SubtitlePlaylistType = 'SUBTITLES' | 'CLOSED-CAPTIONS'; - -// @public (undocumented) -export interface SubtitleTrackLoadedData extends TrackLoadedData { -} - -// @public (undocumented) -export interface SubtitleTracksUpdatedData { - // (undocumented) - subtitleTracks: MediaPlaylist[]; -} - -// @public (undocumented) -export interface SubtitleTrackSwitchData { - // (undocumented) - id: number; - // (undocumented) - type?: MediaPlaylistType | 'main'; - // (undocumented) - url?: string; -} - -// @public (undocumented) -export type TimelineControllerConfig = { - cueHandler: CuesInterface; - enableCEA708Captions: boolean; - enableWebVTT: boolean; - enableIMSC1: boolean; - captionsTextTrack1Label: string; - captionsTextTrack1LanguageCode: string; - captionsTextTrack2Label: string; - captionsTextTrack2LanguageCode: string; - captionsTextTrack3Label: string; - captionsTextTrack3LanguageCode: string; - captionsTextTrack4Label: string; - captionsTextTrack4LanguageCode: string; - renderTextTracksNatively: boolean; -}; - -// @public (undocumented) -export interface Track { - // (undocumented) - buffer?: SourceBuffer; - // (undocumented) - codec?: string; - // (undocumented) - container: string; - // (undocumented) - id: 'audio' | 'main'; - // (undocumented) - initSegment?: Uint8Array; - // (undocumented) - levelCodec?: string; - // (undocumented) - metadata?: any; -} - -// @public (undocumented) -export interface TrackLoadedData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - details: LevelDetails; - // (undocumented) - groupId: string; - // (undocumented) - id: number; - // (undocumented) - networkDetails: any; - // (undocumented) - stats: LoaderStats; -} - -// @public (undocumented) -export interface TrackLoadingData { - // (undocumented) - deliveryDirectives: HlsUrlParameters | null; - // (undocumented) - groupId: string; - // (undocumented) - id: number; - // (undocumented) - url: string; -} - -// @public (undocumented) -export interface TrackSet { - // (undocumented) - audio?: Track; - // (undocumented) - audiovideo?: Track; - // (undocumented) - video?: Track; -} - -// @public (undocumented) -export type TSDemuxerConfig = { - forceKeyFrameOnDiscontinuity: boolean; -}; - -// @public (undocumented) -export interface UserdataSample { - // (undocumented) - bytes: Uint8Array; - // (undocumented) - pts: number; -} - - -// Warnings were encountered during analysis: -// -// src/config.ts:153:3 - (ae-forgotten-export) The symbol "AudioStreamController" needs to be exported by the entry point hls.d.ts -// src/config.ts:154:3 - (ae-forgotten-export) The symbol "AudioTrackController" needs to be exported by the entry point hls.d.ts -// src/config.ts:156:3 - (ae-forgotten-export) The symbol "SubtitleStreamController" needs to be exported by the entry point hls.d.ts -// src/config.ts:157:3 - (ae-forgotten-export) The symbol "SubtitleTrackController" needs to be exported by the entry point hls.d.ts -// src/config.ts:158:3 - (ae-forgotten-export) The symbol "TimelineController" needs to be exported by the entry point hls.d.ts -// src/config.ts:160:3 - (ae-forgotten-export) The symbol "EMEController" needs to be exported by the entry point hls.d.ts -// src/config.ts:162:3 - (ae-forgotten-export) The symbol "AbrController" needs to be exported by the entry point hls.d.ts -// src/config.ts:163:3 - (ae-forgotten-export) The symbol "BufferController" needs to be exported by the entry point hls.d.ts -// src/config.ts:164:3 - (ae-forgotten-export) The symbol "CapLevelController" needs to be exported by the entry point hls.d.ts -// src/config.ts:165:3 - (ae-forgotten-export) The symbol "FPSController" needs to be exported by the entry point hls.d.ts - -// (No @packageDocumentation comment for this package) - -``` From 35abdc604de4eabea530c5e11af52b69151c4c60 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:38:49 +0000 Subject: [PATCH 12/18] don't include tsdoc warnings in report --- api-extractor.json | 2 +- api-extractor/report/hls.js.api.md | 153 ----------------------------- 2 files changed, 1 insertion(+), 154 deletions(-) diff --git a/api-extractor.json b/api-extractor.json index da59dc1d552..bbcfdc2f8e3 100644 --- a/api-extractor.json +++ b/api-extractor.json @@ -36,7 +36,7 @@ "tsdocMessageReporting": { "default": { "logLevel": "none", - "addToApiReportFile": true + "addToApiReportFile": false } } } diff --git a/api-extractor/report/hls.js.api.md b/api-extractor/report/hls.js.api.md index 66da72dd1a7..cd1c1fcf88c 100644 --- a/api-extractor/report/hls.js.api.md +++ b/api-extractor/report/hls.js.api.md @@ -356,12 +356,6 @@ export interface ErrorData { url?: string; } -// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag -// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" -// Warning: (tsdoc-undefined-tag) The TSDoc tag "@enum" is not defined in this configuration -// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag -// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" -// Warning: (tsdoc-undefined-tag) The TSDoc tag "@typedef" is not defined in this configuration // Warning: (ae-missing-release-tag) "ErrorDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public @@ -452,9 +446,6 @@ export enum ErrorTypes { OTHER_ERROR = "otherError" } -// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag -// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" -// Warning: (tsdoc-undefined-tag) The TSDoc tag "@enum" is not defined in this configuration // Warning: (ae-missing-release-tag) "Events" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public @@ -686,9 +677,6 @@ export class Fragment extends BaseSegment { cc: number; // (undocumented) clearElementaryStreamInfo(): void; - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" createInitializationVector(segmentNumber: number): Uint8Array; // (undocumented) data?: Uint8Array; @@ -722,8 +710,6 @@ export class Fragment extends BaseSegment { programDateTime: number | null; // (undocumented) rawProgramDateTime: string | null; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" setDecryptDataFromLevelKey(levelkey: LevelKey, segmentNumber: number): LevelKey; // (undocumented) setElementaryStreamInfo(type: ElementaryStreamTypes, startPTS: number, endPTS: number, startDTS: number, endDTS: number, partial?: boolean): void; @@ -810,77 +796,33 @@ export interface FragParsingUserdataData { samples: UserdataSample[]; } -// Warning: (tsdoc-undefined-tag) The TSDoc tag "@module" is not defined in this configuration -// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration -// Warning: (tsdoc-undefined-tag) The TSDoc tag "@constructor" is not defined in this configuration // Warning: (ae-missing-release-tag) "Hls" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public class Hls implements HlsEventEmitter { - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@constructs" is not defined in this configuration - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' constructor(userConfig?: Partial); - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' attachMedia(media: HTMLMediaElement): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get audioTrack(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "audioTrack" must appear on the getter, not the setter. set audioTrack(audioTrackId: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get audioTracks(): Array; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get autoLevelCapping(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "autoLevelCapping" must appear on the getter, not the setter. set autoLevelCapping(newLevel: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get autoLevelEnabled(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get bandwidthEstimate(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get capLevelToPlayerSize(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "capLevelToPlayerSize" must appear on the getter, not the setter. set capLevelToPlayerSize(shouldStartCapping: boolean); // (undocumented) readonly config: HlsConfig; // (undocumented) createController(ControllerClass: any, fragmentTracker: any, components: any): any; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get currentLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "currentLevel" must appear on the getter, not the setter. set currentLevel(newLevel: number); // (undocumented) static get DefaultConfig(): HlsConfig; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "DefaultConfig" must appear on the getter, not the setter. static set DefaultConfig(defaultConfig: HlsConfig); destroy(): void; @@ -893,105 +835,38 @@ class Hls implements HlsEventEmitter { static get ErrorTypes(): typeof ErrorTypes; // (undocumented) static get Events(): typeof Events; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get firstLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "firstLevel" must appear on the getter, not the setter. set firstLevel(newLevel: number); // (undocumented) static isSupported(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get latency(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get levels(): Array; // (undocumented) listenerCount(event: E): number; // (undocumented) listeners(event: E): HlsListeners[E][]; - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get liveSyncPosition(): number | null; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get loadLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "loadLevel" must appear on the getter, not the setter. set loadLevel(newLevel: number); - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' loadSource(url: string): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get lowLatencyMode(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "lowLatencyMode" must appear on the getter, not the setter. set lowLatencyMode(mode: boolean); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get manualLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get maxAutoLevel(): number; - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-code-fence-opening-indent) The opening backtick for a code fence must appear at the start of the line - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get maxLatency(): number; // (undocumented) get media(): HTMLMediaElement | null; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get minAutoLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get nextAutoLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "nextAutoLevel" must appear on the getter, not the setter. set nextAutoLevel(nextLevel: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get nextLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "nextLevel" must appear on the getter, not the setter. set nextLevel(newLevel: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get nextLoadLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "nextLoadLevel" must appear on the getter, not the setter. set nextLoadLevel(level: number); // (undocumented) @@ -1005,46 +880,19 @@ class Hls implements HlsEventEmitter { removeAllListeners(event?: E | undefined): void; // (undocumented) removeLevel(levelIndex: any, urlId?: number): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get startLevel(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "startLevel" must appear on the getter, not the setter. set startLevel(newLevel: number); - // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen - // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@default" is not defined in this configuration startLoad(startPosition?: number): void; stopLoad(): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get subtitleDisplay(): boolean; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleDisplay" must appear on the getter, not the setter. set subtitleDisplay(value: boolean); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get subtitleTrack(): number; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration // Warning: (ae-setter-with-docs) The doc comment for the property "subtitleTrack" must appear on the getter, not the setter. set subtitleTrack(subtitleTrackId: number); - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get subtitleTracks(): Array; swapAudioCodec(): void; - // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag - // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@" - // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration get targetLatency(): number | null; // (undocumented) trigger(event: E, eventObject: Parameters[1]): boolean; @@ -1299,7 +1147,6 @@ export interface KeyLoadingData { frag: Fragment; } -// Warning: (tsdoc-unsupported-tag) The TSDoc tag "@see" is not supported by this tool // Warning: (ae-missing-release-tag) "KeySystems" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) From bddadc9fa88fec99bfe23dd4d4ca053b0da9b6fe Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:42:00 +0000 Subject: [PATCH 13/18] fix import in test --- tests/unit/loader/fragment.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/loader/fragment.js b/tests/unit/loader/fragment.js index 07a850966b3..ab222fe62bd 100644 --- a/tests/unit/loader/fragment.js +++ b/tests/unit/loader/fragment.js @@ -1,5 +1,5 @@ import { Fragment } from '../../../src/loader/fragment'; -import LevelKey from '../../../src/loader/level-key'; +import { LevelKey } from '../../../src/loader/level-key'; import { PlaylistLevelType } from '../../../src/types/loader'; describe('Fragment class tests', function () { From 5e70713aff2457a9216f3cefa5663b98bd32ccb3 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 20:45:14 +0000 Subject: [PATCH 14/18] specify untrimmedFilePath --- api-extractor.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api-extractor.json b/api-extractor.json index bbcfdc2f8e3..f3aa1965b4a 100644 --- a/api-extractor.json +++ b/api-extractor.json @@ -14,7 +14,8 @@ "enabled": false }, "dtsRollup": { - "enabled": true + "enabled": true, + "untrimmedFilePath": "/dist/hls.js.d.ts" }, "tsdocMetadata": { "enabled": false From 04cf043ad7a327fda4847533cf684d3e6ab3cf8f Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 7 Feb 2021 21:35:12 +0000 Subject: [PATCH 15/18] Update .prettierignore --- .prettierignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.prettierignore b/.prettierignore index 4415419ddc1..70bcd295c56 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,4 +3,4 @@ package-lock.json /coverage libs/ -api-extractor/report* +/api-extractor/report* From 1ba6b999470f74a23b791678bbdd6bba9a56882e Mon Sep 17 00:00:00 2001 From: Jamie Stackhouse Date: Mon, 8 Feb 2021 09:07:04 -0400 Subject: [PATCH 16/18] Remove unnecessary .npmignore file. Package.json has a "files" key that sets what is part of the npm package. --- .npmignore | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 .npmignore diff --git a/.npmignore b/.npmignore deleted file mode 100644 index fc57557e3a7..00000000000 --- a/.npmignore +++ /dev/null @@ -1,10 +0,0 @@ -demo -docs/html -misc -test -API.md -bower.json -design.md -hls.js.sublime-project -/streams.js -/lib From aff3cd7cef887cbbd4b4a1b436c3376ffdedc271 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Mon, 8 Feb 2021 14:32:19 +0000 Subject: [PATCH 17/18] bring back build:types because people might be used to using it, and also might want to run it whilst/after using build:watch --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index ac6c8327d7c..828f9fceb59 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,11 @@ } }, "scripts": { - "build": "webpack --progress && tsc --build tsconfig-lib.json && api-extractor run --local", + "build": "webpack --progress && npm run build:types", "build:ci": "webpack && tsc --build tsconfig-lib.json && api-extractor run", "build:debug": "webpack --progress --env debug --env demo", "build:watch": "webpack --progress --env debug --env demo --watch", + "build:types": "tsc --build tsconfig-lib.json && api-extractor run --local", "dev": "webpack serve --progress --env debug --env demo --port 8000", "docs": "esdoc", "lint": "eslint src/ tests/ --ext .js --ext .ts", From 4fe92d547391fab938b95eeb66b775092a0c3fb4 Mon Sep 17 00:00:00 2001 From: Jamie Stackhouse Date: Wed, 10 Feb 2021 10:11:33 -0400 Subject: [PATCH 18/18] Remove note about @types/hls.js from README --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index 65ddb53a891..a4fc45f7de3 100644 --- a/README.md +++ b/README.md @@ -223,12 +223,6 @@ Or type npm install --save hls.js ``` -Optionally there is a declaration file available to help with code completion and hinting within your IDE for the hls.js api - -```sh -npm install --save-dev @types/hls.js -``` - ### Server-side-rendering (SSR) and `require` from a Node.js runtime We support this now. You can safely require this library in Node and absolutely nothing will happen :) See https://github.com/video-dev/hls.js/pull/1841