forked from video-dev/hls.js
/
config.d.ts
126 lines (126 loc) · 4.11 KB
/
config.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/**
* HLS config
*/
import BufferController from './controller/buffer-controller';
import * as Cues from './utils/cues';
import EMEController from './controller/eme-controller';
import { MediaKeyFunc } from './utils/mediakeys-helper';
declare type ABRControllerConfig = {
abrEwmaFastLive: number;
abrEwmaSlowLive: number;
abrEwmaFastVoD: number;
abrEwmaSlowVoD: number;
abrEwmaDefaultEstimate: number;
abrBandWidthFactor: number;
abrBandWidthUpFactor: number;
abrMaxWithRealBitrate: boolean;
maxStarvationDelay: number;
maxLoadingDelay: number;
};
export declare type BufferControllerConfig = {
appendErrorMaxRetry: number;
liveDurationInfinity: boolean;
liveBackBufferLength: number;
};
declare type CapLevelControllerConfig = {
capLevelToPlayerSize: boolean;
};
export declare type DRMSystemOptions = {
audioRobustness?: string;
videoRobustness?: string;
};
export declare type EMEControllerConfig = {
licenseXhrSetup?: (xhr: XMLHttpRequest, url: string) => void;
emeEnabled: boolean;
widevineLicenseUrl?: string;
drmSystemOptions: DRMSystemOptions;
requestMediaKeySystemAccessFunc: MediaKeyFunc | null;
};
declare type FragmentLoaderConfig = {
fLoader: any;
fragLoadingTimeOut: number;
fragLoadingMaxRetry: number;
fragLoadingRetryDelay: number;
fragLoadingMaxRetryTimeout: number;
};
declare type FPSControllerConfig = {
capLevelOnFPSDrop: boolean;
fpsDroppedMonitoringPeriod: number;
fpsDroppedMonitoringThreshold: number;
};
declare type LevelControllerConfig = {
startLevel?: number;
};
declare type MP4RemuxerConfig = {
stretchShortVideoTrack: boolean;
maxAudioFramesDrift: number;
};
declare type PlaylistLoaderConfig = {
pLoader: any;
manifestLoadingTimeOut: number;
manifestLoadingMaxRetry: number;
manifestLoadingRetryDelay: number;
manifestLoadingMaxRetryTimeout: number;
levelLoadingTimeOut: number;
levelLoadingMaxRetry: number;
levelLoadingRetryDelay: number;
levelLoadingMaxRetryTimeout: number;
};
declare type StreamControllerConfig = {
autoStartLoad: boolean;
startPosition: number;
defaultAudioCodec?: string;
initialLiveManifestSize: number;
maxBufferLength: number;
maxBufferSize: number;
maxBufferHole: number;
lowBufferWatchdogPeriod: number;
highBufferWatchdogPeriod: number;
nudgeOffset: number;
nudgeMaxRetry: number;
maxFragLookUpTolerance: number;
liveSyncDurationCount: number;
liveMaxLatencyDurationCount: number;
liveSyncDuration?: number;
liveMaxLatencyDuration?: number;
maxMaxBufferLength: number;
startFragPrefetch: boolean;
testBandwidth: boolean;
};
declare type TimelineControllerConfig = {
cueHandler: Cues.CuesInterface;
enableCEA708Captions: boolean;
enableWebVTT: boolean;
captionsTextTrack1Label: string;
captionsTextTrack1LanguageCode: string;
captionsTextTrack2Label: string;
captionsTextTrack2LanguageCode: string;
captionsTextTrack3Label: string;
captionsTextTrack3LanguageCode: string;
captionsTextTrack4Label: string;
captionsTextTrack4LanguageCode: string;
renderTextTracksNatively: boolean;
};
declare type TSDemuxerConfig = {
forceKeyFrameOnDiscontinuity: boolean;
};
export declare type HlsConfig = {
debug: boolean;
enableWorker: boolean;
enableSoftwareAES: boolean;
minAutoBitrate: number;
loader: any;
xhrSetup?: (xhr: XMLHttpRequest, url: string) => void;
audioStreamController?: any;
audioTrackController?: any;
subtitleStreamController?: any;
subtitleTrackController?: any;
timelineController?: any;
emeController?: typeof EMEController;
abrController: any;
bufferController: typeof BufferController;
capLevelController: any;
fpsController: any;
} & ABRControllerConfig & BufferControllerConfig & CapLevelControllerConfig & EMEControllerConfig & FPSControllerConfig & FragmentLoaderConfig & LevelControllerConfig & MP4RemuxerConfig & PlaylistLoaderConfig & StreamControllerConfig & TimelineControllerConfig & TSDemuxerConfig;
export declare const hlsDefaultConfig: HlsConfig;
export {};