References
summary | ||
public |
C Hls |
|
public |
C TaskLoop Sub-class specialization of EventHandler base class. |
|
public |
F enableStreamingMode(config: undefined) |
|
public |
F mergeConfig(defaultConfig: HlsConfig, userConfig: Partial): HlsConfig |
|
public |
|
|
public |
F isSupported(): boolean |
|
public |
V hlsDefaultConfig: {"autoStartLoad": boolean, "startPosition": *, "defaultAudioCodec": *, "debug": *, "capLevelOnFPSDrop": *, "capLevelToPlayerSize": *, "ignoreDevicePixelRatio": *, "initialLiveManifestSize": number, "maxBufferLength": number, "backBufferLength": *, "maxBufferSize": *, "maxBufferHole": number, "highBufferWatchdogPeriod": number, "nudgeOffset": number, "nudgeMaxRetry": number, "maxFragLookUpTolerance": number, "liveSyncDurationCount": number, "liveMaxLatencyDurationCount": *, "liveSyncDuration": *, "liveMaxLatencyDuration": *, "maxLiveSyncPlaybackRate": number, "liveDurationInfinity": *, "liveBackBufferLength": *, "maxMaxBufferLength": number, "enableWorker": boolean, "enableSoftwareAES": boolean, "manifestLoadingTimeOut": number, "manifestLoadingMaxRetry": number, "manifestLoadingRetryDelay": number, "manifestLoadingMaxRetryTimeout": number, "startLevel": *, "levelLoadingTimeOut": number, "levelLoadingMaxRetry": number, "levelLoadingRetryDelay": number, "levelLoadingMaxRetryTimeout": number, "fragLoadingTimeOut": number, "fragLoadingMaxRetry": number, "fragLoadingRetryDelay": number, "fragLoadingMaxRetryTimeout": number, "startFragPrefetch": *, "fpsDroppedMonitoringPeriod": number, "fpsDroppedMonitoringThreshold": number, "appendErrorMaxRetry": number, "loader": *, "fLoader": *, "pLoader": *, "xhrSetup": *, "licenseXhrSetup": *, "licenseResponseCallback": *, "abrController": *, "bufferController": *, "capLevelController": *, "fpsController": *, "stretchShortVideoTrack": *, "maxAudioFramesDrift": number, "forceKeyFrameOnDiscontinuity": boolean, "abrEwmaFastLive": number, "abrEwmaSlowLive": number, "abrEwmaFastVoD": number, "abrEwmaSlowVoD": number, "abrEwmaDefaultEstimate": number, "abrBandWidthFactor": number, "abrBandWidthUpFactor": number, "abrMaxWithRealBitrate": *, "maxStarvationDelay": number, "maxLoadingDelay": number, "minAutoBitrate": *, "emeEnabled": *, "widevineLicenseUrl": *, "drmSystems": *, "drmSystemOptions": *, "requestMediaKeySystemAccessFunc": *, "testBandwidth": boolean, "progressive": *, "lowLatencyMode": boolean, "cmcd": *, "enableDateRangeMetadataCues": boolean, "enableEmsgMetadataCues": boolean, "enableID3MetadataCues": boolean, ...timelineConfig: Object, "subtitleStreamController": *, "subtitleTrackController": *, "timelineController": *, "audioStreamController": *, "audioTrackController": *, "emeController": *, "cmcdController": *} |
|
public |
|
controller
summary | ||
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
Controller to deal with Common Media Client Data (CMCD) |
|
public |
Controller to deal with encrypted media extensions (EME) |
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
F findFragWithCC(fragments: undefined, cc: number): * |
|
public |
F findFragmentByPDT(fragments: Array, PDTValue: undefined, maxFragLookUpTolerance: number): * Returns first fragment whose endPdt value exceeds the given PDT. |
|
public |
F findFragmentByPTS(fragPrevious: undefined, fragments: Array, bufferEnd: number, maxFragLookUpTolerance: number): * Finds a fragment based on the SN of the previous fragment; or based on the needs of the current buffer. |
|
public |
F fragmentWithinToleranceTest(bufferEnd: undefined, maxFragLookUpTolerance: undefined, candidate: Fragment): number The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions. |
|
public |
F pdtWithinToleranceTest(pdtBufferEnd: number, maxFragLookUpTolerance: number, candidate: Fragment): boolean The test function used by the findFragmentByPdt's BinarySearch to look for the best match to the current buffer conditions. This function tests the candidate's program date time values, as represented in Unix time |
|
public |
F addGroupId(level: Level, type: string, id: string) |
|
public |
F addSliding(details: LevelDetails, start: number) |
|
public |
F adjustSliding(oldDetails: LevelDetails, newDetails: LevelDetails) |
|
public |
F assignTrackIdsByGroup(tracks: undefined) |
|
public |
F computeReloadInterval(newDetails: LevelDetails, distanceToLiveEdgeMs: number): number |
|
public |
F getFragmentWithSN(level: Level, sn: number, fragCurrent: undefined): * |
|
public |
F getPartWith(level: Level, sn: number, partIndex: number): * |
|
public |
F mapFragmentIntersection(oldDetails: LevelDetails, newDetails: LevelDetails, intersectionFn: FragmentIntersection) |
|
public |
F mapPartIntersection(oldParts: undefined, newParts: undefined, intersectionFn: PartIntersection) |
|
public |
F mergeDetails(oldDetails: LevelDetails, newDetails: LevelDetails) |
|
public |
F updateFragPTSDTS(details: undefined, frag: Fragment, startPTS: number, endPTS: number, startDTS: number, endDTS: number): number |
|
public |
|
|
public |
V State: {"STOPPED": string, "IDLE": string, "KEY_LOADING": string, "FRAG_LOADING": string, "FRAG_LOADING_WAITING_RETRY": string, "WAITING_TRACK": string, "PARSING": string, "PARSED": string, "ENDED": string, "ERROR": string, "WAITING_INIT_PTS": string, "WAITING_LEVEL": string} |
|
public |
|
|
public |
|
|
public |
|
|
public |
|
crypt
summary | ||
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
F removePadding(array: Uint8Array): Uint8Array |
demux
summary | ||
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
F appendFrame(track: DemuxedAudioTrack, data: Uint8Array, offset: number, pts: number, frameIndex: number): AudioFrame |
|
public |
F canGetFrameLength(data: Uint8Array, offset: number): boolean |
|
public |
F canParse(data: Uint8Array, offset: number): boolean |
|
public |
F getAudioConfig(observer: undefined, data: Uint8Array, offset: number, audioCodec: string): {"config": *, "samplerate": *, "channelCount": *, "codec": *, "manifestCodec": *} |
|
public |
F getFrameDuration(samplerate: number): number |
|
public |
F getFullFrameLength(data: Uint8Array, offset: number): number |
|
public |
F getHeaderLength(data: Uint8Array, offset: number): number |
|
public |
F initTrackConfig(track: DemuxedAudioTrack, observer: HlsEventEmitter, data: Uint8Array, offset: number, audioCodec: string) |
|
public |
F isHeader(data: Uint8Array, offset: number): boolean |
|
public |
F isHeaderPattern(data: Uint8Array, offset: number): boolean |
|
public |
F parseFrameHeader(data: Uint8Array, offset: number): {"headerLength": *, "frameLength": *} |
|
public |
F probe(data: Uint8Array, offset: number): boolean |
|
public |
F initPTSFn(timestamp: *, timeOffset: *, initPTS: *): * Initialize PTS use timestamp unless it is undefined, NaN or Infinity |
|
public |
F dummyTrack(type: undefined, inputTimeScale: undefined): DemuxedTrack |
|
public |
F canParse(data: *, offset: *): * |
|
public |
F decodeFrame(frame: *): * |
|
public |
F getID3Data(data: Uint8Array, offset: number): Uint8Array | undefined Returns any adjacent ID3 tags found in data starting at offset, as one block of data |
|
public |
F getID3Frames(id3Data: Uint8Array): ID3.Frame[] Returns an array of ID3 frames found in all the ID3 tags in the id3Data |
|
public |
F getTimeStamp(data: Uint8Array): number | undefined Searches for the Elementary Stream timestamp found in the ID3 data chunk |
|
public |
F isFooter(data: Uint8Array, offset: number): boolean Returns true if an ID3 footer can be found at offset in data |
|
public |
F isHeader(data: Uint8Array, offset: number): boolean Returns true if an ID3 header can be found at offset in data |
|
public |
F isTimeStampFrame(frame: ID3 frame): * Returns true if the ID3 frame is an Elementary Stream timestamp frame |
|
public |
F utf8ArrayToStr(array: *, exitOnNull: boolean): * |
|
public |
F appendFrame(track: DemuxedAudioTrack, data: Uint8Array, offset: number, pts: number, frameIndex: number): {"sample": *, "length": *, "missing": *} |
|
public |
F canParse(data: Uint8Array, offset: number): boolean |
|
public |
F isHeader(data: Uint8Array, offset: number): boolean |
|
public |
F isHeaderPattern(data: Uint8Array, offset: number): boolean |
|
public |
F parseHeader(data: Uint8Array, offset: number): {"sampleRate": *, "channelCount": *, "frameLength": *, "samplesPerFrame": *} |
|
public |
F probe(data: Uint8Array, offset: number): boolean |
|
public |
F TransmuxerWorker(self: undefined) |
|
public |
|
|
public |
F webworkifywebpack(moduleId: *, options: *): * |
|
public |
V testables: {"decodeTextFrame": *} |
loader
performance
summary | ||
public |
|
polyfills
summary | ||
public |
V MAX_SAFE_INTEGER: * |
|
public |
V isFiniteNumber: * |
remux
summary | ||
public |
C AAC AAC helper |
|
public |
C MP4 |
|
public |
|
|
public |
|
|
public |
F flushTextTrackMetadataCueSamples(track: DemuxedMetadataTrack, timeOffset: number, initPTS: number, initDTS: number): {"samples": *} |
|
public |
F flushTextTrackUserdataCueSamples(track: DemuxedUserdataTrack, timeOffset: number, initPTS: number): {"samples": *} |
|
public |
F normalizePts(value: number, reference: undefined): number |
types
summary | ||
public |
|
|
public |
C Level |
|
public |
|
|
public |
F getSkipValue(details: LevelDetails, msn: number): HlsSkip |
|
public |
CMCD spec version |
|
public |
V HdcpLevels: string[] |
utils
summary | ||
public |
C AttrList |
|
public |
|
|
public |
Keep a CEA-608 screen of 32x15 styled characters |
|
public |
|
|
public |
C Row CEA-608 row consisting of NR_COLS instances of StyledUnicodeChar. |
|
public |
C Chunker |
|
public |
|
|
public |
C EWMA |
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
F isCodecSupportedInMp4(codec: string, type: CodecType): boolean |
|
public |
F isCodecType(codec: string, type: CodecType): boolean |
|
public |
F adjustSlidingStart(sliding: number, details: LevelDetails) |
|
public |
F alignMediaPlaylistByPDT(details: LevelDetails, refDetails: LevelDetails) Ensures appropriate time-alignment between renditions based on PDT. |
|
public |
F alignPDT(details: LevelDetails, lastDetails: LevelDetails) Computes the PTS of a new level's fragments using the difference in Program Date Time from the last level. |
|
public |
F alignStream(lastFrag: undefined, lastLevel: undefined, details: LevelDetails) Using the parameters of the last level, this function computes PTS' of the new fragments so that they form a contiguous stream with the last fragments. The PTS of a fragment lets Hls.js know where it fits into a stream - by knowing every PTS, we know which fragment to download at any given time. PTS is normally computed when the fragment is demuxed, so taking this step saves us time and an extra download. |
|
public |
F findDiscontinuousReferenceFrag(prevDetails: LevelDetails, curDetails: LevelDetails, referenceIndex: number): * |
|
public |
F findFirstFragWithCC(fragments: undefined, cc: number): * |
|
public |
F shouldAlignOnDiscontinuities(lastFrag: undefined, lastLevel: Level, details: LevelDetails): boolean |
|
public |
F fetchSupported(): boolean |
|
public |
F parseIMSC1(payload: ArrayBuffer, initPTS: number, timescale: number, callBack: undefined, errorCallBack: undefined) |
|
public |
F changeEndianness(keyId: Uint8Array) |
|
public |
F convertDataUriToArrayBytes(uri: string): * |
|
public |
F strToUtf8array(str: string): Uint8Array |
|
public |
F enableLogs(debugConfig: undefined, id: string) |
|
public |
F getKeySystemsForConfig(config: EMEControllerConfig): * |
|
public |
F getSupportedMediaKeySystemConfigurations(keySystem: *, audioCodecs: *, videoCodecs: *, drmSystemOptions: *): * |
|
public |
F keySystemDomainToKeySystemFormat(keySystem: KeySystems): * |
|
public |
F keySystemFormatToKeySystemDomain(format: KeySystemFormats): * |
|
public |
F keySystemIdToKeySystemDomain(systemId: KeySystemIds): * |
|
public |
F getMediaSource(): * MediaSource helper |
|
public |
F appendUint8Array(data1: Uint8Array, data2: Uint8Array): Uint8Array |
|
public |
F bin2str(data: Uint8Array): string |
|
public |
F computeRawDurationFromSamples(trun: undefined): number |
|
public |
F discardEPB(data: Uint8Array): Uint8Array remove Emulation Prevention bytes from a RBSP |
|
public |
F findBox(data: Uint8Array, path: undefined): * |
|
public |
F getDuration(data: Uint8Array, initData: InitData): * |
|
public |
F getStartDTS(initData: InitData, fmp4: Uint8Array): number Determine the base media decode start time, in seconds, for an MP4 fragment. |
|
public |
|
|
public |
F mp4pssh(systemId: Uint8Array, keyids: undefined, data: Uint8Array): * |
|
public |
F offsetStartDTS(initData: InitData, fmp4: Uint8Array, timeOffset: number) |
|
public |
F parseEmsg(data: Uint8Array): IEmsgParsingData |
|
public |
F parseInitSegment(initSegment: Uint8Array): InitData |
|
public |
F parsePssh(initData: ArrayBuffer): * |
|
public |
F parseSEIMessageFromNALu(unescapedData: Uint8Array, headerSize: number, pts: number, samples: undefined) |
|
public |
F parseSamples(timeOffset: number, track: PassthroughTrack): * |
|
public |
F parseSegmentIndex(sidx: Uint8Array): {"earliestPresentationTime": *, "timescale": *, "version": *, "referencesCount": *, "references": *} |
|
public |
F parseSinf(sinf: Uint8Array): * |
|
public |
F patchEncyptionData(initSegment: undefined, decryptdata: undefined): * |
|
public |
F readSint32(buffer: Uint8Array, offset: number): number |
|
public |
F readUint16(buffer: Uint8Array, offset: number): number |
|
public |
F readUint32(buffer: Uint8Array, offset: number): number |
|
public |
F segmentValidRange(data: Uint8Array): SegmentedRange |
|
public |
F writeUint32(buffer: Uint8Array, offset: number, value: number) |
|
public |
F base64Decode(base64encodedStr: string): Uint8Array |
|
public |
F base64DecodeToStr(str: string): string |
|
public |
F base64Encode(input: Uint8Array): string |
|
public |
F base64ToBase64Url(base64encodedStr: string): string |
|
public |
F base64UrlEncode(input: Uint8Array): string |
|
public |
F strToBase64Encode(str: string): string |
|
public |
F addCueToTrack(track: TextTrack, cue: VTTCue) |
|
public |
F clearCurrentCues(track: TextTrack) |
|
public |
F getCuesInRange(cues: undefined, start: number, end: number): * |
|
public |
F removeCuesInRange(track: TextTrack, start: number, end: number, predicate: undefined) |
|
public |
F sendAddTrackEvent(track: TextTrack, videoEl: HTMLMediaElement) |
|
public |
F toMpegTsClockFromTimescale(value: number, srcScale: number): number |
|
public |
F toMsFromMpegTsClock(value: number, round: boolean): number |
|
public |
|
|
public |
F toTimescaleFromScale(value: undefined, destScale: number, srcScale: number, round: boolean): number |
|
public |
F sliceUint8(array: Uint8Array, start: number, end: number): Uint8Array |
|
public |
F fixLineBreaks(input: string): string |
|
public |
F parseTimeStamp(input: string): * |
|
public |
F generateCueId(startTime: number, endTime: number, text: string): * |
|
public |
F parseWebVTT(vttByteArray: ArrayBuffer, initPTS: number, timescale: number, vttCCs: VTTCCs, cc: number, timeOffset: number, callBack: undefined, errorCallBack: undefined) |
|
public |
V BinarySearch: {"search": *} |
|
public |
|
|
public |
V Hex: {"hexDump": *} hex dump helper class |
|
public |
|
|
public |
V logger: * |
|
public |
|
|
public |
V RemuxerTrackIdConfig: {"video": number, "audio": number, "id3": number, "text": number} |
|
public |
V TimeRanges: {"toString": *} TimeRanges to string helper |