Home Reference Source

References

summary
public
public

C Hls

public
public

V hlsDefaultConfig: {"autoStartLoad": boolean, "startPosition": *, "defaultAudioCodec": *, "debug": *, "capLevelOnFPSDrop": *, "capLevelToPlayerSize": *, "initialLiveManifestSize": number, "maxBufferLength": number, "maxBufferSize": *, "maxBufferHole": number, "lowBufferWatchdogPeriod": number, "highBufferWatchdogPeriod": number, "nudgeOffset": number, "nudgeMaxRetry": number, "maxFragLookUpTolerance": number, "liveSyncDurationCount": number, "liveMaxLatencyDurationCount": *, "liveSyncDuration": *, "liveMaxLatencyDuration": *, "liveDurationInfinity": *, "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": *, "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": *, "requestMediaKeySystemAccessFunc": *}

public

V ErrorTypes: {"NETWORK_ERROR": string, "MEDIA_ERROR": string, "KEY_SYSTEM_ERROR": string, "MUX_ERROR": string, "OTHER_ERROR": string}

public

V HlsEvents: {"MEDIA_ATTACHING": string, "MEDIA_ATTACHED": string, "MEDIA_DETACHING": string, "MEDIA_DETACHED": string, "BUFFER_RESET": string, "BUFFER_CODECS": string, "BUFFER_CREATED": string, "BUFFER_APPENDING": string, "BUFFER_APPENDED": string, "BUFFER_EOS": string, "BUFFER_FLUSHING": string, "BUFFER_FLUSHED": string, "MANIFEST_LOADING": string, "MANIFEST_LOADED": string, "MANIFEST_PARSED": string, "LEVEL_SWITCHING": string, "LEVEL_SWITCHED": string, "LEVEL_LOADING": string, "LEVEL_LOADED": string, "LEVEL_UPDATED": string, "LEVEL_PTS_UPDATED": string, "AUDIO_TRACKS_UPDATED": string, "AUDIO_TRACK_SWITCHING": string, "AUDIO_TRACK_SWITCHED": string, "AUDIO_TRACK_LOADING": string, "AUDIO_TRACK_LOADED": string, "SUBTITLE_TRACKS_UPDATED": string, "SUBTITLE_TRACK_SWITCH": string, "SUBTITLE_TRACK_LOADING": string, "SUBTITLE_TRACK_LOADED": string, "SUBTITLE_FRAG_PROCESSED": string, "INIT_PTS_FOUND": string, "FRAG_LOADING": string, "FRAG_LOAD_PROGRESS": string, "FRAG_LOAD_EMERGENCY_ABORTED": string, "FRAG_LOADED": string, "FRAG_DECRYPTED": string, "FRAG_PARSING_INIT_SEGMENT": string, "FRAG_PARSING_USERDATA": string, "FRAG_PARSING_METADATA": string, "FRAG_PARSING_DATA": string, "FRAG_PARSED": string, "FRAG_BUFFERED": string, "FRAG_CHANGED": string, "FPS_DROP": string, "FPS_DROP_LEVEL_CAPPING": string, "ERROR": string, "DESTROYING": string, "KEY_LOADING": string, "KEY_LOADED": string, "STREAM_STATE_TRANSITION": string}

public

controller

summary
public
public
public
public
public
public

Controller to deal with encrypted media extensions (EME)

public
public
public
public
public
public
public
public

V State: {"STOPPED": string, "IDLE": string, "KEY_LOADING": string, "FRAG_LOADING": string, "FRAG_LOADING_WAITING_RETRY": string, "WAITING_LEVEL": string, "PARSING": string, "PARSED": string, "BUFFER_FLUSHING": string, "ENDED": string, "ERROR": string}

crypt

summary
public
public
public
public
public

F removePadding(buffer: *): *

demux

summary
public
public
public
public
public

C ID3

ID3 parser

public
public
public
public
public

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

public

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

public

F getFrameDuration(samplerate: *): *

public

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

public

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

public

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

public

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

public

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

public

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

public

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

public

F DemuxerWorker(self: *)

public
public

V MpegAudio: {"BitratesMap": *, "SamplingRateMap": *, "SamplesCoefficients": *, "BytesInSlot": *, "appendFrame": *, "parseHeader": *, "isHeaderPattern": *, "isHeader": *, "probe": *}

MPEG parser helper

helper

summary
public

C AAC

AAC helper

public
public

F isSupported(): *

public

F mergeDetails(oldDetails: *, newDetails: *)

public

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

public

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

public

MediaSource helper

public

V BufferHelper: {"isBuffered": *, "bufferInfo": *, "bufferedInfo": *}

Buffer Helper utils, providing methods dealing buffer length retrieval

public

V FragmentState: {"NOT_LOADED": string, "APPENDING": string, "PARTIAL": string, "OK": string}

public

loader

summary
public
public
public
public
public
public

remux

summary
public

dummy remuxer

public

C MP4

public
public

utils

summary
public
public
public
public

C EWMA

public

Fetch based loader timeout / abort / onprogress not supported for now timeout / abort : some ideas here : https://github.com/whatwg/fetch/issues/20#issuecomment-196113354 but still it is not bullet proof as it fails to avoid data waste....

public
public
public

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

public

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

public

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

public

F adjustPts(sliding: *, details: *)

public

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

public

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

public

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

public

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

public

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

public

F enableLogs(debugConfig: *)

public

F clearCurrentCues(track: *)

public

F sendAddTrackEvent(track: *, videoEl: *)

public

F VTTParser()

public

F fixLineBreaks(input: *): *

public

V BinarySearch: {"search": *}

public

V Hex: {"hexDump": *}

hex dump helper class

public

V logger: *

public

V TimeRanges: {"toString": *}

TimeRanges to string helper

public

V WebVTTParser: {"parse": *}