npaw-plugin-nwf
Version:
NPAW's Plugin
76 lines (75 loc) • 2.15 kB
TypeScript
/**
* @class
* @description Object that stores the plugin settings.
* @exports BalancerOptions
*/
export default class BalancerOptions {
balancerAnalyticsEnabled?: boolean;
profileName?: string;
bucketName?: string;
isLive?: boolean;
videoId?: string;
resource?: string;
updateTime?: number;
reportTime?: number;
debug?: boolean;
isDev?: boolean;
timeBetweenHeads?: number;
host?: string;
forceDecisionCall?: boolean;
domainWhitelist?: string[];
domainWhitelistRegex?: string[];
urlBlacklistRegex?: string[];
probeOnlyOnBanned?: boolean;
noProbing?: boolean;
probingPolicy?: 'GET' | 'HEAD' | 'GET_RETRY_HEAD';
allowSpecialDelimitersInUrl?: boolean;
signManifestUsingApi?: boolean;
balanceManifests?: boolean;
balanceAudio?: boolean;
balanceSubtitles?: boolean;
dynamicRules?: dynamicRules;
jwtToken?: string;
jwtAuthType?: string;
stripPathForDomainRegex?: string[];
stripPathRegex?: string;
chunkExpirationProbingMs?: number;
authData?: {
[cdnName: string]: {
[key: string]: any;
};
};
reportSyntheticCdns?: boolean;
cdnTimeout?: {
connectTimeoutMilliseconds?: number;
readTimeoutMilliseconds?: number;
callTimeoutMilliseconds?: number;
totalTimeoutMilliseconds?: number;
};
latencyTrialTrigger?: {
minRelativeImprovement?: number;
minAbsoluteImprovementMs?: number;
};
peakSampler?: {
warmupMs?: number;
tickMs?: number;
minReadsForEarlySample?: number;
minBytesPerCall?: number;
};
firstChunkProbe?: {
enabled?: boolean;
connectTimeoutMs?: number;
totalDownloadTimeoutMs?: number;
safetyFactor?: number;
minSamplesBeforeAbort?: number;
onlyForVideoSegments?: boolean;
};
trial?: {
onlyForVideoSegments?: boolean;
};
/**
* Constructs options object.
* @param {constructionOptions} options JSON with the options to construct the balancer.
*/
constructor(options?: constructionOptions);
}