2020-01-20 12:16:23 +03:00
|
|
|
/*
|
|
|
|
AUTHOR
|
|
|
|
Trek Hopton <trek@ausocean.org>
|
|
|
|
|
|
|
|
LICENSE
|
|
|
|
This file is Copyright (C) 2020 the Australian Ocean Lab (AusOcean)
|
|
|
|
|
|
|
|
It is free software: you can redistribute it and/or modify them
|
|
|
|
under the terms of the GNU General Public License as published by the
|
|
|
|
Free Software Foundation, either version 3 of the License, or (at your
|
|
|
|
option) any later version.
|
|
|
|
|
|
|
|
It is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
|
for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License in gpl.txt.
|
|
|
|
If not, see http://www.gnu.org/licenses.
|
|
|
|
|
|
|
|
For hls.js Copyright notice and license, see LICENSE file.
|
|
|
|
*/
|
|
|
|
|
2020-01-20 07:50:13 +03:00
|
|
|
import XhrLoader from './utils/xhr-loader.js';
|
2020-01-02 11:06:52 +03:00
|
|
|
|
|
|
|
// If possible, keep hlsDefaultConfig shallow
|
|
|
|
// It is cloned whenever a new Hls instance is created, by keeping the config
|
|
|
|
// shallow the properties are cloned, and we don't end up manipulating the default
|
2020-01-20 07:50:13 +03:00
|
|
|
export const hlsDefaultConfig = {
|
2020-01-02 11:06:52 +03:00
|
|
|
autoStartLoad: true, // used by stream-controller
|
|
|
|
startPosition: -1, // used by stream-controller
|
|
|
|
defaultAudioCodec: void 0, // used by stream-controller
|
|
|
|
debug: false, // used by logger
|
|
|
|
capLevelOnFPSDrop: false, // used by fps-controller
|
|
|
|
capLevelToPlayerSize: false, // used by cap-level-controller
|
|
|
|
initialLiveManifestSize: 1, // used by stream-controller
|
|
|
|
maxBufferLength: 30, // used by stream-controller
|
|
|
|
maxBufferSize: 60 * 1000 * 1000, // used by stream-controller
|
|
|
|
maxBufferHole: 0.5, // used by stream-controller
|
|
|
|
|
|
|
|
lowBufferWatchdogPeriod: 0.5, // used by stream-controller
|
|
|
|
highBufferWatchdogPeriod: 3, // used by stream-controller
|
|
|
|
nudgeOffset: 0.1, // used by stream-controller
|
|
|
|
nudgeMaxRetry: 3, // used by stream-controller
|
|
|
|
maxFragLookUpTolerance: 0.25, // used by stream-controller
|
|
|
|
liveSyncDurationCount: 3, // used by stream-controller
|
|
|
|
liveMaxLatencyDurationCount: Infinity, // used by stream-controller
|
|
|
|
liveSyncDuration: void 0, // used by stream-controller
|
|
|
|
liveMaxLatencyDuration: void 0, // used by stream-controller
|
|
|
|
liveDurationInfinity: false, // used by buffer-controller
|
|
|
|
liveBackBufferLength: Infinity, // used by buffer-controller
|
|
|
|
maxMaxBufferLength: 600, // used by stream-controller
|
|
|
|
enableWorker: true, // used by demuxer
|
|
|
|
enableSoftwareAES: true, // used by decrypter
|
|
|
|
manifestLoadingTimeOut: 10000, // used by playlist-loader
|
|
|
|
manifestLoadingMaxRetry: 1, // used by playlist-loader
|
|
|
|
manifestLoadingRetryDelay: 1000, // used by playlist-loader
|
|
|
|
manifestLoadingMaxRetryTimeout: 64000, // used by playlist-loader
|
|
|
|
startLevel: void 0, // used by level-controller
|
|
|
|
levelLoadingTimeOut: 10000, // used by playlist-loader
|
|
|
|
levelLoadingMaxRetry: 4, // used by playlist-loader
|
|
|
|
levelLoadingRetryDelay: 1000, // used by playlist-loader
|
|
|
|
levelLoadingMaxRetryTimeout: 64000, // used by playlist-loader
|
|
|
|
fragLoadingTimeOut: 20000, // used by fragment-loader
|
|
|
|
fragLoadingMaxRetry: 6, // used by fragment-loader
|
|
|
|
fragLoadingRetryDelay: 1000, // used by fragment-loader
|
|
|
|
fragLoadingMaxRetryTimeout: 64000, // used by fragment-loader
|
|
|
|
startFragPrefetch: false, // used by stream-controller
|
|
|
|
fpsDroppedMonitoringPeriod: 5000, // used by fps-controller
|
|
|
|
fpsDroppedMonitoringThreshold: 0.2, // used by fps-controller
|
|
|
|
appendErrorMaxRetry: 3, // used by buffer-controller
|
|
|
|
loader: XhrLoader,
|
|
|
|
// loader: FetchLoader,
|
|
|
|
fLoader: void 0, // used by fragment-loader
|
|
|
|
pLoader: void 0, // used by playlist-loader
|
|
|
|
xhrSetup: void 0, // used by xhr-loader
|
|
|
|
licenseXhrSetup: void 0, // used by eme-controller
|
2020-01-20 07:50:13 +03:00
|
|
|
fetchSetup: void 0,
|
|
|
|
// abrController: AbrController,
|
|
|
|
// bufferController: BufferController,
|
|
|
|
// capLevelController: CapLevelController,
|
|
|
|
// fpsController: FPSController,
|
2020-01-02 11:06:52 +03:00
|
|
|
stretchShortVideoTrack: false, // used by mp4-remuxer
|
|
|
|
maxAudioFramesDrift: 1, // used by mp4-remuxer
|
|
|
|
forceKeyFrameOnDiscontinuity: true, // used by ts-demuxer
|
|
|
|
abrEwmaFastLive: 3, // used by abr-controller
|
|
|
|
abrEwmaSlowLive: 9, // used by abr-controller
|
|
|
|
abrEwmaFastVoD: 3, // used by abr-controller
|
|
|
|
abrEwmaSlowVoD: 9, // used by abr-controller
|
|
|
|
abrEwmaDefaultEstimate: 5e5, // 500 kbps // used by abr-controller
|
|
|
|
abrBandWidthFactor: 0.95, // used by abr-controller
|
|
|
|
abrBandWidthUpFactor: 0.7, // used by abr-controller
|
|
|
|
abrMaxWithRealBitrate: false, // used by abr-controller
|
|
|
|
maxStarvationDelay: 4, // used by abr-controller
|
|
|
|
maxLoadingDelay: 4, // used by abr-controller
|
|
|
|
minAutoBitrate: 0, // used by hls
|
|
|
|
emeEnabled: false, // used by eme-controller
|
|
|
|
widevineLicenseUrl: void 0, // used by eme-controller
|
2020-01-20 07:50:13 +03:00
|
|
|
// requestMediaKeySystemAccessFunc: requestMediaKeySystemAccess, // used by eme-controller
|
2020-01-02 11:06:52 +03:00
|
|
|
|
2020-01-20 07:50:13 +03:00
|
|
|
};
|