UNPKG

tplayer.js

Version:

Flexible and easy Dash/HLS/DRM integration for HTML5 video.

1,995 lines (1,225 loc) 74.9 kB
/*! * @overview es6-promise - a tiny implementation of Promises/A+. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) * @license Licensed under MIT license * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE * @version v4.2.8+1e68dce6 */ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh <http://feross.org> * @license MIT */ /*! ../../../../core/Debug */ /*! ../../../../core/FactoryMaker */ /*! ../../../constants/Constants */ /*! ../../../constants/MetricsConstants */ /*! ../../../core/Debug */ /*! ../../../core/EventBus */ /*! ../../../core/FactoryMaker */ /*! ../../../core/Utils */ /*! ../../../core/errors/ErrorsBase */ /*! ../../../core/events/Events */ /*! ../../../externals/cea608-parser */ /*! ../../../externals/xml2json */ /*! ../../../streaming/constants/Constants */ /*! ../../MediaPlayerEvents */ /*! ../../MetricsReportingEvents */ /*! ../../SwitchRequest */ /*! ../../constants/Constants */ /*! ../../constants/DashConstants */ /*! ../../constants/MetricsConstants */ /*! ../../constants/ProtectionConstants */ /*! ../../core/Debug */ /*! ../../core/EventBus */ /*! ../../core/FactoryMaker */ /*! ../../core/Settings */ /*! ../../core/Utils */ /*! ../../core/errors/Errors */ /*! ../../core/events/Events */ /*! ../../core/events/EventsBase */ /*! ../../dash/DashHandler */ /*! ../../dash/constants/DashConstants */ /*! ../../dash/controllers/SegmentsController */ /*! ../../dash/models/DashManifestModel */ /*! ../../dash/utils/SegmentsUtils */ /*! ../../dash/vo/BaseURL */ /*! ../../dash/vo/UTCTiming */ /*! ../../externals/base64 */ /*! ../../externals/cea608-parser */ /*! ../../streaming/MediaPlayerEvents */ /*! ../../streaming/constants/ConformanceViolationConstants */ /*! ../../streaming/constants/Constants */ /*! ../../streaming/net/HTTPLoader */ /*! ../../streaming/net/SchemeLoaderFactory */ /*! ../../streaming/net/XHRLoader */ /*! ../../streaming/thumbnail/ThumbnailTracks */ /*! ../../streaming/utils/BoxParser */ /*! ../../streaming/utils/ObjectUtils */ /*! ../../streaming/utils/URLUtils */ /*! ../../streaming/vo/DashJSError */ /*! ../../utils/CustomTimeRanges */ /*! ../../utils/HandlerHelpers */ /*! ../../utils/MetricSerialiser */ /*! ../../utils/RNG */ /*! ../../vo/DashJSError */ /*! ../../vo/metrics/HTTPRequest */ /*! ../CommonEncryption */ /*! ../FragmentLoader */ /*! ../ManifestUpdater */ /*! ../MediaPlayerEvents */ /*! ../MetricsReportingEvents */ /*! ../SegmentBaseLoader */ /*! ../SourceBufferSink */ /*! ../Stream */ /*! ../SwitchRequest */ /*! ../WebmSegmentBaseLoader */ /*! ../XlinkLoader */ /*! ../constants/ConformanceViolationConstants */ /*! ../constants/Constants */ /*! ../constants/DashConstants */ /*! ../constants/MetricsConstants */ /*! ../controller/level-helper */ /*! ../controllers/BlacklistController */ /*! ../controllers/ProtectionKeyController */ /*! ../core/Debug */ /*! ../core/EventBus */ /*! ../core/FactoryMaker */ /*! ../core/Settings */ /*! ../core/Utils */ /*! ../core/Version */ /*! ../core/errors/Errors */ /*! ../core/events/Events */ /*! ../core/events/EventsBase */ /*! ../crypt/decrypter */ /*! ../dash/DashAdapter */ /*! ../dash/DashHandler */ /*! ../dash/DashMetrics */ /*! ../dash/constants/DashConstants */ /*! ../dash/controllers/RepresentationController */ /*! ../dash/controllers/SegmentBaseController */ /*! ../dash/controllers/SegmentsController */ /*! ../dash/parser/DashParser */ /*! ../dash/utils/TimelineConverter */ /*! ../demux/aacdemuxer */ /*! ../demux/chunk-cache */ /*! ../demux/id3 */ /*! ../demux/mp3demuxer */ /*! ../demux/mp4demuxer */ /*! ../demux/transmuxer */ /*! ../demux/transmuxer-interface */ /*! ../demux/transmuxer-worker.ts */ /*! ../demux/tsdemuxer */ /*! ../errors */ /*! ../errors/ProtectionErrors */ /*! ../events */ /*! ../is-supported */ /*! ../loader/fragment */ /*! ../loader/fragment-loader */ /*! ../loader/load-stats */ /*! ../metrics/MetricsHandlerFactory */ /*! ../metrics/MetricsReportingEvents */ /*! ../models/BaseURLTreeModel */ /*! ../models/CmcdModel */ /*! ../models/DashManifestModel */ /*! ../models/FragmentModel */ /*! ../models/LowLatencyThroughputModel */ /*! ../net/XHRLoader */ /*! ../remux/mp4-remuxer */ /*! ../remux/passthrough-remuxer */ /*! ../reporting/ReportingFactory */ /*! ../rules/DroppedFramesHistory */ /*! ../rules/RulesContext */ /*! ../rules/SwitchRequest */ /*! ../rules/SwitchRequestHistory */ /*! ../rules/ThroughputHistory */ /*! ../rules/abr/ABRRulesCollection */ /*! ../streaming/MediaPlayerEvents */ /*! ../streaming/constants/Constants */ /*! ../streaming/constants/MetricsConstants */ /*! ../streaming/models/MetricsModel */ /*! ../streaming/net/URLLoader */ /*! ../streaming/utils/EBMLParser */ /*! ../streaming/utils/URLUtils */ /*! ../streaming/vo/DashJSError */ /*! ../streaming/vo/FragmentRequest */ /*! ../streaming/vo/metrics/HTTPRequest */ /*! ../streaming/vo/metrics/PlayList */ /*! ../task-loop */ /*! ../thumbnail/ThumbnailTracks */ /*! ../types/cmcd */ /*! ../types/level */ /*! ../types/loader */ /*! ../types/transmuxer */ /*! ../utils/BaseURLSelector */ /*! ../utils/BoxParser */ /*! ../utils/CustomTimeRanges */ /*! ../utils/InitCache */ /*! ../utils/ListSegmentsGetter */ /*! ../utils/ManifestParsing */ /*! ../utils/ObjectUtils */ /*! ../utils/RequestModifier */ /*! ../utils/SegmentBaseGetter */ /*! ../utils/SegmentsUtils */ /*! ../utils/SupervisorTools */ /*! ../utils/TTMLParser */ /*! ../utils/TemplateSegmentsGetter */ /*! ../utils/TimelineSegmentsGetter */ /*! ../utils/URLUtils */ /*! ../utils/VTTParser */ /*! ../utils/attr-list */ /*! ../utils/binary-search */ /*! ../utils/buffer-helper */ /*! ../utils/cea-608-parser */ /*! ../utils/codecs */ /*! ../utils/discontinuities */ /*! ../utils/ewma */ /*! ../utils/ewma-bandwidth-estimator */ /*! ../utils/imsc1-ttml-parser */ /*! ../utils/logger */ /*! ../utils/mediakeys-helper */ /*! ../utils/mediasource-helper */ /*! ../utils/mp4-tools */ /*! ../utils/output-filter */ /*! ../utils/texttrack-utils */ /*! ../utils/time-ranges */ /*! ../utils/timescale-conversion */ /*! ../utils/typed-array */ /*! ../utils/webvtt-parser */ /*! ../vo/AdaptationSet */ /*! ../vo/BaseURL */ /*! ../vo/BitrateInfo */ /*! ../vo/ClearKeyKeySet */ /*! ../vo/DVBErrors */ /*! ../vo/DashJSError */ /*! ../vo/DataChunk */ /*! ../vo/Event */ /*! ../vo/EventStream */ /*! ../vo/FragmentRequest */ /*! ../vo/IsoBox */ /*! ../vo/IsoBoxSearchInfo */ /*! ../vo/KeyMessage */ /*! ../vo/KeyPair */ /*! ../vo/KeySystemAccess */ /*! ../vo/KeySystemConfiguration */ /*! ../vo/LicenseRequest */ /*! ../vo/LicenseResponse */ /*! ../vo/MediaCapability */ /*! ../vo/Metrics */ /*! ../vo/MetricsList */ /*! ../vo/Mpd */ /*! ../vo/NeedKey */ /*! ../vo/PatchOperation */ /*! ../vo/Period */ /*! ../vo/Range */ /*! ../vo/Reporting */ /*! ../vo/Representation */ /*! ../vo/SimpleXPath */ /*! ../vo/TextTrackInfo */ /*! ../vo/Thumbnail */ /*! ../vo/ThumbnailTrackInfo */ /*! ../vo/URIFragmentData */ /*! ../vo/UTCTiming */ /*! ../vo/metrics/BufferLevel */ /*! ../vo/metrics/BufferState */ /*! ../vo/metrics/DVRInfo */ /*! ../vo/metrics/DroppedFrames */ /*! ../vo/metrics/HTTPRequest */ /*! ../vo/metrics/ManifestUpdate */ /*! ../vo/metrics/PlayList */ /*! ../vo/metrics/RepresentationSwitch */ /*! ../vo/metrics/RequestsQueue */ /*! ../vo/metrics/SchedulingInfo */ /*! ./ */ /*! ./../../../webpack/buildin/global.js */ /*! ./../../core/EventBus */ /*! ./../../core/errors/Errors */ /*! ./../../core/events/Events */ /*! ./../../dash/vo/MediaInfo */ /*! ./../../node-libs-browser/node_modules/buffer/index.js */ /*! ./../../node-libs-browser/node_modules/timers-browserify/main.js */ /*! ./../../process/browser.js */ /*! ./../../webpack/buildin/global.js */ /*! ./../CommonEncryption */ /*! ./../core/Debug */ /*! ./../core/EventBus */ /*! ./../core/errors/Errors */ /*! ./../core/events/Events */ /*! ./../drm/KeySystemClearKey */ /*! ./../drm/KeySystemPlayReady */ /*! ./../drm/KeySystemW3CClearKey */ /*! ./../drm/KeySystemWidevine */ /*! ./../process/browser.js */ /*! ./../servers/ClearKey */ /*! ./../servers/DRMToday */ /*! ./../servers/PlayReady */ /*! ./../servers/Widevine */ /*! ./../vo/DashJSError */ /*! ./../vo/Segment */ /*! ./../webpack/buildin/global.js */ /*! ./AbandonRequestsRule */ /*! ./BaseMatcher */ /*! ./BolaRule */ /*! ./CommonProperty */ /*! ./CoreEvents */ /*! ./DefaultURLUtils */ /*! ./DroppedFramesRule */ /*! ./EmbeddedTextHtmlRender */ /*! ./ErrorsBase */ /*! ./EventBus */ /*! ./EventController */ /*! ./EventsBase */ /*! ./FactoryMaker */ /*! ./FetchLoader */ /*! ./FragmentRequest */ /*! ./InsufficientBufferRule */ /*! ./IsoFile */ /*! ./L2ARule.js */ /*! ./LearningAbrController */ /*! ./LoLpQoEEvaluator */ /*! ./LoLpWeightSelector */ /*! ./ManifestLoader */ /*! ./ManifestUpdater */ /*! ./MapNode */ /*! ./MediaPlayer */ /*! ./MediaPlayerEvents */ /*! ./MediaSourceController */ /*! ./MetricsController */ /*! ./MetricsHandlersController */ /*! ./MetricsReportingEvents */ /*! ./ProtectionEvents */ /*! ./QoeInfo */ /*! ./RangeController */ /*! ./ReportingController */ /*! ./SegmentsUtils */ /*! ./StreamProcessor */ /*! ./SwitchHistoryRule */ /*! ./SwitchRequest */ /*! ./TextSourceBuffer */ /*! ./TextTracks */ /*! ./ThroughputRule */ /*! ./ThumbnailTracks */ /*! ./TimeSyncController */ /*! ./Utils.js */ /*! ./XHRLoader */ /*! ./_stream_duplex */ /*! ./_stream_readable */ /*! ./_stream_transform */ /*! ./_stream_writable */ /*! ./aac-helper */ /*! ./adts */ /*! ./aes-crypto */ /*! ./aes-decryptor */ /*! ./base-audio-demuxer */ /*! ./base-playlist-controller */ /*! ./base-stream-controller */ /*! ./baseUrlResolution/BasicSelector */ /*! ./baseUrlResolution/DVBSelector */ /*! ./buffer-operation-queue */ /*! ./chunk-cache */ /*! ./config */ /*! ./constants/Constants */ /*! ./constants/DashConstants */ /*! ./constants/MetricsConstants */ /*! ./controller/abr-controller */ /*! ./controller/audio-stream-controller */ /*! ./controller/audio-track-controller */ /*! ./controller/buffer-controller */ /*! ./controller/cap-level-controller */ /*! ./controller/cmcd-controller */ /*! ./controller/eme-controller */ /*! ./controller/fps-controller */ /*! ./controller/fragment-tracker */ /*! ./controller/id3-track-controller */ /*! ./controller/latency-controller */ /*! ./controller/level-controller */ /*! ./controller/stream-controller */ /*! ./controller/subtitle-stream-controller */ /*! ./controller/subtitle-track-controller */ /*! ./controller/timeline-controller */ /*! ./controllers/AbrController */ /*! ./controllers/BaseURLController */ /*! ./controllers/BlacklistController */ /*! ./controllers/BufferController */ /*! ./controllers/FragmentController */ /*! ./controllers/GapController */ /*! ./controllers/MediaController */ /*! ./controllers/MetricsCollectionController */ /*! ./controllers/PlaybackController */ /*! ./controllers/ProtectionController */ /*! ./controllers/ProtectionKeyController */ /*! ./controllers/ScheduleController */ /*! ./controllers/StreamController */ /*! ./controllers/XlinkController */ /*! ./doc */ /*! ./dummy-demuxed-track */ /*! ./errors */ /*! ./errors/ProtectionErrors */ /*! ./events */ /*! ./events/Events */ /*! ./exp-golomb */ /*! ./fast-aes-key */ /*! ./fragment */ /*! ./fragment-finders */ /*! ./fragment-tracker */ /*! ./gap-controller */ /*! ./handlers/BufferLevelHandler */ /*! ./handlers/DVBErrorsHandler */ /*! ./handlers/GenericMetricHandler */ /*! ./handlers/HttpListHandler */ /*! ./html */ /*! ./id3 */ /*! ./index_mediaplayerOnly */ /*! ./internal/streams/BufferList */ /*! ./internal/streams/destroy */ /*! ./internal/streams/stream */ /*! ./is-supported */ /*! ./isd */ /*! ./level-details */ /*! ./level-helper */ /*! ./level-key */ /*! ./lib/_stream_duplex.js */ /*! ./lib/_stream_passthrough.js */ /*! ./lib/_stream_readable.js */ /*! ./lib/_stream_transform.js */ /*! ./lib/_stream_writable.js */ /*! ./load-stats */ /*! ./loader/key-loader */ /*! ./loader/playlist-loader */ /*! ./logger */ /*! ./lolp/LoLpRule.js */ /*! ./m3u8-parser */ /*! ./maps/RepresentationBaseValuesMap */ /*! ./maps/SegmentValuesMap */ /*! ./matchers/DateTimeMatcher */ /*! ./matchers/DurationMatcher */ /*! ./matchers/NumericMatcher */ /*! ./matchers/StringMatcher */ /*! ./metrics/MetricsHandlerFactory */ /*! ./models/CmcdModel */ /*! ./models/DashManifestModel */ /*! ./models/FragmentModel */ /*! ./models/ManifestModel */ /*! ./models/MediaPlayerModel */ /*! ./models/PatchManifestModel */ /*! ./models/ProtectionModel_01b */ /*! ./models/ProtectionModel_21Jan2015 */ /*! ./models/ProtectionModel_3Feb2014 */ /*! ./models/URIFragmentModel */ /*! ./models/VideoModel */ /*! ./mp4-generator */ /*! ./mp4-tools */ /*! ./mpegaudio */ /*! ./names */ /*! ./net/SchemeLoaderFactory */ /*! ./net/URLLoader */ /*! ./node_modules/webpack/buildin/global.js */ /*! ./objectiron */ /*! ./readable */ /*! ./reporters/DVBReporting */ /*! ./reporting/ReportingFactory */ /*! ./sample-aes */ /*! ./src/core/Debug */ /*! ./src/core/FactoryMaker */ /*! ./src/core/Version */ /*! ./src/polyfills/number */ /*! ./src/streaming/MediaPlayer */ /*! ./src/streaming/MediaPlayerFactory */ /*! ./src/streaming/metrics/MetricsReporting */ /*! ./src/streaming/protection/Protection */ /*! ./src/streaming/utils/Capabilities */ /*! ./styles */ /*! ./text/NotFragmentedTextBufferController */ /*! ./text/TextController */ /*! ./texttrack-utils */ /*! ./thumbnail/ThumbnailController */ /*! ./timescale-conversion */ /*! ./tsdemuxer */ /*! ./typed-array */ /*! ./utils */ /*! ./utils/BoxParser */ /*! ./utils/Capabilities */ /*! ./utils/CapabilitiesFilter */ /*! ./utils/DOMStorage */ /*! ./utils/DVBErrorsTranslator */ /*! ./utils/ErrorHandler */ /*! ./utils/RequestModifier */ /*! ./utils/Round10 */ /*! ./utils/SegmentsUtils */ /*! ./utils/SupervisorTools */ /*! ./utils/URLUtils */ /*! ./utils/cues */ /*! ./utils/fetch-loader */ /*! ./utils/logger */ /*! ./utils/mediakeys-helper */ /*! ./utils/mediasource-helper */ /*! ./utils/xhr-loader */ /*! ./vo/DashJSError */ /*! ./vo/Event */ /*! ./vo/HeadRequest */ /*! ./vo/ManifestInfo */ /*! ./vo/MediaInfo */ /*! ./vo/RepresentationInfo */ /*! ./vo/Segment */ /*! ./vo/StreamInfo */ /*! ./vo/TextRequest */ /*! ./vo/metrics/HTTPRequest */ /*! ./vo/metrics/PlayList */ /*! ./vttcue */ /*! ./vttparser */ /*! ./webvtt-parser */ /*! base64-js */ /*! buffer */ /*! codem-isoboxer */ /*! codem-isoboxer v0.3.6 https://github.com/madebyhiro/codem-isoboxer/blob/master/LICENSE.txt */ /*! core-util-is */ /*! es6-promise/auto */ /*! eventemitter3 */ /*! events */ /*! exports provided: AttrList */ /*! exports provided: BufferHelper */ /*! exports provided: CMCDVersion, CMCDObjectType, CMCDStreamingFormat, CMCDStreamType */ /*! exports provided: ChunkMetadata */ /*! exports provided: ElementaryStreamTypes, BaseSegment, Fragment, Part */ /*! exports provided: ErrorTypes, ErrorDetails */ /*! exports provided: Events */ /*! exports provided: FragmentState, FragmentTracker */ /*! exports provided: HTTPRequest, HTTPRequestTrace */ /*! exports provided: HlsSkip, getSkipValue, HlsUrlParameters, Level */ /*! exports provided: IMSC1_CODEC, parseIMSC1 */ /*! exports provided: KeySystems, requestMediaKeySystemAccess */ /*! exports provided: LevelDetails */ /*! exports provided: LevelKey */ /*! exports provided: LoadStats */ /*! exports provided: ManifestUpdate, ManifestUpdateStreamInfo, ManifestUpdateRepresentationInfo */ /*! exports provided: PlayList, PlayListTrace */ /*! exports provided: PlaylistContextType, PlaylistLevelType */ /*! exports provided: Row, CaptionScreen, default */ /*! exports provided: STALL_MINIMUM_DURATION_MS, MAX_START_GAP_JUMP, SKIP_BUFFER_HOLE_STEP_SECONDS, SKIP_BUFFER_RANGE_START, default */ /*! exports provided: State, default */ /*! exports provided: SubtitleStreamController */ /*! exports provided: THUMBNAILS_SCHEME_ID_URIS, default */ /*! exports provided: TimelineController */ /*! exports provided: addGroupId, assignTrackIdsByGroup, updatePTS, updateFragPTSDTS, mergeDetails, mapPartIntersection, mapFragmentIntersection, adjustSliding, addSliding, computeReloadInterval, getFragmentWithSN, getPartWith */ /*! exports provided: appendFrame, parseHeader, isHeaderPattern, isHeader, canParse, probe */ /*! exports provided: bin2str, readUint16, readUint32, writeUint32, findBox, parseSegmentIndex, parseInitSegment, getStartDTS, getDuration, computeRawDurationFromSamples, offsetStartDTS, segmentValidRange, appendUint8Array */ /*! exports provided: checkParameterType, checkInteger, checkRange, checkIsVideoOrAudioType */ /*! exports provided: default */ /*! exports provided: default, LoadError */ /*! exports provided: default, MediaPlayer, FactoryMaker, Debug */ /*! exports provided: default, MediaPlayer, Protection, MetricsReporting, MediaPlayerFactory, Debug, supportsMediaSource */ /*! exports provided: default, isPromise, TransmuxConfig, TransmuxState */ /*! exports provided: default, normalizePts */ /*! exports provided: discardEPB, default */ /*! exports provided: dummyTrack */ /*! exports provided: enableLogs, logger */ /*! exports provided: fetchSupported, default */ /*! exports provided: findFirstFragWithCC, shouldAlignOnDiscontinuities, findDiscontinuousReferenceFrag, adjustSlidingStart, alignStream, alignPDT, alignFragmentByPDTDelta, alignMediaPlaylistByPDT */ /*! exports provided: findFragmentByPDT, findFragmentByPTS, fragmentWithinToleranceTest, pdtWithinToleranceTest, findFragWithCC */ /*! exports provided: generateCueId, parseWebVTT */ /*! exports provided: getAudioConfig, isHeaderPattern, getHeaderLength, getFullFrameLength, canGetFrameLength, isHeader, canParse, probe, initTrackConfig, getFrameDuration, parseFrameHeader, appendFrame */ /*! exports provided: getMediaSource */ /*! exports provided: getVersionString */ /*! exports provided: hlsDefaultConfig, mergeConfig, enableStreamingMode */ /*! exports provided: initPTSFn, default */ /*! exports provided: isCodecType, isCodecSupportedInMp4 */ /*! exports provided: isFiniteNumber, MAX_SAFE_INTEGER */ /*! exports provided: isHeader, isFooter, getID3Data, canParse, getTimeStamp, isTimeStampFrame, getID3Frames, decodeFrame, utf8ArrayToStr, testables */ /*! exports provided: isSupported, changeTypeSupported */ /*! exports provided: parseTimeStamp, fixLineBreaks, VTTParser */ /*! exports provided: removePadding, default */ /*! exports provided: sendAddTrackEvent, addCueToTrack, clearCurrentCues, removeCuesInRange, getCuesInRange */ /*! exports provided: sliceUint8 */ /*! exports provided: supportsMediaSource, default */ /*! exports provided: toTimescaleFromBase, toTimescaleFromScale, toMsFromMpegTsClock, toMpegTsClockFromTimescale */ /*! exports provided: unescapeDollarsInTemplate, replaceIDForTemplate, replaceTokenForTemplate, getIndexBasedSegment, getTimeBasedSegment */ /*! fast-deep-equal */ /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ /*! ieee754 */ /*! imsc */ /*! inherits */ /*! isarray */ /*! no static exports found */ /*! path-browserify */ /*! process-nextick-args */ /*! readable-stream/duplex.js */ /*! readable-stream/passthrough.js */ /*! readable-stream/readable.js */ /*! readable-stream/transform.js */ /*! readable-stream/writable.js */ /*! safe-buffer */ /*! sax */ /*! setimmediate */ /*! stream */ /*! string_decoder */ /*! string_decoder/ */ /*! url-toolkit */ /*! util */ /*! util-deprecate */ /*! webworkify-webpack */ /*!******************!*\ !*** ./index.js ***! \******************/ /*!********************!*\ !*** ./src/hls.ts ***! \********************/ /*!**********************!*\ !*** util (ignored) ***! \**********************/ /*!***********************!*\ !*** ./src/config.ts ***! \***********************/ /*!***********************!*\ !*** ./src/errors.ts ***! \***********************/ /*!***********************!*\ !*** ./src/events.ts ***! \***********************/ /*!**************************!*\ !*** ./src/demux/id3.ts ***! \**************************/ /*!**************************!*\ !*** ./src/task-loop.ts ***! \**************************/ /*!***************************!*\ !*** ./src/core/Debug.js ***! \***************************/ /*!***************************!*\ !*** ./src/core/Utils.js ***! \***************************/ /*!***************************!*\ !*** ./src/demux/adts.ts ***! \***************************/ /*!***************************!*\ !*** ./src/types/cmcd.ts ***! \***************************/ /*!***************************!*\ !*** ./src/utils/cues.ts ***! \***************************/ /*!***************************!*\ !*** ./src/utils/ewma.ts ***! \***************************/ /*!****************************!*\ !*** ./src/dash/vo/Mpd.js ***! \****************************/ /*!****************************!*\ !*** ./src/types/level.ts ***! \****************************/ /*!*****************************!*\ !*** ./externals/base64.js ***! \*****************************/ /*!*****************************!*\ !*** ./src/core/Version.js ***! \*****************************/ /*!*****************************!*\ !*** ./src/is-supported.ts ***! \*****************************/ /*!*****************************!*\ !*** ./src/types/loader.ts ***! \*****************************/ /*!*****************************!*\ !*** ./src/utils/codecs.ts ***! \*****************************/ /*!*****************************!*\ !*** ./src/utils/logger.ts ***! \*****************************/ /*!*****************************!*\ !*** ./src/utils/vttcue.ts ***! \*****************************/ /*!******************************!*\ !*** ./src/core/EventBus.js ***! \******************************/ /*!******************************!*\ !*** ./src/core/Settings.js ***! \******************************/ /*!******************************!*\ !*** ./src/dash/vo/Event.js ***! \******************************/ /*!*******************************!*\ !*** ./externals/xml2json.js ***! \*******************************/ /*!*******************************!*\ !*** ./src/dash/vo/Period.js ***! \*******************************/ /*!********************************!*\ !*** ./src/crypt/decrypter.ts ***! \********************************/ /*!********************************!*\ !*** ./src/dash/vo/BaseURL.js ***! \********************************/ /*!********************************!*\ !*** ./src/dash/vo/Segment.js ***! \********************************/ /*!********************************!*\ !*** ./src/demux/mpegaudio.ts ***! \********************************/ /*!********************************!*\ !*** ./src/demux/tsdemuxer.ts ***! \********************************/ /*!********************************!*\ !*** ./src/loader/fragment.ts ***! \********************************/ /*!********************************!*\ !*** ./src/utils/attr-list.ts ***! \********************************/ /*!********************************!*\ !*** ./src/utils/mp4-tools.ts ***! \********************************/ /*!********************************!*\ !*** ./src/utils/vttparser.ts ***! \********************************/ /*!*********************************!*\ !*** ./src/crypt/aes-crypto.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/dash/DashAdapter.js ***! \*********************************/ /*!*********************************!*\ !*** ./src/dash/DashHandler.js ***! \*********************************/ /*!*********************************!*\ !*** ./src/dash/DashMetrics.js ***! \*********************************/ /*!*********************************!*\ !*** ./src/demux/aacdemuxer.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/demux/exp-golomb.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/demux/mp3demuxer.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/demux/mp4demuxer.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/demux/sample-aes.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/demux/transmuxer.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/loader/level-key.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/polyfills/number.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/remux/aac-helper.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/streaming/Stream.js ***! \*********************************/ /*!*********************************!*\ !*** ./src/types/transmuxer.ts ***! \*********************************/ /*!*********************************!*\ !*** ./src/utils/xhr-loader.ts ***! \*********************************/ /*!**********************************!*\ !*** ./index_mediaplayerOnly.js ***! \**********************************/ /*!**********************************!*\ !*** ./src/core/FactoryMaker.js ***! \**********************************/ /*!**********************************!*\ !*** ./src/dash/vo/MediaInfo.js ***! \**********************************/ /*!**********************************!*\ !*** ./src/dash/vo/UTCTiming.js ***! \**********************************/ /*!**********************************!*\ !*** ./src/demux/chunk-cache.ts ***! \**********************************/ /*!**********************************!*\ !*** ./src/loader/key-loader.ts ***! \**********************************/ /*!**********************************!*\ !*** ./src/loader/load-stats.ts ***! \**********************************/ /*!**********************************!*\ !*** ./src/remux/mp4-remuxer.ts ***! \**********************************/ /*!**********************************!*\ !*** ./src/utils/time-ranges.ts ***! \**********************************/ /*!**********************************!*\ !*** ./src/utils/typed-array.ts ***! \**********************************/ /*!***********************************!*\ !*** (webpack)/buildin/global.js ***! \***********************************/ /*!***********************************!*\ !*** ./src/core/errors/Errors.js ***! \***********************************/ /*!***********************************!*\ !*** ./src/core/events/Events.js ***! \***********************************/ /*!***********************************!*\ !*** ./src/crypt/fast-aes-key.ts ***! \***********************************/ /*!***********************************!*\ !*** ./src/dash/utils/Round10.js ***! \***********************************/ /*!***********************************!*\ !*** ./src/dash/vo/StreamInfo.js ***! \***********************************/ /*!***********************************!*\ !*** ./src/loader/m3u8-parser.ts ***! \***********************************/ /*!***********************************!*\ !*** ./src/utils/fetch-loader.ts ***! \***********************************/ /*!************************************!*\ !*** ./externals/cea608-parser.js ***! \************************************/ /*!************************************!*\ !*** ./src/crypt/aes-decryptor.ts ***! \************************************/ /*!************************************!*\ !*** ./src/dash/vo/EventStream.js ***! \************************************/ /*!************************************!*\ !*** ./src/dash/vo/SimpleXPath.js ***! \************************************/ /*!************************************!*\ !*** ./src/remux/mp4-generator.ts ***! \************************************/ /*!************************************!*\ !*** ./src/streaming/vo/IsoBox.js ***! \************************************/ /*!************************************!*\ !*** ./src/utils/binary-search.ts ***! \************************************/ /*!************************************!*\ !*** ./src/utils/buffer-helper.ts ***! \************************************/ /*!************************************!*\ !*** ./src/utils/output-filter.ts ***! \************************************/ /*!************************************!*\ !*** ./src/utils/webvtt-parser.ts ***! \************************************/ /*!*************************************!*\ !*** ./node_modules/sax/lib/sax.js ***! \*************************************/ /*!*************************************!*\ !*** ./src/dash/vo/ManifestInfo.js ***! \*************************************/ /*!*************************************!*\ !*** ./src/loader/level-details.ts ***! \*************************************/ /*!*************************************!*\ !*** ./src/utils/cea-608-parser.ts ***! \*************************************/ /*!**************************************!*\ !*** ./src/dash/vo/AdaptationSet.js ***! \**************************************/ /*!**************************************!*\ !*** ./src/streaming/MediaPlayer.js ***! \**************************************/ /*!**************************************!*\ !*** ./src/streaming/XlinkLoader.js ***! \**************************************/ /*!**************************************!*\ !*** ./src/utils/discontinuities.ts ***! \**************************************/ /*!**************************************!*\ !*** ./src/utils/texttrack-utils.ts ***! \**************************************/ /*!***************************************!*\ !*** ./node_modules/ieee754/index.js ***! \***************************************/ /*!***************************************!*\ !*** ./node_modules/isarray/index.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/core/errors/ErrorsBase.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/core/events/CoreEvents.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/core/events/EventsBase.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/dash/SegmentBaseLoader.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/dash/parser/DashParser.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/dash/parser/objectiron.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/dash/vo/PatchOperation.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/dash/vo/Representation.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/loader/fragment-loader.ts ***! \***************************************/ /*!***************************************!*\ !*** ./src/loader/playlist-loader.ts ***! \***************************************/ /*!***************************************!*\ !*** ./src/streaming/vo/DataChunk.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/streaming/vo/Thumbnail.js ***! \***************************************/ /*!***************************************!*\ !*** ./src/utils/mediakeys-helper.ts ***! \***************************************/ /*!****************************************!*\ !*** ./src/controller/level-helper.ts ***! \****************************************/ /*!****************************************!*\ !*** ./src/demux/transmuxer-worker.ts ***! \****************************************/ /*!****************************************!*\ !*** ./src/streaming/net/URLLoader.js ***! \****************************************/ /*!****************************************!*\ !*** ./src/streaming/net/XHRLoader.js ***! \****************************************/ /*!****************************************!*\ !*** ./src/streaming/utils/IsoFile.js ***! \****************************************/ /*!****************************************!*\ !*** ./src/utils/imsc1-ttml-parser.ts ***! \****************************************/ /*!*****************************************!*\ !*** ./node_modules/base64-js/index.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./node_modules/process/browser.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/dash/parser/maps/MapNode.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/dash/utils/SegmentsUtils.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/demux/base-audio-demuxer.ts ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/FragmentLoader.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/ManifestLoader.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/net/HTTPLoader.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/utils/URLUtils.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/vo/BitrateInfo.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/vo/DashJSError.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/vo/HeadRequest.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/vo/MetricsList.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/streaming/vo/TextRequest.js ***! \*****************************************/ /*!*****************************************!*\ !*** ./src/utils/mediasource-helper.ts ***! \*****************************************/ /*!******************************************!*\ !*** ./node_modules/es6-promise/auto.js ***! \******************************************/ /*!******************************************!*\ !*** ./src/controller/abr-controller.ts ***! \******************************************/ /*!******************************************!*\ !*** ./src/controller/eme-controller.ts ***! \******************************************/ /*!******************************************!*\ !*** ./src/controller/fps-controller.ts ***! \******************************************/ /*!******************************************!*\ !*** ./src/controller/gap-controller.ts ***! \******************************************/ /*!******************************************!*\ !*** ./src/demux/dummy-demuxed-track.ts ***! \******************************************/ /*!******************************************!*\ !*** ./src/remux/passthrough-remuxer.ts ***! \******************************************/ /*!******************************************!*\ !*** ./src/streaming/ManifestUpdater.js ***! \******************************************/ /*!******************************************!*\ !*** ./src/streaming/StreamProcessor.js ***! \******************************************/ /*!******************************************!*\ !*** ./src/streaming/net/FetchLoader.js ***! \******************************************/ /*!******************************************!*\ !*** ./src/streaming/text/TextTracks.js ***! \******************************************/ /*!******************************************!*\ !*** ./src/streaming/utils/BoxParser.js ***! \******************************************/ /*!******************************************!*\ !*** ./src/streaming/utils/InitCache.js ***! \******************************************/ /*!******************************************!*\ !*** ./src/streaming/utils/VTTParser.js ***! \******************************************/ /*!*******************************************!*\ !*** ./node_modules/safe-buffer/index.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/controller/cmcd-controller.ts ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/dash/WebmSegmentBaseLoader.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/dash/vo/RepresentationInfo.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/demux/transmuxer-interface.ts ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/streaming/SourceBufferSink.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/streaming/metrics/vo/Range.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/streaming/models/CmcdModel.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/streaming/utils/DOMStorage.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/streaming/utils/EBMLParser.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/streaming/utils/TTMLParser.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/streaming/vo/TextTrackInfo.js ***! \*******************************************/ /*!*******************************************!*\ !*** ./src/utils/timescale-conversion.ts ***! \*******************************************/ /*!********************************************!*\ !*** ./src/controller/fragment-finders.ts ***! \********************************************/ /*!********************************************!*\ !*** ./src/controller/fragment-tracker.ts ***! \********************************************/ /*!********************************************!*\ !*** ./src/controller/level-controller.ts ***! \********************************************/ /*!********************************************!*\ !*** ./src/streaming/MediaPlayerEvents.js ***! \********************************************/ /*!********************************************!*\ !*** ./src/streaming/metrics/utils/RNG.js ***! \********************************************/ /*!********************************************!*\ !*** ./src/streaming/models/VideoModel.js ***! \********************************************/ /*!********************************************!*\ !*** ./src/streaming/rules/abr/L2ARule.js ***! \********************************************/ /*!********************************************!*\ !*** ./src/streaming/utils/ObjectUtils.js ***! \********************************************/ /*!*********************************************!*\ !*** ./node_modules/eventemitter3/index.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/controller/buffer-controller.ts ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/controller/stream-controller.ts ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/dash/constants/DashConstants.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/dash/utils/SegmentBaseGetter.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/dash/utils/TimelineConverter.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/MediaPlayerFactory.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/metrics/vo/Metrics.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/rules/RulesContext.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/rules/abr/BolaRule.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/utils/Capabilities.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/utils/ErrorHandler.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/vo/FragmentRequest.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/vo/URIFragmentData.js ***! \*********************************************/ /*!*********************************************!*\ !*** ./src/streaming/vo/metrics/DVRInfo.js ***! \*********************************************/ /*!**********************************************!*\ !*** ./node_modules/imsc/src/main/js/doc.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./node_modules/imsc/src/main/js/isd.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/controller/latency-controller.ts ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/dash/models/DashManifestModel.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/dash/utils/ListSegmentsGetter.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/streaming/constants/Constants.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/streaming/models/MetricsModel.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/streaming/rules/SwitchRequest.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/streaming/text/TextController.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/streaming/vo/IsoBoxSearchInfo.js ***! \**********************************************/ /*!**********************************************!*\ !*** ./src/streaming/vo/metrics/PlayList.js ***! \**********************************************/ /*!***********************************************!*\ !*** ./node_modules/core-util-is/lib/util.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./node_modules/fast-deep-equal/index.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./node_modules/imsc/src/main/js/html.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./node_modules/imsc/src/main/js/main.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./node_modules/path-browserify/index.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./src/controller/timeline-controller.ts ***! \***********************************************/ /*!***********************************************!*\ !*** ./src/dash/models/PatchManifestModel.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./src/streaming/metrics/vo/DVBErrors.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./src/streaming/metrics/vo/Reporting.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./src/streaming/models/FragmentModel.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./src/streaming/models/ManifestModel.js ***! \***********************************************/ /*!***********************************************!*\ !*** ./src/utils/ewma-bandwidth-estimator.ts ***! \***********************************************/ /*!************************************************!*\ !*** ./node_modules/imsc/src/main/js/names.js ***! \************************************************/ /*!************************************************!*\ !*** ./node_modules/imsc/src/main/js/utils.js ***! \************************************************/ /*!************************************************!*\ !*** ./node_modules/util-deprecate/browser.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/controller/cap-level-controller.ts ***! \************************************************/ /*!************************************************!*\ !*** ./src/controller/id3-track-controller.ts ***! \************************************************/ /*!************************************************!*\ !*** ./src/dash/parser/maps/CommonProperty.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/protection/Protection.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/protection/vo/KeyPair.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/protection/vo/NeedKey.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/text/TextSourceBuffer.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/utils/BaseURLSelector.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/utils/DefaultURLUtils.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/utils/RequestModifier.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/utils/SupervisorTools.js ***! \************************************************/ /*!************************************************!*\ !*** ./src/streaming/vo/ThumbnailTrackInfo.js ***! \************************************************/ /*!*************************************************!*\ !*** ./node_modules/imsc/src/main/js/styles.js ***! \*************************************************/ /*!*************************************************!*\ !*** ./node_modules/stream-browserify/index.js ***! \*************************************************/ /*!*************************************************!*\ !*** ./src/dash/parser/matchers/BaseMatcher.js ***! \*************************************************/ /*!*************************************************!*\ !*** ./src/streaming/rules/abr/lolp/QoeInfo.js ***! \*************************************************/ /*!*************************************************!*\ !*** ./src/streaming/utils/CustomTimeRanges.js ***! \*************************************************/ /*!*************************************************!*\ !*** ./src/streaming/vo/metrics/BufferLevel.js ***! \*************************************************/ /*!*************************************************!*\ !*** ./src/streaming/vo/metrics/BufferState.js ***! \*************************************************/ /*!*************************************************!*\ !*** ./src