Home Reference Source

Function

Static Public Summary
public

DemuxerWorker(self: *)

public
public

addGroupId(level: *, type: *, id: *)

public

adjustPts(sliding: *, details: *)

public

alignDiscontinuities(lastFrag: *, lastLevel: *, details: *)

public

appendFrame(track: *, data: *, offset: *, pts: *, frameIndex: *): *

public

calculateNextPDT(start: number, bufferEnd: number, levelDetails: *): number

Calculates the PDT of the next load position.

public

clearCurrentCues(track: *)

public

enableLogs(debugConfig: *)

public

findDiscontinuousReferenceFrag(prevDetails: *, curDetails: *): *

public

findFirstFragWithCC(fragments: *, cc: *): *

public

findFragWithCC(fragments: *, CC: *): *

public

findFragmentByPDT(fragments: Array<Fragment>, PDTValue: number | null): * | null

Finds the first fragment whose endPDT value exceeds the given PDT.

public

findFragmentBySN(fragPrevious: *, fragments: Array<Fragment>, bufferEnd: number, end: number, maxFragLookUpTolerance: number): *

Finds a fragment based on the SN of the previous fragment; or based on the needs of the current buffer.

public

fixLineBreaks(input: *): *

public

fragmentWithinToleranceTest(candidate: *, bufferEnd: number, maxFragLookUpTolerance: number): number

The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions.

public

getAudioConfig(observer: *, data: *, offset: *, audioCodec: *): {"config": *, "samplerate": *, "channelCount": *, "codec": *, "manifestCodec": *}

public

getFrameDuration(samplerate: *): *

public

getFullFrameLength(data: *, offset: *): *

public

getHeaderLength(data: *, offset: *): *

public

MediaSource helper

public
public

initTrackConfig(track: *, observer: *, data: *, offset: *, audioCodec: *)

public

isCodecSupportedInMp4(codec: *, type: *): *

public

isCodecType(codec: *, type: *): *

public

isHeader(data: *, offset: *): boolean

public

isHeaderPattern(data: *, offset: *): *

public
public

mergeDetails(oldDetails: *, newDetails: *)

public

newCue(track: *, startTime: *, endTime: *, captionScreen: *)

public

parseFrameHeader(data: *, offset: *, pts: *, frameIndex: *, frameDuration: *): *

public

probe(data: *, offset: *): boolean

public

removePadding(buffer: *): *

public

sendAddTrackEvent(track: *, videoEl: *)

public

shouldAlignOnDiscontinuities(lastFrag: *, lastLevel: *, details: *): *

public

updateFragPTSDTS(details: *, frag: *, startPTS: *, endPTS: *, startDTS: *, endDTS: *): *

public

updatePTS(fragments: *, fromIdx: *, toIdx: *)

Static Public

public DemuxerWorker(self: *) source

import DemuxerWorker from 'hls.js/src/demux/demuxer-worker.js'

Params:

NameTypeAttributeDescription
self *

public VTTParser() source

import VTTParser from 'hls.js/src/utils/vttparser.js'

public addGroupId(level: *, type: *, id: *) source

import {addGroupId} from 'hls.js/src/controller/level-helper.js'

Params:

NameTypeAttributeDescription
level *
type *
id *

public adjustPts(sliding: *, details: *) source

import {adjustPts} from 'hls.js/src/utils/discontinuities.js'

Params:

NameTypeAttributeDescription
sliding *
details *

public alignDiscontinuities(lastFrag: *, lastLevel: *, details: *) source

import {alignDiscontinuities} from 'hls.js/src/utils/discontinuities.js'

Params:

NameTypeAttributeDescription
lastFrag *
lastLevel *
details *

public appendFrame(track: *, data: *, offset: *, pts: *, frameIndex: *): * source

import {appendFrame} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
track *
data *
offset *
pts *
frameIndex *

Return:

*

public calculateNextPDT(start: number, bufferEnd: number, levelDetails: *): number source

import {calculateNextPDT} from 'hls.js/src/controller/fragment-finders.js'

Calculates the PDT of the next load position. bufferEnd in this function is usually the position of the playhead.

Params:

NameTypeAttributeDescription
start number
  • optional
  • default: 0

The PTS of the first fragment within the level

bufferEnd number
  • optional
  • default: 0

The end of the contiguous buffered range the playhead is currently within

levelDetails *

An object containing the parsed and computed properties of the currently playing level

Return:

number

nextPdt - The computed PDT

public clearCurrentCues(track: *) source

import {clearCurrentCues} from 'hls.js/src/utils/texttrack-utils.js'

Params:

NameTypeAttributeDescription
track *

public enableLogs(debugConfig: *) source

import {enableLogs} from 'hls.js/src/utils/logger.js'

Params:

NameTypeAttributeDescription
debugConfig *

public findDiscontinuousReferenceFrag(prevDetails: *, curDetails: *): * source

import {findDiscontinuousReferenceFrag} from 'hls.js/src/utils/discontinuities.js'

Params:

NameTypeAttributeDescription
prevDetails *
curDetails *

Return:

*

public findFirstFragWithCC(fragments: *, cc: *): * source

import {findFirstFragWithCC} from 'hls.js/src/utils/discontinuities.js'

Params:

NameTypeAttributeDescription
fragments *
cc *

Return:

*

public findFragWithCC(fragments: *, CC: *): * source

import {findFragWithCC} from 'hls.js/src/utils/discontinuities.js'

Params:

NameTypeAttributeDescription
fragments *
CC *

Return:

*

public findFragmentByPDT(fragments: Array<Fragment>, PDTValue: number | null): * | null source

import {findFragmentByPDT} from 'hls.js/src/controller/fragment-finders.js'

Finds the first fragment whose endPDT value exceeds the given PDT.

Params:

NameTypeAttributeDescription
fragments Array<Fragment>

The array of candidate fragments

PDTValue number | null
  • optional
  • default: null

The PDT value which must be exceeded

Return:

* | null

fragment - The best matching fragment

public findFragmentBySN(fragPrevious: *, fragments: Array<Fragment>, bufferEnd: number, end: number, maxFragLookUpTolerance: number): * source

import {findFragmentBySN} from 'hls.js/src/controller/fragment-finders.js'

Finds a fragment based on the SN of the previous fragment; or based on the needs of the current buffer. This method compensates for small buffer gaps by applying a tolerance to the start of any candidate fragment, thus breaking any traps which would cause the same fragment to be continuously selected within a small range.

Params:

NameTypeAttributeDescription
fragPrevious *

The last frag successfully appended

fragments Array<Fragment>

The array of candidate fragments

bufferEnd number
  • optional
  • default: 0

The end of the contiguous buffered range the playhead is currently within

end number
  • optional
  • default: 0

The computed end time of the stream

maxFragLookUpTolerance number

The amount of time that a fragment's start can be within in order to be considered contiguous

Return:

*

foundFrag - The best matching fragment

public fixLineBreaks(input: *): * source

import {fixLineBreaks} from 'hls.js/src/utils/vttparser.js'

Params:

NameTypeAttributeDescription
input *

Return:

*

public fragmentWithinToleranceTest(candidate: *, bufferEnd: number, maxFragLookUpTolerance: number): number source

import {fragmentWithinToleranceTest} from 'hls.js/src/controller/fragment-finders.js'

The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions.

Params:

NameTypeAttributeDescription
candidate *

The fragment to test

bufferEnd number
  • optional
  • default: 0

The end of the current buffered range the playhead is currently within

maxFragLookUpTolerance number
  • optional
  • default: 0

The amount of time that a fragment's start can be within in order to be considered contiguous

Return:

number

0 if it matches, 1 if too low, -1 if too high

public getAudioConfig(observer: *, data: *, offset: *, audioCodec: *): {"config": *, "samplerate": *, "channelCount": *, "codec": *, "manifestCodec": *} source

import {getAudioConfig} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
observer *
data *
offset *
audioCodec *

Return:

{"config": *, "samplerate": *, "channelCount": *, "codec": *, "manifestCodec": *}

public getFrameDuration(samplerate: *): * source

import {getFrameDuration} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
samplerate *

Return:

*

public getFullFrameLength(data: *, offset: *): * source

import {getFullFrameLength} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
data *
offset *

Return:

*

public getHeaderLength(data: *, offset: *): * source

import {getHeaderLength} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
data *
offset *

Return:

*

public getMediaSource(): * source

import {getMediaSource} from 'hls.js/src/utils/mediasource-helper.js'

MediaSource helper

Return:

*

public getSelfScope(): * source

import {getSelfScope} from 'hls.js/src/utils/get-self-scope.js'

Return:

*

public initTrackConfig(track: *, observer: *, data: *, offset: *, audioCodec: *) source

import {initTrackConfig} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
track *
observer *
data *
offset *
audioCodec *

public isCodecSupportedInMp4(codec: *, type: *): * source

import {isCodecSupportedInMp4} from 'hls.js/src/utils/codecs.js'

Params:

NameTypeAttributeDescription
codec *
type *

Return:

*

public isCodecType(codec: *, type: *): * source

import {isCodecType} from 'hls.js/src/utils/codecs.js'

Params:

NameTypeAttributeDescription
codec *
type *

Return:

*

public isHeader(data: *, offset: *): boolean source

import {isHeader} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
data *
offset *

Return:

boolean

public isHeaderPattern(data: *, offset: *): * source

import {isHeaderPattern} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
data *
offset *

Return:

*

public isSupported(): * source

import {isSupported} from 'hls.js/src/is-supported.js'

Return:

*

public mergeDetails(oldDetails: *, newDetails: *) source

import {mergeDetails} from 'hls.js/src/controller/level-helper.js'

Params:

NameTypeAttributeDescription
oldDetails *
newDetails *

public newCue(track: *, startTime: *, endTime: *, captionScreen: *) source

import {newCue} from 'hls.js/src/utils/cues.js'

Params:

NameTypeAttributeDescription
track *
startTime *
endTime *
captionScreen *

public parseFrameHeader(data: *, offset: *, pts: *, frameIndex: *, frameDuration: *): * source

import {parseFrameHeader} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
data *
offset *
pts *
frameIndex *
frameDuration *

Return:

*

public probe(data: *, offset: *): boolean source

import {probe} from 'hls.js/src/demux/adts.js'

Params:

NameTypeAttributeDescription
data *
offset *

Return:

boolean

public removePadding(buffer: *): * source

import {removePadding} from 'hls.js/src/crypt/aes-decryptor.js'

Params:

NameTypeAttributeDescription
buffer *

Return:

*

public sendAddTrackEvent(track: *, videoEl: *) source

import {sendAddTrackEvent} from 'hls.js/src/utils/texttrack-utils.js'

Params:

NameTypeAttributeDescription
track *
videoEl *

public shouldAlignOnDiscontinuities(lastFrag: *, lastLevel: *, details: *): * source

import {shouldAlignOnDiscontinuities} from 'hls.js/src/utils/discontinuities.js'

Params:

NameTypeAttributeDescription
lastFrag *
lastLevel *
details *

Return:

*

public updateFragPTSDTS(details: *, frag: *, startPTS: *, endPTS: *, startDTS: *, endDTS: *): * source

import {updateFragPTSDTS} from 'hls.js/src/controller/level-helper.js'

Params:

NameTypeAttributeDescription
details *
frag *
startPTS *
endPTS *
startDTS *
endDTS *

Return:

*

public updatePTS(fragments: *, fromIdx: *, toIdx: *) source

import {updatePTS} from 'hls.js/src/controller/level-helper.js'

Params:

NameTypeAttributeDescription
fragments *
fromIdx *
toIdx *