diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 8465614643..971a5d549c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -15,12 +15,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.32", - "_release": "1.4.32", + "version": "1.4.33", + "_release": "1.4.33", "_resolution": { "type": "version", - "tag": "1.4.32", - "commit": "426134a6a3e7ac58f429862eb998e0f20c23e38f" + "tag": "1.4.33", + "commit": "e78684c1db2e30856c4a16ac24a49d4aae625e56" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.0", diff --git a/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css b/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css index 81b18ced66..6abb9dd1fe 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css +++ b/dashboard-ui/bower_components/emby-webcomponents/alphapicker/style.css @@ -26,7 +26,7 @@ button.alphaPickerButton { } .vertical .alphaPickerButton { - padding: .25em .3em !important; + padding: .25em .4em !important; } .layout-desktop .alphaPickerButton { diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css index 5043244ec3..9a931f6d81 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css +++ b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css @@ -123,6 +123,10 @@ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + [is=paper-icon-button-light][disabled] { + opacity: .3; + } + .layout-tv [is=paper-icon-button-light] { width: 4vh; height: 4vh; diff --git a/dashboard-ui/bower_components/hls.js/.bower.json b/dashboard-ui/bower_components/hls.js/.bower.json index 4a0891c00c..59053b961a 100644 --- a/dashboard-ui/bower_components/hls.js/.bower.json +++ b/dashboard-ui/bower_components/hls.js/.bower.json @@ -1,6 +1,6 @@ { "name": "hls.js", - "version": "0.5.34", + "version": "0.5.35", "license": "Apache-2.0", "description": "Media Source Extension - HLS library, by/for Dailymotion", "homepage": "https://github.com/dailymotion/hls.js", @@ -16,11 +16,11 @@ "test", "tests" ], - "_release": "0.5.34", + "_release": "0.5.35", "_resolution": { "type": "version", - "tag": "v0.5.34", - "commit": "fe719c8631da6014babef8c5914f59b1620769a6" + "tag": "v0.5.35", + "commit": "ae83fd3b6f87c2b62dd4ca7419589cefbfafc394" }, "_source": "git://github.com/dailymotion/hls.js.git", "_target": "~0.5.7", diff --git a/dashboard-ui/bower_components/hls.js/bower.json b/dashboard-ui/bower_components/hls.js/bower.json index 67145c946b..39e797b701 100644 --- a/dashboard-ui/bower_components/hls.js/bower.json +++ b/dashboard-ui/bower_components/hls.js/bower.json @@ -1,6 +1,6 @@ { "name": "hls.js", - "version": "0.5.34", + "version": "0.5.35", "license": "Apache-2.0", "description": "Media Source Extension - HLS library, by/for Dailymotion", "homepage": "https://github.com/dailymotion/hls.js", diff --git a/dashboard-ui/bower_components/hls.js/dist/hls.js b/dashboard-ui/bower_components/hls.js/dist/hls.js index a4533e219f..c4178e8c4b 100644 --- a/dashboard-ui/bower_components/hls.js/dist/hls.js +++ b/dashboard-ui/bower_components/hls.js/dist/hls.js @@ -4917,7 +4917,7 @@ var TSDemuxer = function () { pes.data = null; var debugString = ''; - var pushAccesUnit = function pushAccesUnit() { + var pushAccesUnit = function () { if (units2.length) { // only push AVC sample if keyframe already found in this fragment OR // keyframe found in last fragment (track.sps) AND @@ -4931,7 +4931,7 @@ var TSDemuxer = function () { units2 = []; length = 0; } - }; + }.bind(this); units.forEach(function (unit) { switch (unit.type) { diff --git a/dashboard-ui/bower_components/hls.js/dist/hls.js.map b/dashboard-ui/bower_components/hls.js/dist/hls.js.map index 2b99a1c664..8f93f5ddb2 100644 --- a/dashboard-ui/bower_components/hls.js/dist/hls.js.map +++ b/dashboard-ui/bower_components/hls.js/dist/hls.js.map @@ -44,7 +44,7 @@ "src/utils/xhr-loader.js" ], "names": [], - "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC3DA;;;;AACA;;;;AACA;;;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;IAEM,a;;;AAEJ,yBAAY,GAAZ,EAAiB;AAAA;;AAAA,iGACT,GADS,EACJ,iBAAM,YADF,EAEJ,iBAAM,WAFF,EAGJ,iBAAM,KAHF;;AAIf,UAAK,mBAAL,GAA2B,CAA3B;AACA,UAAK,iBAAL,GAAyB,CAAC,CAA1B;AACA,UAAK,cAAL,GAAsB,CAAC,CAAvB;AACA,UAAK,GAAL,GAAW,GAAX;AACA,UAAK,WAAL,GAAmB,qCAA2B,GAA3B,CAAnB;AACA,UAAK,OAAL,GAAe,MAAK,iBAAL,CAAuB,IAAvB,OAAf;AATe;AAUhB;;;;8BAES;AACR,WAAK,UAAL;AACA,6BAAa,SAAb,CAAuB,OAAvB,CAA+B,IAA/B,CAAoC,IAApC;AACD;;;kCAEa,I,EAAM;AAClB,UAAI,CAAC,KAAK,KAAV,EAAiB;AACf,aAAK,KAAL,GAAa,YAAY,KAAK,OAAjB,EAA0B,GAA1B,CAAb;AA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", + "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC3DA;;;;AACA;;;;AACA;;;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;IAEM,a;;;AAEJ,yBAAY,GAAZ,EAAiB;AAAA;;AAAA,iGACT,GADS,EACJ,iBAAM,YADF,EAEJ,iBAAM,WAFF,EAGJ,iBAAM,KAHF;;AAIf,UAAK,mBAAL,GAA2B,CAA3B;AACA,UAAK,iBAAL,GAAyB,CAAC,CAA1B;AACA,UAAK,cAAL,GAAsB,CAAC,CAAvB;AACA,UAAK,GAAL,GAAW,GAAX;AACA,UAAK,WAAL,GAAmB,qCAA2B,GAA3B,CAAnB;AACA,UAAK,OAAL,GAAe,MAAK,iBAAL,CAAuB,IAAvB,OAAf;AATe;AAUhB;;;;8BAES;AACR,WAAK,UAAL;AACA,6BAAa,SAAb,CAAuB,OAAvB,CAA+B,IAA/B,CAAoC,IAApC;AACD;;;kCAEa,I,EAAM;AAClB,UAAI,CAAC,KAAK,KAAV,EAAiB;AACf,aAAK,KAAL,GAAa,YAAY,KAAK,OAAjB,EAA0B,GAA1B,CAAb;AA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", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ @@ -68,7 +68,7 @@ "import Event from '../events';\nimport DemuxerInline from '../demux/demuxer-inline';\nimport DemuxerWorker from '../demux/demuxer-worker';\nimport {logger} from '../utils/logger';\nimport Decrypter from '../crypt/decrypter';\n\nclass Demuxer {\n\n constructor(hls) {\n this.hls = hls;\n var typeSupported = {\n mp4 : MediaSource.isTypeSupported('video/mp4'),\n mp2t : hls.config.enableMP2TPassThrough && MediaSource.isTypeSupported('video/mp2t')\n };\n if (hls.config.enableWorker && (typeof(Worker) !== 'undefined')) {\n logger.log('demuxing in webworker');\n try {\n var work = require('webworkify');\n this.w = work(DemuxerWorker);\n this.onwmsg = this.onWorkerMessage.bind(this);\n this.w.addEventListener('message', this.onwmsg);\n this.w.postMessage({cmd: 'init', typeSupported : typeSupported});\n } catch(err) {\n logger.error('error while initializing DemuxerWorker, fallback on DemuxerInline');\n this.demuxer = new DemuxerInline(hls,typeSupported);\n }\n } else {\n this.demuxer = new DemuxerInline(hls,typeSupported);\n }\n this.demuxInitialized = true;\n }\n\n destroy() {\n if (this.w) {\n this.w.removeEventListener('message', this.onwmsg);\n this.w.terminate();\n this.w = null;\n } else {\n this.demuxer.destroy();\n this.demuxer = null;\n }\n if (this.decrypter) {\n this.decrypter.destroy();\n this.decrypter = null;\n }\n }\n\n pushDecrypted(data, audioCodec, videoCodec, timeOffset, cc, level, sn, duration) {\n if (this.w) {\n // post fragment payload as transferable objects (no copy)\n this.w.postMessage({cmd: 'demux', data: data, audioCodec: audioCodec, videoCodec: videoCodec, timeOffset: timeOffset, cc: cc, level: level, sn : sn, duration: duration}, [data]);\n } else {\n this.demuxer.push(new Uint8Array(data), audioCodec, videoCodec, timeOffset, cc, level, sn, duration);\n }\n }\n\n push(data, audioCodec, videoCodec, timeOffset, cc, level, sn, duration, decryptdata) {\n if ((data.byteLength > 0) && (decryptdata != null) && (decryptdata.key != null) && (decryptdata.method === 'AES-128')) {\n if (this.decrypter == null) {\n this.decrypter = new Decrypter(this.hls);\n }\n\n var localthis = this;\n this.decrypter.decrypt(data, decryptdata.key, decryptdata.iv, function(decryptedData){\n localthis.pushDecrypted(decryptedData, audioCodec, videoCodec, timeOffset, cc, level, sn, duration);\n });\n } else {\n this.pushDecrypted(data, audioCodec, videoCodec, timeOffset, cc, level, sn, duration);\n }\n }\n\n onWorkerMessage(ev) {\n var data = ev.data;\n //console.log('onWorkerMessage:' + data.event);\n switch(data.event) {\n case Event.FRAG_PARSING_INIT_SEGMENT:\n var obj = {};\n obj.tracks = data.tracks;\n obj.unique = data.unique;\n this.hls.trigger(Event.FRAG_PARSING_INIT_SEGMENT, obj);\n break;\n case Event.FRAG_PARSING_DATA:\n this.hls.trigger(Event.FRAG_PARSING_DATA,{\n data1: new Uint8Array(data.data1),\n data2: new Uint8Array(data.data2),\n startPTS: data.startPTS,\n endPTS: data.endPTS,\n startDTS: data.startDTS,\n endDTS: data.endDTS,\n type: data.type,\n nb: data.nb\n });\n break;\n case Event.FRAG_PARSING_METADATA:\n this.hls.trigger(Event.FRAG_PARSING_METADATA, {\n samples: data.samples\n });\n break;\n case Event.FRAG_PARSING_USERDATA:\n this.hls.trigger(Event.FRAG_PARSING_USERDATA, {\n samples: data.samples\n });\n break;\n default:\n this.hls.trigger(data.event, data.data);\n break;\n }\n }\n}\n\nexport default Demuxer;\n\n", "/**\n * Parser for exponential Golomb codes, a variable-bitwidth number encoding scheme used by h264.\n*/\n\nimport {logger} from '../utils/logger';\n\nclass ExpGolomb {\n\n constructor(data) {\n this.data = data;\n // the number of bytes left to examine in this.data\n this.bytesAvailable = this.data.byteLength;\n // the current word being examined\n this.word = 0; // :uint\n // the number of bits left to examine in the current word\n this.bitsAvailable = 0; // :uint\n }\n\n // ():void\n loadWord() {\n var\n position = this.data.byteLength - this.bytesAvailable,\n workingBytes = new Uint8Array(4),\n availableBytes = Math.min(4, this.bytesAvailable);\n if (availableBytes === 0) {\n throw new Error('no bytes available');\n }\n workingBytes.set(this.data.subarray(position, position + availableBytes));\n this.word = new DataView(workingBytes.buffer).getUint32(0);\n // track the amount of this.data that has been processed\n this.bitsAvailable = availableBytes * 8;\n this.bytesAvailable -= availableBytes;\n }\n\n // (count:int):void\n skipBits(count) {\n var skipBytes; // :int\n if (this.bitsAvailable > count) {\n this.word <<= count;\n this.bitsAvailable -= count;\n } else {\n count -= this.bitsAvailable;\n skipBytes = count >> 3;\n count -= (skipBytes >> 3);\n this.bytesAvailable -= skipBytes;\n this.loadWord();\n this.word <<= count;\n this.bitsAvailable -= count;\n }\n }\n\n // (size:int):uint\n readBits(size) {\n var\n bits = Math.min(this.bitsAvailable, size), // :uint\n valu = this.word >>> (32 - bits); // :uint\n if (size > 32) {\n logger.error('Cannot read more than 32 bits at a time');\n }\n this.bitsAvailable -= bits;\n if (this.bitsAvailable > 0) {\n this.word <<= bits;\n } else if (this.bytesAvailable > 0) {\n this.loadWord();\n }\n bits = size - bits;\n if (bits > 0) {\n return valu << bits | this.readBits(bits);\n } else {\n return valu;\n }\n }\n\n // ():uint\n skipLZ() {\n var leadingZeroCount; // :uint\n for (leadingZeroCount = 0; leadingZeroCount < this.bitsAvailable; ++leadingZeroCount) {\n if (0 !== (this.word & (0x80000000 >>> leadingZeroCount))) {\n // the first bit of working word is 1\n this.word <<= leadingZeroCount;\n this.bitsAvailable -= leadingZeroCount;\n return leadingZeroCount;\n }\n }\n // we exhausted word and still have not found a 1\n this.loadWord();\n return leadingZeroCount + this.skipLZ();\n }\n\n // ():void\n skipUEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():void\n skipEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():uint\n readUEG() {\n var clz = this.skipLZ(); // :uint\n return this.readBits(clz + 1) - 1;\n }\n\n // ():int\n readEG() {\n var valu = this.readUEG(); // :int\n if (0x01 & valu) {\n // the number is odd if the low order bit is set\n return (1 + valu) >>> 1; // add 1 to make it even, and divide by 2\n } else {\n return -1 * (valu >>> 1); // divide by two then make it negative\n }\n }\n\n // Some convenience functions\n // :Boolean\n readBoolean() {\n return 1 === this.readBits(1);\n }\n\n // ():int\n readUByte() {\n return this.readBits(8);\n }\n\n // ():int\n readUShort() {\n return this.readBits(16);\n }\n // ():int\n readUInt() {\n return this.readBits(32);\n }\n\n /**\n * Advance the ExpGolomb decoder past a scaling list. The scaling\n * list is optionally transmitted as part of a sequence parameter\n * set and is not relevant to transmuxing.\n * @param count {number} the number of entries in this scaling list\n * @see Recommendation ITU-T H.264, Section 7.3.2.1.1.1\n */\n skipScalingList(count) {\n var\n lastScale = 8,\n nextScale = 8,\n j,\n deltaScale;\n for (j = 0; j < count; j++) {\n if (nextScale !== 0) {\n deltaScale = this.readEG();\n nextScale = (lastScale + deltaScale + 256) % 256;\n }\n lastScale = (nextScale === 0) ? lastScale : nextScale;\n }\n }\n\n /**\n * Read a sequence parameter set and return some interesting video\n * properties. A sequence parameter set is the H264 metadata that\n * describes the properties of upcoming video frames.\n * @param data {Uint8Array} the bytes of a sequence parameter set\n * @return {object} an object with configuration parsed from the\n * sequence parameter set, including the dimensions of the\n * associated video frames.\n */\n readSPS() {\n var\n frameCropLeftOffset = 0,\n frameCropRightOffset = 0,\n frameCropTopOffset = 0,\n frameCropBottomOffset = 0,\n sarScale = 1,\n profileIdc,profileCompat,levelIdc,\n numRefFramesInPicOrderCntCycle, picWidthInMbsMinus1,\n picHeightInMapUnitsMinus1,\n frameMbsOnlyFlag,\n scalingListCount,\n i;\n this.readUByte();\n profileIdc = this.readUByte(); // profile_idc\n profileCompat = this.readBits(5); // constraint_set[0-4]_flag, u(5)\n this.skipBits(3); // reserved_zero_3bits u(3),\n levelIdc = this.readUByte(); //level_idc u(8)\n this.skipUEG(); // seq_parameter_set_id\n // some profiles have more optional data we don't need\n if (profileIdc === 100 ||\n profileIdc === 110 ||\n profileIdc === 122 ||\n profileIdc === 244 ||\n profileIdc === 44 ||\n profileIdc === 83 ||\n profileIdc === 86 ||\n profileIdc === 118 ||\n profileIdc === 128) {\n var chromaFormatIdc = this.readUEG();\n if (chromaFormatIdc === 3) {\n this.skipBits(1); // separate_colour_plane_flag\n }\n this.skipUEG(); // bit_depth_luma_minus8\n this.skipUEG(); // bit_depth_chroma_minus8\n this.skipBits(1); // qpprime_y_zero_transform_bypass_flag\n if (this.readBoolean()) { // seq_scaling_matrix_present_flag\n scalingListCount = (chromaFormatIdc !== 3) ? 8 : 12;\n for (i = 0; i < scalingListCount; i++) {\n if (this.readBoolean()) { // seq_scaling_list_present_flag[ i ]\n if (i < 6) {\n this.skipScalingList(16);\n } else {\n this.skipScalingList(64);\n }\n }\n }\n }\n }\n this.skipUEG(); // log2_max_frame_num_minus4\n var picOrderCntType = this.readUEG();\n if (picOrderCntType === 0) {\n this.readUEG(); //log2_max_pic_order_cnt_lsb_minus4\n } else if (picOrderCntType === 1) {\n this.skipBits(1); // delta_pic_order_always_zero_flag\n this.skipEG(); // offset_for_non_ref_pic\n this.skipEG(); // offset_for_top_to_bottom_field\n numRefFramesInPicOrderCntCycle = this.readUEG();\n for(i = 0; i < numRefFramesInPicOrderCntCycle; i++) {\n this.skipEG(); // offset_for_ref_frame[ i ]\n }\n }\n this.skipUEG(); // max_num_ref_frames\n this.skipBits(1); // gaps_in_frame_num_value_allowed_flag\n picWidthInMbsMinus1 = this.readUEG();\n picHeightInMapUnitsMinus1 = this.readUEG();\n frameMbsOnlyFlag = this.readBits(1);\n if (frameMbsOnlyFlag === 0) {\n this.skipBits(1); // mb_adaptive_frame_field_flag\n }\n this.skipBits(1); // direct_8x8_inference_flag\n if (this.readBoolean()) { // frame_cropping_flag\n frameCropLeftOffset = this.readUEG();\n frameCropRightOffset = this.readUEG();\n frameCropTopOffset = this.readUEG();\n frameCropBottomOffset = this.readUEG();\n }\n if (this.readBoolean()) {\n // vui_parameters_present_flag\n if (this.readBoolean()) {\n // aspect_ratio_info_present_flag\n let sarRatio;\n const aspectRatioIdc = this.readUByte();\n switch (aspectRatioIdc) {\n case 1: sarRatio = [1,1]; break;\n case 2: sarRatio = [12,11]; break;\n case 3: sarRatio = [10,11]; break;\n case 4: sarRatio = [16,11]; break;\n case 5: sarRatio = [40,33]; break;\n case 6: sarRatio = [24,11]; break;\n case 7: sarRatio = [20,11]; break;\n case 8: sarRatio = [32,11]; break;\n case 9: sarRatio = [80,33]; break;\n case 10: sarRatio = [18,11]; break;\n case 11: sarRatio = [15,11]; break;\n case 12: sarRatio = [64,33]; break;\n case 13: sarRatio = [160,99]; break;\n case 14: sarRatio = [4,3]; break;\n case 15: sarRatio = [3,2]; break;\n case 16: sarRatio = [2,1]; break;\n case 255: {\n sarRatio = [this.readUByte() << 8 | this.readUByte(), this.readUByte() << 8 | this.readUByte()];\n break;\n }\n }\n if (sarRatio) {\n sarScale = sarRatio[0] / sarRatio[1];\n }\n }\n }\n return {\n width: Math.ceil((((picWidthInMbsMinus1 + 1) * 16) - frameCropLeftOffset * 2 - frameCropRightOffset * 2) * sarScale),\n height: ((2 - frameMbsOnlyFlag) * (picHeightInMapUnitsMinus1 + 1) * 16) - ((frameMbsOnlyFlag? 2 : 4) * (frameCropTopOffset + frameCropBottomOffset))\n };\n }\n\n readSliceType() {\n // skip NALu type\n this.readUByte();\n // discard first_mb_in_slice\n this.readUEG();\n // return slice_type\n return this.readUEG();\n }\n}\n\nexport default ExpGolomb;\n", "/**\n * ID3 parser\n */\nimport {logger} from '../utils/logger';\n//import Hex from '../utils/hex';\n\n class ID3 {\n\n constructor(data) {\n this._hasTimeStamp = false;\n var offset = 0, byte1,byte2,byte3,byte4,tagSize,endPos,header,len;\n do {\n header = this.readUTF(data,offset,3);\n offset+=3;\n // first check for ID3 header\n if (header === 'ID3') {\n // skip 24 bits\n offset += 3;\n // retrieve tag(s) length\n byte1 = data[offset++] & 0x7f;\n byte2 = data[offset++] & 0x7f;\n byte3 = data[offset++] & 0x7f;\n byte4 = data[offset++] & 0x7f;\n tagSize = (byte1 << 21) + (byte2 << 14) + (byte3 << 7) + byte4;\n endPos = offset + tagSize;\n //logger.log(`ID3 tag found, size/end: ${tagSize}/${endPos}`);\n\n // read ID3 tags\n this._parseID3Frames(data, offset,endPos);\n offset = endPos;\n } else if (header === '3DI') {\n // http://id3.org/id3v2.4.0-structure chapter 3.4. ID3v2 footer\n offset += 7;\n logger.log(`3DI footer found, end: ${offset}`);\n } else {\n offset -= 3;\n len = offset;\n if (len) {\n //logger.log(`ID3 len: ${len}`);\n if (!this.hasTimeStamp) {\n logger.warn('ID3 tag found, but no timestamp');\n }\n this._length = len;\n this._payload = data.subarray(0,len);\n }\n return;\n }\n } while (true);\n }\n\n readUTF(data,start,len) {\n\n var result = '',offset = start, end = start + len;\n do {\n result += String.fromCharCode(data[offset++]);\n } while(offset < end);\n return result;\n }\n\n _parseID3Frames(data,offset,endPos) {\n var tagId,tagLen,tagStart,tagFlags,timestamp;\n while(offset + 8 <= endPos) {\n tagId = this.readUTF(data,offset,4);\n offset +=4;\n\n tagLen = data[offset++] << 24 +\n data[offset++] << 16 +\n data[offset++] << 8 +\n data[offset++];\n\n tagFlags = data[offset++] << 8 +\n data[offset++];\n\n tagStart = offset;\n //logger.log(\"ID3 tag id:\" + tagId);\n switch(tagId) {\n case 'PRIV':\n //logger.log('parse frame:' + Hex.hexDump(data.subarray(offset,endPos)));\n // owner should be \"com.apple.streaming.transportStreamTimestamp\"\n if (this.readUTF(data,offset,44) === 'com.apple.streaming.transportStreamTimestamp') {\n offset+=44;\n // smelling even better ! we found the right descriptor\n // skip null character (string end) + 3 first bytes\n offset+= 4;\n\n // timestamp is 33 bit expressed as a big-endian eight-octet number, with the upper 31 bits set to zero.\n var pts33Bit = data[offset++] & 0x1;\n this._hasTimeStamp = true;\n\n timestamp = ((data[offset++] << 23) +\n (data[offset++] << 15) +\n (data[offset++] << 7) +\n data[offset++]) /45;\n\n if (pts33Bit) {\n timestamp += 47721858.84; // 2^32 / 90\n }\n timestamp = Math.round(timestamp);\n logger.trace(`ID3 timestamp found: ${timestamp}`);\n this._timeStamp = timestamp;\n }\n break;\n default:\n break;\n }\n }\n }\n\n get hasTimeStamp() {\n return this._hasTimeStamp;\n }\n\n get timeStamp() {\n return this._timeStamp;\n }\n\n get length() {\n return this._length;\n }\n\n get payload() {\n return this._payload;\n }\n\n}\n\nexport default ID3;\n\n", - "/**\n * highly optimized TS demuxer:\n * parse PAT, PMT\n * extract PES packet from audio and video PIDs\n * extract AVC/H264 NAL units and AAC/ADTS samples from PES packet\n * trigger the remuxer upon parsing completion\n * it also tries to workaround as best as it can audio codec switch (HE-AAC to AAC and vice versa), without having to restart the MediaSource.\n * it also controls the remuxing process :\n * upon discontinuity or level switch detection, it will also notifies the remuxer so that it can reset its state.\n*/\n\n import ADTS from './adts';\n import Event from '../events';\n import ExpGolomb from './exp-golomb';\n// import Hex from '../utils/hex';\n import {logger} from '../utils/logger';\n import {ErrorTypes, ErrorDetails} from '../errors';\n\n class TSDemuxer {\n\n constructor(observer,remuxerClass) {\n this.observer = observer;\n this.remuxerClass = remuxerClass;\n this.lastCC = 0;\n this.remuxer = new this.remuxerClass(observer);\n }\n\n static probe(data) {\n // a TS fragment should contain at least 3 TS packets, a PAT, a PMT, and one PID, each starting with 0x47\n if (data.length >= 3*188 && data[0] === 0x47 && data[188] === 0x47 && data[2*188] === 0x47) {\n return true;\n } else {\n return false;\n }\n }\n\n switchLevel() {\n this.pmtParsed = false;\n this._pmtId = -1;\n this._avcTrack = {container : 'video/mp2t', type: 'video', id :-1, sequenceNumber: 0, samples : [], len : 0, nbNalu : 0};\n this._aacTrack = {container : 'video/mp2t', type: 'audio', id :-1, sequenceNumber: 0, samples : [], len : 0};\n this._id3Track = {type: 'id3', id :-1, sequenceNumber: 0, samples : [], len : 0};\n this._txtTrack = {type: 'text', id: -1, sequenceNumber: 0, samples: [], len: 0};\n // flush any partial content\n this.aacOverFlow = null;\n this.aacLastPTS = null;\n this.avcNaluState = 0;\n this.remuxer.switchLevel();\n }\n\n insertDiscontinuity() {\n this.switchLevel();\n this.remuxer.insertDiscontinuity();\n }\n\n // feed incoming data to the front of the parsing pipeline\n push(data, audioCodec, videoCodec, timeOffset, cc, level, sn, duration) {\n var avcData, aacData, id3Data,\n start, len = data.length, stt, pid, atf, offset,\n codecsOnly = this.remuxer.passthrough,\n unknownPIDs = false;\n\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.timeOffset = timeOffset;\n this._duration = duration;\n this.contiguous = false;\n if (cc !== this.lastCC) {\n logger.log('discontinuity detected');\n this.insertDiscontinuity();\n this.lastCC = cc;\n }\n if (level !== this.lastLevel) {\n logger.log('level switch detected');\n this.switchLevel();\n this.lastLevel = level;\n } else if (sn === (this.lastSN+1)) {\n this.contiguous = true;\n }\n this.lastSN = sn;\n\n var pmtParsed = this.pmtParsed,\n avcId = this._avcTrack.id,\n aacId = this._aacTrack.id,\n id3Id = this._id3Track.id;\n\n // don't parse last TS packet if incomplete\n len -= len % 188;\n // loop through TS packets\n for (start = 0; start < len; start += 188) {\n if (data[start] === 0x47) {\n stt = !!(data[start + 1] & 0x40);\n // pid is a 13-bit field starting at the last bit of TS[1]\n pid = ((data[start + 1] & 0x1f) << 8) + data[start + 2];\n atf = (data[start + 3] & 0x30) >> 4;\n // if an adaption field is present, its length is specified by the fifth byte of the TS packet header.\n if (atf > 1) {\n offset = start + 5 + data[start + 4];\n // continue if there is only adaptation field\n if (offset === (start + 188)) {\n continue;\n }\n } else {\n offset = start + 4;\n }\n if (pmtParsed) {\n if (pid === avcId) {\n if (stt) {\n if (avcData) {\n this._parseAVCPES(this._parsePES(avcData));\n if (codecsOnly) {\n // if we have video codec info AND\n // if audio PID is undefined OR if we have audio codec info,\n // we have all codec info !\n if (this._avcTrack.codec && (aacId === -1 || this._aacTrack.codec)) {\n this.remux(data);\n return;\n }\n }\n }\n avcData = {data: [], size: 0};\n }\n if (avcData) {\n avcData.data.push(data.subarray(offset, start + 188));\n avcData.size += start + 188 - offset;\n }\n } else if (pid === aacId) {\n if (stt) {\n if (aacData) {\n this._parseAACPES(this._parsePES(aacData));\n if (codecsOnly) {\n // here we now that we have audio codec info\n // if video PID is undefined OR if we have video codec info,\n // we have all codec infos !\n if (this._aacTrack.codec && (avcId === -1 || this._avcTrack.codec)) {\n this.remux(data);\n return;\n }\n }\n }\n aacData = {data: [], size: 0};\n }\n if (aacData) {\n aacData.data.push(data.subarray(offset, start + 188));\n aacData.size += start + 188 - offset;\n }\n } else if (pid === id3Id) {\n if (stt) {\n if (id3Data) {\n this._parseID3PES(this._parsePES(id3Data));\n }\n id3Data = {data: [], size: 0};\n }\n if (id3Data) {\n id3Data.data.push(data.subarray(offset, start + 188));\n id3Data.size += start + 188 - offset;\n }\n }\n } else {\n if (stt) {\n offset += data[offset] + 1;\n }\n if (pid === 0) {\n this._parsePAT(data, offset);\n } else if (pid === this._pmtId) {\n this._parsePMT(data, offset);\n pmtParsed = this.pmtParsed = true;\n avcId = this._avcTrack.id;\n aacId = this._aacTrack.id;\n id3Id = this._id3Track.id;\n if (unknownPIDs) {\n logger.log('reparse from beginning');\n unknownPIDs = false;\n // we set it to -188, the += 188 in the for loop will reset start to 0\n start = -188;\n }\n } else {\n logger.log('unknown PID found before PAT/PMT');\n unknownPIDs = true;\n }\n }\n } else {\n this.observer.trigger(Event.ERROR, {type : ErrorTypes.MEDIA_ERROR, details: ErrorDetails.FRAG_PARSING_ERROR, fatal: false, reason: 'TS packet did not start with 0x47'});\n }\n }\n // parse last PES packet\n if (avcData) {\n this._parseAVCPES(this._parsePES(avcData));\n }\n if (aacData) {\n this._parseAACPES(this._parsePES(aacData));\n }\n if (id3Data) {\n this._parseID3PES(this._parsePES(id3Data));\n }\n this.remux(null);\n }\n\n remux(data) {\n this.remuxer.remux(this._aacTrack, this._avcTrack, this._id3Track, this._txtTrack, this.timeOffset, this.contiguous, data);\n }\n\n destroy() {\n this.switchLevel();\n this._initPTS = this._initDTS = undefined;\n this._duration = 0;\n }\n\n _parsePAT(data, offset) {\n // skip the PSI header and parse the first PMT entry\n this._pmtId = (data[offset + 10] & 0x1F) << 8 | data[offset + 11];\n //logger.log('PMT PID:' + this._pmtId);\n }\n\n _parsePMT(data, offset) {\n var sectionLength, tableEnd, programInfoLength, pid;\n sectionLength = (data[offset + 1] & 0x0f) << 8 | data[offset + 2];\n tableEnd = offset + 3 + sectionLength - 4;\n // to determine where the table is, we have to figure out how\n // long the program info descriptors are\n programInfoLength = (data[offset + 10] & 0x0f) << 8 | data[offset + 11];\n // advance the offset to the first entry in the mapping table\n offset += 12 + programInfoLength;\n while (offset < tableEnd) {\n pid = (data[offset + 1] & 0x1F) << 8 | data[offset + 2];\n switch(data[offset]) {\n // ISO/IEC 13818-7 ADTS AAC (MPEG-2 lower bit-rate audio)\n case 0x0f:\n //logger.log('AAC PID:' + pid);\n this._aacTrack.id = pid;\n break;\n // Packetized metadata (ID3)\n case 0x15:\n //logger.log('ID3 PID:' + pid);\n this._id3Track.id = pid;\n break;\n // ITU-T Rec. H.264 and ISO/IEC 14496-10 (lower bit-rate video)\n case 0x1b:\n //logger.log('AVC PID:' + pid);\n this._avcTrack.id = pid;\n break;\n default:\n logger.log('unkown stream type:' + data[offset]);\n break;\n }\n // move to the next table entry\n // skip past the elementary stream descriptors, if present\n offset += ((data[offset + 3] & 0x0F) << 8 | data[offset + 4]) + 5;\n }\n }\n\n _parsePES(stream) {\n var i = 0, frag, pesFlags, pesPrefix, pesLen, pesHdrLen, pesData, pesPts, pesDts, payloadStartOffset, data = stream.data;\n //retrieve PTS/DTS from first fragment\n frag = data[0];\n pesPrefix = (frag[0] << 16) + (frag[1] << 8) + frag[2];\n if (pesPrefix === 1) {\n pesLen = (frag[4] << 8) + frag[5];\n pesFlags = frag[7];\n if (pesFlags & 0xC0) {\n /* PES header described here : http://dvd.sourceforge.net/dvdinfo/pes-hdr.html\n as PTS / DTS is 33 bit we cannot use bitwise operator in JS,\n as Bitwise operators treat their operands as a sequence of 32 bits */\n pesPts = (frag[9] & 0x0E) * 536870912 +// 1 << 29\n (frag[10] & 0xFF) * 4194304 +// 1 << 22\n (frag[11] & 0xFE) * 16384 +// 1 << 14\n (frag[12] & 0xFF) * 128 +// 1 << 7\n (frag[13] & 0xFE) / 2;\n // check if greater than 2^32 -1\n if (pesPts > 4294967295) {\n // decrement 2^33\n pesPts -= 8589934592;\n }\n if (pesFlags & 0x40) {\n pesDts = (frag[14] & 0x0E ) * 536870912 +// 1 << 29\n (frag[15] & 0xFF ) * 4194304 +// 1 << 22\n (frag[16] & 0xFE ) * 16384 +// 1 << 14\n (frag[17] & 0xFF ) * 128 +// 1 << 7\n (frag[18] & 0xFE ) / 2;\n // check if greater than 2^32 -1\n if (pesDts > 4294967295) {\n // decrement 2^33\n pesDts -= 8589934592;\n }\n } else {\n pesDts = pesPts;\n }\n }\n pesHdrLen = frag[8];\n payloadStartOffset = pesHdrLen + 9;\n\n stream.size -= payloadStartOffset;\n //reassemble PES packet\n pesData = new Uint8Array(stream.size);\n while (data.length) {\n frag = data.shift();\n var len = frag.byteLength;\n if (payloadStartOffset) {\n if (payloadStartOffset > len) {\n // trim full frag if PES header bigger than frag\n payloadStartOffset-=len;\n continue;\n } else {\n // trim partial frag if PES header smaller than frag\n frag = frag.subarray(payloadStartOffset);\n len-=payloadStartOffset;\n payloadStartOffset = 0;\n }\n }\n pesData.set(frag, i);\n i+=len;\n }\n return {data: pesData, pts: pesPts, dts: pesDts, len: pesLen};\n } else {\n return null;\n }\n }\n\n _parseAVCPES(pes) {\n var track = this._avcTrack,\n samples = track.samples,\n units = this._parseAVCNALu(pes.data),\n units2 = [],\n debug = false,\n key = false,\n length = 0,\n expGolombDecoder,\n avcSample,\n push,\n i;\n // no NALu found\n if (units.length === 0 && samples.length > 0) {\n // append pes.data to previous NAL unit\n var lastavcSample = samples[samples.length - 1];\n var lastUnit = lastavcSample.units.units[lastavcSample.units.units.length - 1];\n var tmp = new Uint8Array(lastUnit.data.byteLength + pes.data.byteLength);\n tmp.set(lastUnit.data, 0);\n tmp.set(pes.data, lastUnit.data.byteLength);\n lastUnit.data = tmp;\n lastavcSample.units.length += pes.data.byteLength;\n track.len += pes.data.byteLength;\n }\n //free pes.data to save up some memory\n pes.data = null;\n var debugString = '';\n\n var pushAccesUnit = function() {\n if (units2.length) {\n // only push AVC sample if keyframe already found in this fragment OR\n // keyframe found in last fragment (track.sps) AND\n // samples already appended (we already found a keyframe in this fragment) OR fragment is contiguous\n if (key === true ||\n (track.sps && (samples.length || this.contiguous))) {\n avcSample = {units: { units : units2, length : length}, pts: pes.pts, dts: pes.dts, key: key};\n samples.push(avcSample);\n track.len += length;\n track.nbNalu += units2.length;\n }\n units2 = [];\n length = 0;\n }\n };\n\n units.forEach(unit => {\n switch(unit.type) {\n //NDR\n case 1:\n push = true;\n if(debug) {\n debugString += 'NDR ';\n }\n break;\n //IDR\n case 5:\n push = true;\n if(debug) {\n debugString += 'IDR ';\n }\n key = true;\n break;\n //SEI\n case 6:\n push = true;\n if(debug) {\n debugString += 'SEI ';\n }\n expGolombDecoder = new ExpGolomb(unit.data);\n\n // skip frameType\n expGolombDecoder.readUByte();\n\n var payloadType = expGolombDecoder.readUByte();\n\n // TODO: there can be more than one payload in an SEI packet...\n // TODO: need to read type and size in a while loop to get them all\n if (payloadType === 4)\n {\n var payloadSize = 0;\n\n do {\n payloadSize = expGolombDecoder.readUByte();\n }\n while (payloadSize === 255);\n\n var countryCode = expGolombDecoder.readUByte();\n\n if (countryCode === 181)\n {\n var providerCode = expGolombDecoder.readUShort();\n\n if (providerCode === 49)\n {\n var userStructure = expGolombDecoder.readUInt();\n\n if (userStructure === 0x47413934)\n {\n var userDataType = expGolombDecoder.readUByte();\n\n // Raw CEA-608 bytes wrapped in CEA-708 packet\n if (userDataType === 3)\n {\n var firstByte = expGolombDecoder.readUByte();\n var secondByte = expGolombDecoder.readUByte();\n\n var totalCCs = 31 & firstByte;\n var byteArray = [firstByte, secondByte];\n\n for (i=0; i this is the first start code found in this PES packet\n // first check if start code delimiter is overlapping between 2 PES packets,\n // ie it started in last packet (lastState not zero)\n // and ended at the beginning of this PES packet (i <= 4 - lastState)\n let lastState = this.avcNaluState;\n if(lastState && (i <= 4 - lastState)) {\n // start delimiter overlapping between PES packets\n // strip start delimiter bytes from the end of last NAL unit\n let track = this._avcTrack,\n samples = track.samples;\n if (samples.length) {\n let lastavcSample = samples[samples.length - 1],\n lastUnits = lastavcSample.units.units,\n lastUnit = lastUnits[lastUnits.length - 1];\n // check if lastUnit had a state different from zero\n if (lastUnit.state) {\n // strip last bytes\n lastUnit.data = lastUnit.data.subarray(0,lastUnit.data.byteLength - lastState);\n lastavcSample.units.length -= lastState;\n track.len -= lastState;\n }\n }\n }\n // If NAL units are not starting right at the beginning of the PES packet, push preceding data into previous NAL unit.\n overflow = i - state - 1;\n if (overflow > 0) {\n let track = this._avcTrack,\n samples = track.samples;\n //logger.log('first NALU found with overflow:' + overflow);\n if (samples.length) {\n let lastavcSample = samples[samples.length - 1],\n lastUnits = lastavcSample.units.units,\n lastUnit = lastUnits[lastUnits.length - 1],\n tmp = new Uint8Array(lastUnit.data.byteLength + overflow);\n tmp.set(lastUnit.data, 0);\n tmp.set(array.subarray(0, overflow), lastUnit.data.byteLength);\n lastUnit.data = tmp;\n lastavcSample.units.length += overflow;\n track.len += overflow;\n }\n }\n }\n lastUnitStart = i;\n lastUnitType = unitType;\n state = 0;\n } else {\n state = 0;\n }\n break;\n default:\n break;\n }\n }\n if (lastUnitStart) {\n unit = {data: array.subarray(lastUnitStart, len), type: lastUnitType, state : state};\n units.push(unit);\n //logger.log('pushing NALU, type/size/state:' + unit.type + '/' + unit.data.byteLength + '/' + state);\n this.avcNaluState = state;\n }\n return units;\n }\n\n _parseAACPES(pes) {\n var track = this._aacTrack,\n data = pes.data,\n pts = pes.pts,\n startOffset = 0,\n duration = this._duration,\n audioCodec = this.audioCodec,\n aacOverFlow = this.aacOverFlow,\n aacLastPTS = this.aacLastPTS,\n config, frameLength, frameDuration, frameIndex, offset, headerLength, stamp, len, aacSample;\n if (aacOverFlow) {\n var tmp = new Uint8Array(aacOverFlow.byteLength + data.byteLength);\n tmp.set(aacOverFlow, 0);\n tmp.set(data, aacOverFlow.byteLength);\n //logger.log(`AAC: append overflowing ${aacOverFlow.byteLength} bytes to beginning of new PES`);\n data = tmp;\n }\n // look for ADTS header (0xFFFx)\n for (offset = startOffset, len = data.length; offset < len - 1; offset++) {\n if ((data[offset] === 0xff) && (data[offset+1] & 0xf0) === 0xf0) {\n break;\n }\n }\n // if ADTS header does not start straight from the beginning of the PES payload, raise an error\n if (offset) {\n var reason, fatal;\n if (offset < len - 1) {\n reason = `AAC PES did not start with ADTS header,offset:${offset}`;\n fatal = false;\n } else {\n reason = 'no ADTS header found in AAC PES';\n fatal = true;\n }\n this.observer.trigger(Event.ERROR, {type: ErrorTypes.MEDIA_ERROR, details: ErrorDetails.FRAG_PARSING_ERROR, fatal: fatal, reason: reason});\n if (fatal) {\n return;\n }\n }\n if (!track.audiosamplerate) {\n config = ADTS.getAudioConfig(this.observer,data, offset, audioCodec);\n track.config = config.config;\n track.audiosamplerate = config.samplerate;\n track.channelCount = config.channelCount;\n track.codec = config.codec;\n track.duration = duration;\n logger.log(`parsed codec:${track.codec},rate:${config.samplerate},nb channel:${config.channelCount}`);\n }\n frameIndex = 0;\n frameDuration = 1024 * 90000 / track.audiosamplerate;\n\n // if last AAC frame is overflowing, we should ensure timestamps are contiguous:\n // first sample PTS should be equal to last sample PTS + frameDuration\n if(aacOverFlow && aacLastPTS) {\n var newPTS = aacLastPTS+frameDuration;\n if(Math.abs(newPTS-pts) > 1) {\n logger.log(`AAC: align PTS for overlapping frames by ${Math.round((newPTS-pts)/90)}`);\n pts=newPTS;\n }\n }\n\n while ((offset + 5) < len) {\n // The protection skip bit tells us if we have 2 bytes of CRC data at the end of the ADTS header\n headerLength = (!!(data[offset + 1] & 0x01) ? 7 : 9);\n // retrieve frame size\n frameLength = ((data[offset + 3] & 0x03) << 11) |\n (data[offset + 4] << 3) |\n ((data[offset + 5] & 0xE0) >>> 5);\n frameLength -= headerLength;\n //stamp = pes.pts;\n\n if ((frameLength > 0) && ((offset + headerLength + frameLength) <= len)) {\n stamp = pts + frameIndex * frameDuration;\n //logger.log(`AAC frame, offset/length/total/pts:${offset+headerLength}/${frameLength}/${data.byteLength}/${(stamp/90).toFixed(0)}`);\n aacSample = {unit: data.subarray(offset + headerLength, offset + headerLength + frameLength), pts: stamp, dts: stamp};\n track.samples.push(aacSample);\n track.len += frameLength;\n offset += frameLength + headerLength;\n frameIndex++;\n // look for ADTS header (0xFFFx)\n for ( ; offset < (len - 1); offset++) {\n if ((data[offset] === 0xff) && ((data[offset + 1] & 0xf0) === 0xf0)) {\n break;\n }\n }\n } else {\n break;\n }\n }\n if (offset < len) {\n aacOverFlow = data.subarray(offset, len);\n //logger.log(`AAC: overflow detected:${len-offset}`);\n } else {\n aacOverFlow = null;\n }\n this.aacOverFlow = aacOverFlow;\n this.aacLastPTS = stamp;\n }\n\n _parseID3PES(pes) {\n this._id3Track.samples.push(pes);\n }\n}\n\nexport default TSDemuxer;\n\n", + "/**\n * highly optimized TS demuxer:\n * parse PAT, PMT\n * extract PES packet from audio and video PIDs\n * extract AVC/H264 NAL units and AAC/ADTS samples from PES packet\n * trigger the remuxer upon parsing completion\n * it also tries to workaround as best as it can audio codec switch (HE-AAC to AAC and vice versa), without having to restart the MediaSource.\n * it also controls the remuxing process :\n * upon discontinuity or level switch detection, it will also notifies the remuxer so that it can reset its state.\n*/\n\n import ADTS from './adts';\n import Event from '../events';\n import ExpGolomb from './exp-golomb';\n// import Hex from '../utils/hex';\n import {logger} from '../utils/logger';\n import {ErrorTypes, ErrorDetails} from '../errors';\n\n class TSDemuxer {\n\n constructor(observer,remuxerClass) {\n this.observer = observer;\n this.remuxerClass = remuxerClass;\n this.lastCC = 0;\n this.remuxer = new this.remuxerClass(observer);\n }\n\n static probe(data) {\n // a TS fragment should contain at least 3 TS packets, a PAT, a PMT, and one PID, each starting with 0x47\n if (data.length >= 3*188 && data[0] === 0x47 && data[188] === 0x47 && data[2*188] === 0x47) {\n return true;\n } else {\n return false;\n }\n }\n\n switchLevel() {\n this.pmtParsed = false;\n this._pmtId = -1;\n this._avcTrack = {container : 'video/mp2t', type: 'video', id :-1, sequenceNumber: 0, samples : [], len : 0, nbNalu : 0};\n this._aacTrack = {container : 'video/mp2t', type: 'audio', id :-1, sequenceNumber: 0, samples : [], len : 0};\n this._id3Track = {type: 'id3', id :-1, sequenceNumber: 0, samples : [], len : 0};\n this._txtTrack = {type: 'text', id: -1, sequenceNumber: 0, samples: [], len: 0};\n // flush any partial content\n this.aacOverFlow = null;\n this.aacLastPTS = null;\n this.avcNaluState = 0;\n this.remuxer.switchLevel();\n }\n\n insertDiscontinuity() {\n this.switchLevel();\n this.remuxer.insertDiscontinuity();\n }\n\n // feed incoming data to the front of the parsing pipeline\n push(data, audioCodec, videoCodec, timeOffset, cc, level, sn, duration) {\n var avcData, aacData, id3Data,\n start, len = data.length, stt, pid, atf, offset,\n codecsOnly = this.remuxer.passthrough,\n unknownPIDs = false;\n\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.timeOffset = timeOffset;\n this._duration = duration;\n this.contiguous = false;\n if (cc !== this.lastCC) {\n logger.log('discontinuity detected');\n this.insertDiscontinuity();\n this.lastCC = cc;\n }\n if (level !== this.lastLevel) {\n logger.log('level switch detected');\n this.switchLevel();\n this.lastLevel = level;\n } else if (sn === (this.lastSN+1)) {\n this.contiguous = true;\n }\n this.lastSN = sn;\n\n var pmtParsed = this.pmtParsed,\n avcId = this._avcTrack.id,\n aacId = this._aacTrack.id,\n id3Id = this._id3Track.id;\n\n // don't parse last TS packet if incomplete\n len -= len % 188;\n // loop through TS packets\n for (start = 0; start < len; start += 188) {\n if (data[start] === 0x47) {\n stt = !!(data[start + 1] & 0x40);\n // pid is a 13-bit field starting at the last bit of TS[1]\n pid = ((data[start + 1] & 0x1f) << 8) + data[start + 2];\n atf = (data[start + 3] & 0x30) >> 4;\n // if an adaption field is present, its length is specified by the fifth byte of the TS packet header.\n if (atf > 1) {\n offset = start + 5 + data[start + 4];\n // continue if there is only adaptation field\n if (offset === (start + 188)) {\n continue;\n }\n } else {\n offset = start + 4;\n }\n if (pmtParsed) {\n if (pid === avcId) {\n if (stt) {\n if (avcData) {\n this._parseAVCPES(this._parsePES(avcData));\n if (codecsOnly) {\n // if we have video codec info AND\n // if audio PID is undefined OR if we have audio codec info,\n // we have all codec info !\n if (this._avcTrack.codec && (aacId === -1 || this._aacTrack.codec)) {\n this.remux(data);\n return;\n }\n }\n }\n avcData = {data: [], size: 0};\n }\n if (avcData) {\n avcData.data.push(data.subarray(offset, start + 188));\n avcData.size += start + 188 - offset;\n }\n } else if (pid === aacId) {\n if (stt) {\n if (aacData) {\n this._parseAACPES(this._parsePES(aacData));\n if (codecsOnly) {\n // here we now that we have audio codec info\n // if video PID is undefined OR if we have video codec info,\n // we have all codec infos !\n if (this._aacTrack.codec && (avcId === -1 || this._avcTrack.codec)) {\n this.remux(data);\n return;\n }\n }\n }\n aacData = {data: [], size: 0};\n }\n if (aacData) {\n aacData.data.push(data.subarray(offset, start + 188));\n aacData.size += start + 188 - offset;\n }\n } else if (pid === id3Id) {\n if (stt) {\n if (id3Data) {\n this._parseID3PES(this._parsePES(id3Data));\n }\n id3Data = {data: [], size: 0};\n }\n if (id3Data) {\n id3Data.data.push(data.subarray(offset, start + 188));\n id3Data.size += start + 188 - offset;\n }\n }\n } else {\n if (stt) {\n offset += data[offset] + 1;\n }\n if (pid === 0) {\n this._parsePAT(data, offset);\n } else if (pid === this._pmtId) {\n this._parsePMT(data, offset);\n pmtParsed = this.pmtParsed = true;\n avcId = this._avcTrack.id;\n aacId = this._aacTrack.id;\n id3Id = this._id3Track.id;\n if (unknownPIDs) {\n logger.log('reparse from beginning');\n unknownPIDs = false;\n // we set it to -188, the += 188 in the for loop will reset start to 0\n start = -188;\n }\n } else {\n logger.log('unknown PID found before PAT/PMT');\n unknownPIDs = true;\n }\n }\n } else {\n this.observer.trigger(Event.ERROR, {type : ErrorTypes.MEDIA_ERROR, details: ErrorDetails.FRAG_PARSING_ERROR, fatal: false, reason: 'TS packet did not start with 0x47'});\n }\n }\n // parse last PES packet\n if (avcData) {\n this._parseAVCPES(this._parsePES(avcData));\n }\n if (aacData) {\n this._parseAACPES(this._parsePES(aacData));\n }\n if (id3Data) {\n this._parseID3PES(this._parsePES(id3Data));\n }\n this.remux(null);\n }\n\n remux(data) {\n this.remuxer.remux(this._aacTrack, this._avcTrack, this._id3Track, this._txtTrack, this.timeOffset, this.contiguous, data);\n }\n\n destroy() {\n this.switchLevel();\n this._initPTS = this._initDTS = undefined;\n this._duration = 0;\n }\n\n _parsePAT(data, offset) {\n // skip the PSI header and parse the first PMT entry\n this._pmtId = (data[offset + 10] & 0x1F) << 8 | data[offset + 11];\n //logger.log('PMT PID:' + this._pmtId);\n }\n\n _parsePMT(data, offset) {\n var sectionLength, tableEnd, programInfoLength, pid;\n sectionLength = (data[offset + 1] & 0x0f) << 8 | data[offset + 2];\n tableEnd = offset + 3 + sectionLength - 4;\n // to determine where the table is, we have to figure out how\n // long the program info descriptors are\n programInfoLength = (data[offset + 10] & 0x0f) << 8 | data[offset + 11];\n // advance the offset to the first entry in the mapping table\n offset += 12 + programInfoLength;\n while (offset < tableEnd) {\n pid = (data[offset + 1] & 0x1F) << 8 | data[offset + 2];\n switch(data[offset]) {\n // ISO/IEC 13818-7 ADTS AAC (MPEG-2 lower bit-rate audio)\n case 0x0f:\n //logger.log('AAC PID:' + pid);\n this._aacTrack.id = pid;\n break;\n // Packetized metadata (ID3)\n case 0x15:\n //logger.log('ID3 PID:' + pid);\n this._id3Track.id = pid;\n break;\n // ITU-T Rec. H.264 and ISO/IEC 14496-10 (lower bit-rate video)\n case 0x1b:\n //logger.log('AVC PID:' + pid);\n this._avcTrack.id = pid;\n break;\n default:\n logger.log('unkown stream type:' + data[offset]);\n break;\n }\n // move to the next table entry\n // skip past the elementary stream descriptors, if present\n offset += ((data[offset + 3] & 0x0F) << 8 | data[offset + 4]) + 5;\n }\n }\n\n _parsePES(stream) {\n var i = 0, frag, pesFlags, pesPrefix, pesLen, pesHdrLen, pesData, pesPts, pesDts, payloadStartOffset, data = stream.data;\n //retrieve PTS/DTS from first fragment\n frag = data[0];\n pesPrefix = (frag[0] << 16) + (frag[1] << 8) + frag[2];\n if (pesPrefix === 1) {\n pesLen = (frag[4] << 8) + frag[5];\n pesFlags = frag[7];\n if (pesFlags & 0xC0) {\n /* PES header described here : http://dvd.sourceforge.net/dvdinfo/pes-hdr.html\n as PTS / DTS is 33 bit we cannot use bitwise operator in JS,\n as Bitwise operators treat their operands as a sequence of 32 bits */\n pesPts = (frag[9] & 0x0E) * 536870912 +// 1 << 29\n (frag[10] & 0xFF) * 4194304 +// 1 << 22\n (frag[11] & 0xFE) * 16384 +// 1 << 14\n (frag[12] & 0xFF) * 128 +// 1 << 7\n (frag[13] & 0xFE) / 2;\n // check if greater than 2^32 -1\n if (pesPts > 4294967295) {\n // decrement 2^33\n pesPts -= 8589934592;\n }\n if (pesFlags & 0x40) {\n pesDts = (frag[14] & 0x0E ) * 536870912 +// 1 << 29\n (frag[15] & 0xFF ) * 4194304 +// 1 << 22\n (frag[16] & 0xFE ) * 16384 +// 1 << 14\n (frag[17] & 0xFF ) * 128 +// 1 << 7\n (frag[18] & 0xFE ) / 2;\n // check if greater than 2^32 -1\n if (pesDts > 4294967295) {\n // decrement 2^33\n pesDts -= 8589934592;\n }\n } else {\n pesDts = pesPts;\n }\n }\n pesHdrLen = frag[8];\n payloadStartOffset = pesHdrLen + 9;\n\n stream.size -= payloadStartOffset;\n //reassemble PES packet\n pesData = new Uint8Array(stream.size);\n while (data.length) {\n frag = data.shift();\n var len = frag.byteLength;\n if (payloadStartOffset) {\n if (payloadStartOffset > len) {\n // trim full frag if PES header bigger than frag\n payloadStartOffset-=len;\n continue;\n } else {\n // trim partial frag if PES header smaller than frag\n frag = frag.subarray(payloadStartOffset);\n len-=payloadStartOffset;\n payloadStartOffset = 0;\n }\n }\n pesData.set(frag, i);\n i+=len;\n }\n return {data: pesData, pts: pesPts, dts: pesDts, len: pesLen};\n } else {\n return null;\n }\n }\n\n _parseAVCPES(pes) {\n var track = this._avcTrack,\n samples = track.samples,\n units = this._parseAVCNALu(pes.data),\n units2 = [],\n debug = false,\n key = false,\n length = 0,\n expGolombDecoder,\n avcSample,\n push,\n i;\n // no NALu found\n if (units.length === 0 && samples.length > 0) {\n // append pes.data to previous NAL unit\n var lastavcSample = samples[samples.length - 1];\n var lastUnit = lastavcSample.units.units[lastavcSample.units.units.length - 1];\n var tmp = new Uint8Array(lastUnit.data.byteLength + pes.data.byteLength);\n tmp.set(lastUnit.data, 0);\n tmp.set(pes.data, lastUnit.data.byteLength);\n lastUnit.data = tmp;\n lastavcSample.units.length += pes.data.byteLength;\n track.len += pes.data.byteLength;\n }\n //free pes.data to save up some memory\n pes.data = null;\n var debugString = '';\n\n var pushAccesUnit = function() {\n if (units2.length) {\n // only push AVC sample if keyframe already found in this fragment OR\n // keyframe found in last fragment (track.sps) AND\n // samples already appended (we already found a keyframe in this fragment) OR fragment is contiguous\n if (key === true ||\n (track.sps && (samples.length || this.contiguous))) {\n avcSample = {units: { units : units2, length : length}, pts: pes.pts, dts: pes.dts, key: key};\n samples.push(avcSample);\n track.len += length;\n track.nbNalu += units2.length;\n }\n units2 = [];\n length = 0;\n }\n }.bind(this);\n\n units.forEach(unit => {\n switch(unit.type) {\n //NDR\n case 1:\n push = true;\n if(debug) {\n debugString += 'NDR ';\n }\n break;\n //IDR\n case 5:\n push = true;\n if(debug) {\n debugString += 'IDR ';\n }\n key = true;\n break;\n //SEI\n case 6:\n push = true;\n if(debug) {\n debugString += 'SEI ';\n }\n expGolombDecoder = new ExpGolomb(unit.data);\n\n // skip frameType\n expGolombDecoder.readUByte();\n\n var payloadType = expGolombDecoder.readUByte();\n\n // TODO: there can be more than one payload in an SEI packet...\n // TODO: need to read type and size in a while loop to get them all\n if (payloadType === 4)\n {\n var payloadSize = 0;\n\n do {\n payloadSize = expGolombDecoder.readUByte();\n }\n while (payloadSize === 255);\n\n var countryCode = expGolombDecoder.readUByte();\n\n if (countryCode === 181)\n {\n var providerCode = expGolombDecoder.readUShort();\n\n if (providerCode === 49)\n {\n var userStructure = expGolombDecoder.readUInt();\n\n if (userStructure === 0x47413934)\n {\n var userDataType = expGolombDecoder.readUByte();\n\n // Raw CEA-608 bytes wrapped in CEA-708 packet\n if (userDataType === 3)\n {\n var firstByte = expGolombDecoder.readUByte();\n var secondByte = expGolombDecoder.readUByte();\n\n var totalCCs = 31 & firstByte;\n var byteArray = [firstByte, secondByte];\n\n for (i=0; i this is the first start code found in this PES packet\n // first check if start code delimiter is overlapping between 2 PES packets,\n // ie it started in last packet (lastState not zero)\n // and ended at the beginning of this PES packet (i <= 4 - lastState)\n let lastState = this.avcNaluState;\n if(lastState && (i <= 4 - lastState)) {\n // start delimiter overlapping between PES packets\n // strip start delimiter bytes from the end of last NAL unit\n let track = this._avcTrack,\n samples = track.samples;\n if (samples.length) {\n let lastavcSample = samples[samples.length - 1],\n lastUnits = lastavcSample.units.units,\n lastUnit = lastUnits[lastUnits.length - 1];\n // check if lastUnit had a state different from zero\n if (lastUnit.state) {\n // strip last bytes\n lastUnit.data = lastUnit.data.subarray(0,lastUnit.data.byteLength - lastState);\n lastavcSample.units.length -= lastState;\n track.len -= lastState;\n }\n }\n }\n // If NAL units are not starting right at the beginning of the PES packet, push preceding data into previous NAL unit.\n overflow = i - state - 1;\n if (overflow > 0) {\n let track = this._avcTrack,\n samples = track.samples;\n //logger.log('first NALU found with overflow:' + overflow);\n if (samples.length) {\n let lastavcSample = samples[samples.length - 1],\n lastUnits = lastavcSample.units.units,\n lastUnit = lastUnits[lastUnits.length - 1],\n tmp = new Uint8Array(lastUnit.data.byteLength + overflow);\n tmp.set(lastUnit.data, 0);\n tmp.set(array.subarray(0, overflow), lastUnit.data.byteLength);\n lastUnit.data = tmp;\n lastavcSample.units.length += overflow;\n track.len += overflow;\n }\n }\n }\n lastUnitStart = i;\n lastUnitType = unitType;\n state = 0;\n } else {\n state = 0;\n }\n break;\n default:\n break;\n }\n }\n if (lastUnitStart) {\n unit = {data: array.subarray(lastUnitStart, len), type: lastUnitType, state : state};\n units.push(unit);\n //logger.log('pushing NALU, type/size/state:' + unit.type + '/' + unit.data.byteLength + '/' + state);\n this.avcNaluState = state;\n }\n return units;\n }\n\n _parseAACPES(pes) {\n var track = this._aacTrack,\n data = pes.data,\n pts = pes.pts,\n startOffset = 0,\n duration = this._duration,\n audioCodec = this.audioCodec,\n aacOverFlow = this.aacOverFlow,\n aacLastPTS = this.aacLastPTS,\n config, frameLength, frameDuration, frameIndex, offset, headerLength, stamp, len, aacSample;\n if (aacOverFlow) {\n var tmp = new Uint8Array(aacOverFlow.byteLength + data.byteLength);\n tmp.set(aacOverFlow, 0);\n tmp.set(data, aacOverFlow.byteLength);\n //logger.log(`AAC: append overflowing ${aacOverFlow.byteLength} bytes to beginning of new PES`);\n data = tmp;\n }\n // look for ADTS header (0xFFFx)\n for (offset = startOffset, len = data.length; offset < len - 1; offset++) {\n if ((data[offset] === 0xff) && (data[offset+1] & 0xf0) === 0xf0) {\n break;\n }\n }\n // if ADTS header does not start straight from the beginning of the PES payload, raise an error\n if (offset) {\n var reason, fatal;\n if (offset < len - 1) {\n reason = `AAC PES did not start with ADTS header,offset:${offset}`;\n fatal = false;\n } else {\n reason = 'no ADTS header found in AAC PES';\n fatal = true;\n }\n this.observer.trigger(Event.ERROR, {type: ErrorTypes.MEDIA_ERROR, details: ErrorDetails.FRAG_PARSING_ERROR, fatal: fatal, reason: reason});\n if (fatal) {\n return;\n }\n }\n if (!track.audiosamplerate) {\n config = ADTS.getAudioConfig(this.observer,data, offset, audioCodec);\n track.config = config.config;\n track.audiosamplerate = config.samplerate;\n track.channelCount = config.channelCount;\n track.codec = config.codec;\n track.duration = duration;\n logger.log(`parsed codec:${track.codec},rate:${config.samplerate},nb channel:${config.channelCount}`);\n }\n frameIndex = 0;\n frameDuration = 1024 * 90000 / track.audiosamplerate;\n\n // if last AAC frame is overflowing, we should ensure timestamps are contiguous:\n // first sample PTS should be equal to last sample PTS + frameDuration\n if(aacOverFlow && aacLastPTS) {\n var newPTS = aacLastPTS+frameDuration;\n if(Math.abs(newPTS-pts) > 1) {\n logger.log(`AAC: align PTS for overlapping frames by ${Math.round((newPTS-pts)/90)}`);\n pts=newPTS;\n }\n }\n\n while ((offset + 5) < len) {\n // The protection skip bit tells us if we have 2 bytes of CRC data at the end of the ADTS header\n headerLength = (!!(data[offset + 1] & 0x01) ? 7 : 9);\n // retrieve frame size\n frameLength = ((data[offset + 3] & 0x03) << 11) |\n (data[offset + 4] << 3) |\n ((data[offset + 5] & 0xE0) >>> 5);\n frameLength -= headerLength;\n //stamp = pes.pts;\n\n if ((frameLength > 0) && ((offset + headerLength + frameLength) <= len)) {\n stamp = pts + frameIndex * frameDuration;\n //logger.log(`AAC frame, offset/length/total/pts:${offset+headerLength}/${frameLength}/${data.byteLength}/${(stamp/90).toFixed(0)}`);\n aacSample = {unit: data.subarray(offset + headerLength, offset + headerLength + frameLength), pts: stamp, dts: stamp};\n track.samples.push(aacSample);\n track.len += frameLength;\n offset += frameLength + headerLength;\n frameIndex++;\n // look for ADTS header (0xFFFx)\n for ( ; offset < (len - 1); offset++) {\n if ((data[offset] === 0xff) && ((data[offset + 1] & 0xf0) === 0xf0)) {\n break;\n }\n }\n } else {\n break;\n }\n }\n if (offset < len) {\n aacOverFlow = data.subarray(offset, len);\n //logger.log(`AAC: overflow detected:${len-offset}`);\n } else {\n aacOverFlow = null;\n }\n this.aacOverFlow = aacOverFlow;\n this.aacLastPTS = stamp;\n }\n\n _parseID3PES(pes) {\n this._id3Track.samples.push(pes);\n }\n}\n\nexport default TSDemuxer;\n\n", "export const ErrorTypes = {\n // Identifier for a network error (loading error / timeout ...)\n NETWORK_ERROR: 'networkError',\n // Identifier for a media Error (video/parsing/mediasource error)\n MEDIA_ERROR: 'mediaError',\n // Identifier for all other errors\n OTHER_ERROR: 'otherError'\n};\n\nexport const ErrorDetails = {\n // Identifier for a manifest load error - data: { url : faulty URL, response : XHR response}\n MANIFEST_LOAD_ERROR: 'manifestLoadError',\n // Identifier for a manifest load timeout - data: { url : faulty URL, response : XHR response}\n MANIFEST_LOAD_TIMEOUT: 'manifestLoadTimeOut',\n // Identifier for a manifest parsing error - data: { url : faulty URL, reason : error reason}\n MANIFEST_PARSING_ERROR: 'manifestParsingError',\n // Identifier for a manifest with only incompatible codecs error - data: { url : faulty URL, reason : error reason}\n MANIFEST_INCOMPATIBLE_CODECS_ERROR: 'manifestIncompatibleCodecsError',\n // Identifier for playlist load error - data: { url : faulty URL, response : XHR response}\n LEVEL_LOAD_ERROR: 'levelLoadError',\n // Identifier for playlist load timeout - data: { url : faulty URL, response : XHR response}\n LEVEL_LOAD_TIMEOUT: 'levelLoadTimeOut',\n // Identifier for a level switch error - data: { level : faulty level Id, event : error description}\n LEVEL_SWITCH_ERROR: 'levelSwitchError',\n // Identifier for fragment load error - data: { frag : fragment object, response : XHR response}\n FRAG_LOAD_ERROR: 'fragLoadError',\n // Identifier for fragment loop loading error - data: { frag : fragment object}\n FRAG_LOOP_LOADING_ERROR: 'fragLoopLoadingError',\n // Identifier for fragment load timeout error - data: { frag : fragment object}\n FRAG_LOAD_TIMEOUT: 'fragLoadTimeOut',\n // Identifier for a fragment decryption error event - data: parsing error description\n FRAG_DECRYPT_ERROR: 'fragDecryptError',\n // Identifier for a fragment parsing error event - data: parsing error description\n FRAG_PARSING_ERROR: 'fragParsingError',\n // Identifier for decrypt key load error - data: { frag : fragment object, response : XHR response}\n KEY_LOAD_ERROR: 'keyLoadError',\n // Identifier for decrypt key load timeout error - data: { frag : fragment object}\n KEY_LOAD_TIMEOUT: 'keyLoadTimeOut',\n // Identifier for a buffer append error - data: append error description\n BUFFER_APPEND_ERROR: 'bufferAppendError',\n // Identifier for a buffer appending error event - data: appending error description\n BUFFER_APPENDING_ERROR: 'bufferAppendingError',\n // Identifier for a buffer stalled error event\n BUFFER_STALLED_ERROR: 'bufferStalledError',\n // Identifier for a buffer full event\n BUFFER_FULL_ERROR: 'bufferFullError',\n // Identifier for a buffer seek over hole event\n BUFFER_SEEK_OVER_HOLE: 'bufferSeekOverHole',\n // Identifier for an internal exception happening inside hls.js while handling an event\n INTERNAL_EXCEPTION: 'internalException'\n};\n", "/*\n*\n* All objects in the event handling chain should inherit from this class\n*\n*/\n\nimport {logger} from './utils/logger';\nimport {ErrorTypes, ErrorDetails} from './errors';\nimport Event from './events';\n\nclass EventHandler {\n\n constructor(hls, ...events) {\n this.hls = hls;\n this.onEvent = this.onEvent.bind(this);\n this.handledEvents = events;\n this.useGenericHandler = true;\n\n this.registerListeners();\n }\n\n destroy() {\n this.unregisterListeners();\n }\n\n isEventHandler() {\n return typeof this.handledEvents === 'object' && this.handledEvents.length && typeof this.onEvent === 'function';\n }\n\n registerListeners() {\n if (this.isEventHandler()) {\n this.handledEvents.forEach(function(event) {\n if (event === 'hlsEventGeneric') {\n throw new Error('Forbidden event name: ' + event);\n }\n this.hls.on(event, this.onEvent);\n }.bind(this));\n }\n }\n\n unregisterListeners() {\n if (this.isEventHandler()) {\n this.handledEvents.forEach(function(event) {\n this.hls.off(event, this.onEvent);\n }.bind(this));\n }\n }\n\n /*\n * arguments: event (string), data (any)\n */\n onEvent(event, data) {\n this.onEventGeneric(event, data);\n }\n\n onEventGeneric(event, data) {\n var eventToFunction = function(event, data) {\n var funcName = 'on' + event.replace('hls', '');\n if (typeof this[funcName] !== 'function') {\n throw new Error(`Event ${event} has no generic handler in this ${this.constructor.name} class (tried ${funcName})`);\n }\n return this[funcName].bind(this, data);\n };\n try {\n eventToFunction.call(this, event, data).call();\n } catch (err) {\n logger.error(`internal error happened while processing ${event}:${err.message}`);\n this.hls.trigger(Event.ERROR, {type: ErrorTypes.OTHER_ERROR, details: ErrorDetails.INTERNAL_EXCEPTION, fatal: false, event : event, err : err});\n }\n }\n}\n\nexport default EventHandler;\n", "module.exports = {\n // fired before MediaSource is attaching to media element - data: { media }\n MEDIA_ATTACHING: 'hlsMediaAttaching',\n // fired when MediaSource has been succesfully attached to media element - data: { }\n MEDIA_ATTACHED: 'hlsMediaAttached',\n // fired before detaching MediaSource from media element - data: { }\n MEDIA_DETACHING: 'hlsMediaDetaching',\n // fired when MediaSource has been detached from media element - data: { }\n MEDIA_DETACHED: 'hlsMediaDetached',\n // fired when we buffer is going to be resetted\n BUFFER_RESET: 'hlsBufferReset',\n // fired when we know about the codecs that we need buffers for to push into - data: {tracks : { container, codec, levelCodec, initSegment, metadata }}\n BUFFER_CODECS: 'hlsBufferCodecs',\n // fired when we append a segment to the buffer - data: { segment: segment object }\n BUFFER_APPENDING: 'hlsBufferAppending',\n // fired when we are done with appending a media segment to the buffer\n BUFFER_APPENDED: 'hlsBufferAppended',\n // fired when the stream is finished and we want to notify the media buffer that there will be no more data\n BUFFER_EOS: 'hlsBufferEos',\n // fired when the media buffer should be flushed - data {startOffset, endOffset}\n BUFFER_FLUSHING: 'hlsBufferFlushing',\n // fired when the media has been flushed\n BUFFER_FLUSHED: 'hlsBufferFlushed',\n // fired to signal that a manifest loading starts - data: { url : manifestURL}\n MANIFEST_LOADING: 'hlsManifestLoading',\n // fired after manifest has been loaded - data: { levels : [available quality levels] , url : manifestURL, stats : { trequest, tfirst, tload, mtime}}\n MANIFEST_LOADED: 'hlsManifestLoaded',\n // fired after manifest has been parsed - data: { levels : [available quality levels] , firstLevel : index of first quality level appearing in Manifest}\n MANIFEST_PARSED: 'hlsManifestParsed',\n // fired when a level playlist loading starts - data: { url : level URL level : id of level being loaded}\n LEVEL_LOADING: 'hlsLevelLoading',\n // fired when a level playlist loading finishes - data: { details : levelDetails object, level : id of loaded level, stats : { trequest, tfirst, tload, mtime} }\n LEVEL_LOADED: 'hlsLevelLoaded',\n // fired when a level's details have been updated based on previous details, after it has been loaded. - data: { details : levelDetails object, level : id of updated level }\n LEVEL_UPDATED: 'hlsLevelUpdated',\n // fired when a level's PTS information has been updated after parsing a fragment - data: { details : levelDetails object, level : id of updated level, drift: PTS drift observed when parsing last fragment }\n LEVEL_PTS_UPDATED: 'hlsLevelPtsUpdated',\n // fired when a level switch is requested - data: { level : id of new level }\n LEVEL_SWITCH: 'hlsLevelSwitch',\n // fired when a fragment loading starts - data: { frag : fragment object}\n FRAG_LOADING: 'hlsFragLoading',\n // fired when a fragment loading is progressing - data: { frag : fragment object, { trequest, tfirst, loaded}}\n FRAG_LOAD_PROGRESS: 'hlsFragLoadProgress',\n // Identifier for fragment load aborting for emergency switch down - data: {frag : fragment object}\n FRAG_LOAD_EMERGENCY_ABORTED: 'hlsFragLoadEmergencyAborted',\n // fired when a fragment loading is completed - data: { frag : fragment object, payload : fragment payload, stats : { trequest, tfirst, tload, length}}\n FRAG_LOADED: 'hlsFragLoaded',\n // fired when Init Segment has been extracted from fragment - data: { moov : moov MP4 box, codecs : codecs found while parsing fragment}\n FRAG_PARSING_INIT_SEGMENT: 'hlsFragParsingInitSegment',\n // fired when parsing sei text is completed - data: { samples : [ sei samples pes ] }\n FRAG_PARSING_USERDATA: 'hlsFragParsingUserdata',\n // fired when parsing id3 is completed - data: { samples : [ id3 samples pes ] }\n FRAG_PARSING_METADATA: 'hlsFragParsingMetadata',\n // fired when data have been extracted from fragment - data: { data1 : moof MP4 box or TS fragments, data2 : mdat MP4 box or null}\n FRAG_PARSING_DATA: 'hlsFragParsingData',\n // fired when fragment parsing is completed - data: undefined\n FRAG_PARSED: 'hlsFragParsed',\n // fired when fragment remuxed MP4 boxes have all been appended into SourceBuffer - data: { frag : fragment object, stats : { trequest, tfirst, tload, tparsed, tbuffered, length} }\n FRAG_BUFFERED: 'hlsFragBuffered',\n // fired when fragment matching with current media position is changing - data : { frag : fragment object }\n FRAG_CHANGED: 'hlsFragChanged',\n // Identifier for a FPS drop event - data: {curentDropped, currentDecoded, totalDroppedFrames}\n FPS_DROP: 'hlsFpsDrop',\n // Identifier for an error event - data: { type : error type, details : error details, fatal : if true, hls.js cannot/will not try to recover, if false, hls.js will try to recover,other error specific data}\n ERROR: 'hlsError',\n // fired when hls.js instance starts destroying. Different from MEDIA_DETACHED as one could want to detach and reattach a media to the instance of hls.js to handle mid-rolls for example\n DESTROYING: 'hlsDestroying',\n // fired when a decrypt key loading starts - data: { frag : fragment object}\n KEY_LOADING: 'hlsKeyLoading',\n // fired when a decrypt key loading is completed - data: { frag : fragment object, payload : key payload, stats : { trequest, tfirst, tload, length}}\n KEY_LOADED: 'hlsKeyLoaded',\n};\n", diff --git a/dashboard-ui/bower_components/hls.js/dist/hls.min.js b/dashboard-ui/bower_components/hls.js/dist/hls.min.js index da274519f2..5a21f584b7 100644 --- a/dashboard-ui/bower_components/hls.js/dist/hls.min.js +++ b/dashboard-ui/bower_components/hls.js/dist/hls.min.js @@ -1,5 +1,5 @@ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Hls=e()}}(function(){return function s(e,t,r){function i(a,d){if(!t[a]){if(!e[a]){var l="function"==typeof require&&require;if(!d&&l)return l(a,!0);if(n)return n(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var o=t[a]={exports:{}};e[a][0].call(o.exports,function(t){var r=e[a][1][t];return i(r?r:t)},o,o.exports,s,e,t,r)}return t[a].exports}for(var n="function"==typeof require&&require,a=0;ae||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},e.prototype.emit=function(l){var s,e,u,a,n,o;if(this._events||(this._events={}),"error"===l&&(!this._events.error||r(this._events.error)&&!this._events.error.length)){if(s=arguments[1],s instanceof Error)throw s;throw TypeError('Uncaught, unspecified "error" event.')}if(e=this._events[l],i(e))return!1;if(t(e))switch(arguments.length){case 1:e.call(this);break;case 2:e.call(this,arguments[1]);break;case 3:e.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),e.apply(this,a)}else if(r(e))for(a=Array.prototype.slice.call(arguments,1),o=e.slice(),u=o.length,n=0;u>n;n++)o[n].apply(this,a);return!0},e.prototype.addListener=function(a,n){var s;if(!t(n))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,t(n.listener)?n.listener:n),this._events[a]?r(this._events[a])?this._events[a].push(n):this._events[a]=[this._events[a],n]:this._events[a]=n,r(this._events[a])&&!this._events[a].warned&&(s=i(this._maxListeners)?e.defaultMaxListeners:this._maxListeners,s&&s>0&&this._events[a].length>s&&(this._events[a].warned=!0,"function"==typeof console.trace)),this},e.prototype.on=e.prototype.addListener,e.prototype.once=function(i,e){function r(){this.removeListener(i,r),a||(a=!0,e.apply(this,arguments))}if(!t(e))throw TypeError("listener must be a function");var a=!1;return r.listener=e,this.on(i,r),this},e.prototype.removeListener=function(a,i){var e,s,o,n;if(!t(i))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(e=this._events[a],o=e.length,s=-1,e===i||t(e.listener)&&e.listener===i)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,i);else if(r(e)){for(n=o;n-- >0;)if(e[n]===i||e[n].listener&&e[n].listener===i){s=n;break}if(0>s)return this;1===e.length?(e.length=0,delete this._events[a]):e.splice(s,1),this._events.removeListener&&this.emit("removeListener",a,i)}return this},e.prototype.removeAllListeners=function(r){var i,e;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[r]&&delete this._events[r],this;if(0===arguments.length){for(i in this._events)"removeListener"!==i&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events={},this}if(e=this._events[r],t(e))this.removeListener(r,e);else if(e)for(;e.length;)this.removeListener(r,e[e.length-1]);return delete this._events[r],this},e.prototype.listeners=function(e){var r;return r=this._events&&this._events[e]?t(this._events[e])?[this._events[e]]:this._events[e].slice():[]},e.prototype.listenerCount=function(r){if(this._events){var e=this._events[r];if(t(e))return 1;if(e)return e.length}return 0},e.listenerCount=function(e,t){return e.listenerCount(t)}},{}],2:[function(n,i,s){var a=arguments[3],e=arguments[4],r=arguments[5],t=JSON.stringify;i.exports=function(l){for(var i,s=Object.keys(r),n=0,d=s.length;d>n;n++){var o=s[n],u=r[o].exports;if(u===l||u.default===l){i=o;break}}if(!i){i=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var f={},n=0,d=s.length;d>n;n++){var o=s[n];f[o]=o}e[i]=[Function(["require","module","exports"],"("+l+")(self)"),f]}var h=Math.floor(Math.pow(16,8)*Math.random()).toString(16),c={};c[i]=i,e[h]=[Function(["require"],"var f = require("+t(i)+");(f.default ? f.default : f)(self);"),c];var g="("+a+")({"+Object.keys(e).map(function(r){return t(r)+":["+e[r][0]+","+t(e[r][1])+"]"}).join(",")+"},{},["+t(h)+"])",v=window.URL||window.webkitURL||window.mozURL||window.msURL;return new Worker(v.createObjectURL(new Blob([g],{type:"text/javascript"})))}},{}],3:[function(e,m,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function g(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(n,"__esModule",{value:!0});var l=function(){function e(i,r){for(var t=0;t500*e.duration){var f=Math.max(1,1e3*e.loaded/u);e.expectedLens){var l=void 0,r=void 0;for(r=e.level-1;r>=0&&(l=e.duration*a.levels[r].bitrate/(6.4*f),i.logger.log("fragLoadedDelay/bufferStarvationDelay/fragLevelNextLoadedDelay["+r+"] :"+d.toFixed(1)+"/"+s.toFixed(1)+"/"+l.toFixed(1)),!(s>l));r--);d>l&&(r=Math.max(0,r),a.nextLoadLevel=r,this.bwEstimator.sample(u,e.loaded),i.logger.warn("loading too slow, abort fragment loading and switch to level "+r),e.loader.abort(),this.clearTimer(),a.trigger(t.default.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e}))}}}}},{key:"onFragLoaded",value:function(e){var t=e.stats;void 0===t.aborted&&1===e.frag.loadCounter&&this.bwEstimator.sample(performance.now()-t.trequest,t.loaded),this.clearTimer(),this.lastLoadedFragLevel=e.frag.level,this._nextAutoLevel=-1}},{key:"onError",value:function(e){switch(e.details){case s.ErrorDetails.FRAG_LOAD_ERROR:case s.ErrorDetails.FRAG_LOAD_TIMEOUT:this.clearTimer()}}},{key:"clearTimer",value:function(){this.timer&&(clearInterval(this.timer),this.timer=null)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(e){this._autoLevelCapping=e}},{key:"nextAutoLevel",get:function(){var e,r,i=this.hls,t=i.levels,a=i.config;if(r=-1===this._autoLevelCapping&&t&&t.length?t.length-1:this._autoLevelCapping,-1!==this._nextAutoLevel)return Math.min(this._nextAutoLevel,r);var n=this.bwEstimator.getEstimate(),s=void 0;for(e=0;r>=e;e++)if(s=e<=this.lastLoadedFragLevel?a.abrBandWidthFactor*n:a.abrBandWidthUpFactor*n,sn.config.appendErrorMaxRetry)return t.logger.log("fail "+n.config.appendErrorMaxRetry+" times to append segment in sourceBuffer"),a=[],i.fatal=!0,void n.trigger(e.default.ERROR,i);i.fatal=!1,n.trigger(e.default.ERROR,i)}else a=[],i.details=r.ErrorDetails.BUFFER_FULL_ERROR,n.trigger(e.default.ERROR,i)}}}}},{key:"flushBuffer",value:function(l,s){var e,r,o,n,i,a;if(this.flushBufferCounter.5)return this.flushBufferCounter++,t.logger.log("flush "+u+" ["+i+","+a+"], of ["+o+","+n+"], pos:"+this.media.currentTime),e.remove(i,a),!1}else t.logger.warn("abort flushing too many retries");return t.logger.log("buffer flushed"),!0}}]),i}(s.default);a.default=o},{"../errors":21,"../event-handler":22,"../events":23,"../utils/logger":38}],5:[function(e,h,t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function f(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(i,r){for(var t=0;tthis.autoLevelCapping&&this.hls.streamController.nextLevelSwitch(),this.autoLevelCapping=this.hls.autoLevelCapping)}}},{key:"getMaxLevel",value:function(n){var r=void 0,e=void 0,t=void 0,s=this.mediaWidth,o=this.mediaHeight,i=0,a=0;for(e=0;n>=e&&(t=this.levels[e],r=e,i=t.width,a=t.height,!(i>=s||a>=o));e++);return r}},{key:"contentScaleFactor",get:function(){var e=1;try{e=window.devicePixelRatio}catch(e){}return e}},{key:"mediaWidth",get:function(){var e=void 0;return this.media&&(e=this.media.width||this.media.clientWidth||this.media.offsetWidth,e*=this.contentScaleFactor),e}},{key:"mediaHeight",get:function(){var e=void 0;return this.media&&(e=this.media.height||this.media.clientHeight||this.media.offsetHeight,e*=this.contentScaleFactor),e}}]),e}(s.default);t.default=u},{"../event-handler":22,"../events":23}],6:[function(r,l,e){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function e(i,r){for(var t=0;t=0&&ie&&(this._level===e&&void 0!==t[e].details||this.setLevelInternal(e))}},{key:"manualLevel",get:function(){return this._manualLevel},set:function(e){this._manualLevel=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(e){this._firstLevel=e}},{key:"startLevel",get:function(){return void 0===this._startLevel?this._firstLevel:this._startLevel},set:function(e){this._startLevel=e}},{key:"nextLoadLevel",get:function(){return-1!==this._manualLevel?this._manualLevel:this.hls.abrController.nextAutoLevel},set:function(e){this.level=e,-1===this._manualLevel&&(this.hls.abrController.nextAutoLevel=e)}}]),i}(f.default);a.default=o},{"../errors":21,"../event-handler":22,"../events":23,"../utils/logger":38}],8:[function(a,A,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function g(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(o,"__esModule",{value:!0});var m=function(){function e(i,r){for(var t=0;t1&&setTimeout(this.tick,1),this.ticks=0)}},{key:"doTick",value:function(){var _,l,n,E=this,f=this.hls,o=f.config;switch(this.state){case e.ERROR:case e.PAUSED:break;case e.STARTING:var b=f.startLevel;-1===b&&(b=0,this.fragBitrateTest=!0),this.level=f.nextLoadLevel=b,this.state=e.WAITING_LEVEL,this.loadedmetadata=!1;break;case e.IDLE:if(!this.media&&(this.startFragRequested||!o.startFragPrefetch))break;_=this.loadedmetadata?this.media.currentTime:this.nextLoadPosition,l=f.nextLoadLevel;var h,R=s.default.bufferInfo(this.media,_,o.maxBufferHole),T=R.len,u=R.end,c=this.fragPrevious;if(this.levels[l].hasOwnProperty("bitrate")?(h=Math.max(8*o.maxBufferSize/this.levels[l].bitrate,o.maxBufferLength),h=Math.min(h,o.maxMaxBufferLength)):h=o.maxBufferLength,h>T){if(f.nextLoadLevel=l,this.level=l,n=this.levels[l].details,"undefined"==typeof n||n.live&&this.levelLastLoaded!==l){this.state=e.WAITING_LEVEL;break}var d=n.fragments,g=d.length,v=d[0].start,y=d[g-1].start+d[g-1].duration,a=void 0;if(n.live){var S=void 0!==o.liveMaxLatencyDuration?o.liveMaxLatencyDuration:o.liveMaxLatencyDurationCount*n.targetduration;if(uy)break;if(this.startFragRequested&&!n.PTSKnown){if(c){var m=c.sn+1;m>=n.startSN&&m<=n.endSN&&(a=d[m-n.startSN],t.logger.log("live playlist, switching playlist, load frag with next SN: "+a.sn))}a||(a=d[Math.min(g-1,Math.round(g/2))],t.logger.log("live playlist, switching playlist, unknown, load middle frag : "+a.sn))}}else v>u&&(a=d[0]);if(a||!function(){var i=void 0,s=o.maxFragLookUpTolerance;y>u?(u>y-s&&(s=0),i=p.default.search(d,function(e){return e.start+e.duration-s<=u?1:e.start-s>u?-1:0})):i=d[g-1],i&&(a=i,v=i.start,c&&a.level===c.level&&a.sn===c.sn&&(a.sn1&&(a.expectedLen=Math.round(a.duration*this.levels[l].bitrate/8),a.trequest=performance.now()),void 0!==this.fragLoadIdx?this.fragLoadIdx++:this.fragLoadIdx=0,a.loadCounter){a.loadCounter++;var A=o.fragLoadingLoopThreshold;if(a.loadCounter>A&&Math.abs(this.fragLoadIdx-a.loadIdx)=L||O)&&(t.logger.log("mediaController: retryDate reached, switch back to IDLE state"),this.state=e.IDLE);break;case e.STOPPED:case e.FRAG_LOADING:case e.PARSING:case e.PARSED:case e.ENDED:}this._checkBuffer(),this._checkFragmentChanged()}},{key:"getBufferRange",value:function(i){var e,t,r=this.bufferRange;if(r)for(e=r.length-1;e>=0;e--)if(t=r[e],i>=t.start&&i<=t.end)return t;return null}},{key:"followingBufferRange",value:function(e){return e?this.getBufferRange(e.end+.5):null}},{key:"isBuffered",value:function(r){var i=this.media;if(i)for(var t=i.buffered,e=0;e=t.start(e)&&r<=t.end(e))return!0;return!1}},{key:"_checkFragmentChanged",value:function(){var t,e,i=this.media;if(i&&i.seeking===!1&&(e=i.currentTime,e>i.playbackRate*this.lastCurrentTime&&(this.lastCurrentTime=e),this.isBuffered(e)?t=this.getBufferRange(e):this.isBuffered(e+.1)&&(t=this.getBufferRange(e+.1)),t)){var a=t.frag;a!==this.fragPlaying&&(this.fragPlaying=a,this.hls.trigger(r.default.FRAG_CHANGED,{frag:a}))}}},{key:"immediateLevelSwitch",value:function(){t.logger.log("immediateLevelSwitch"),this.immediateSwitch||(this.immediateSwitch=!0,this.previouslyPaused=this.media.paused,this.media.pause());var i=this.fragCurrent;i&&i.loader&&i.loader.abort(),this.fragCurrent=null,this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold,this.state=e.PAUSED,this.hls.trigger(r.default.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY})}},{key:"immediateLevelSwitchEnd",value:function(){this.immediateSwitch=!1;var e=this.media;e&&e.readyState&&(e.currentTime-=1e-4,this.previouslyPaused||e.play())}},{key:"nextLevelSwitch",value:function(){var t=this.media;if(t&&t.readyState){var n=void 0,a=void 0,i=void 0;if(this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold,a=this.getBufferRange(t.currentTime),a&&a.start>1&&(this.state=e.PAUSED,this.hls.trigger(r.default.BUFFER_FLUSHING,{startOffset:0,endOffset:a.start-1})),t.paused)n=0;else{var l=this.hls.nextLoadLevel,u=this.levels[l],o=this.fragLastKbps;n=o&&this.fragCurrent?this.fragCurrent.duration*u.bitrate/(1e3*o)+1:0}if(i=this.getBufferRange(t.currentTime+n),i&&(i=this.followingBufferRange(i))){var s=this.fragCurrent;s&&s.loader&&s.loader.abort(),this.fragCurrent=null,this.state=e.PAUSED,this.hls.trigger(r.default.BUFFER_FLUSHING,{startOffset:i.start,endOffset:Number.POSITIVE_INFINITY})}}}},{key:"onMediaAttached",value:function(t){var e=this.media=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),this.onvended=this.onMediaEnded.bind(this),e.addEventListener("seeking",this.onvseeking),e.addEventListener("seeked",this.onvseeked),e.addEventListener("ended",this.onvended),this.levels&&this.config.autoStartLoad&&this.hls.startLoad()}},{key:"onMediaDetaching",value:function(){var e=this.media;e&&e.ended&&(t.logger.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0);var r=this.levels;r&&r.forEach(function(e){e.details&&e.details.fragments.forEach(function(e){e.loadCounter=void 0})}),e&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("seeked",this.onvseeked),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null),this.media=null,this.loadedmetadata=!1,this.stopLoad()}},{key:"onMediaSeeking",value:function(){if(this.state===e.FRAG_LOADING){if(0===s.default.bufferInfo(this.media,this.media.currentTime,this.config.maxBufferHole).len){t.logger.log("seeking outside of buffer while fragment load in progress, cancel fragment load");var r=this.fragCurrent;r&&(r.loader&&r.loader.abort(),this.fragCurrent=null),this.fragPrevious=null,this.state=e.IDLE}}else this.state===e.ENDED&&(this.state=e.IDLE);this.media&&(this.lastCurrentTime=this.media.currentTime),void 0!==this.fragLoadIdx&&(this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold),this.tick()}},{key:"onMediaSeeked",value:function(){this.tick()}},{key:"onMediaEnded",value:function(){t.logger.log("media ended"),this.startPosition=this.lastCurrentTime=0}},{key:"onManifestLoading",value:function(){t.logger.log("trigger BUFFER_RESET"),this.hls.trigger(r.default.BUFFER_RESET),this.bufferRange=[],this.stalled=!1}},{key:"onManifestParsed",value:function(r){var e,i=!1,a=!1;r.levels.forEach(function(t){e=t.audioCodec,e&&(-1!==e.indexOf("mp4a.40.2")&&(i=!0),-1!==e.indexOf("mp4a.40.5")&&(a=!0))}),this.audioCodecSwitch=i&&a,this.audioCodecSwitch&&t.logger.log("both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=r.levels,this.startLevelLoaded=!1,this.startFragRequested=!1,this.config.autoStartLoad&&this.hls.startLoad()}},{key:"onLevelLoaded",value:function(s){var i=s.details,a=s.level,o=this.levels[a],l=i.totalduration,n=0;if(t.logger.log("level "+a+" loaded ["+i.startSN+","+i.endSN+"],duration:"+l),this.levelLastLoaded=a,i.live){var d=o.details;d?(u.default.mergeDetails(d,i),n=i.fragments[0].start,i.PTSKnown?t.logger.log("live playlist sliding:"+n.toFixed(3)):t.logger.log("live playlist - outdated PTS, unknown sliding")):(i.PTSKnown=!1,t.logger.log("live playlist - first load, unknown sliding"))}else i.PTSKnown=!1;if(o.details=i,this.hls.trigger(r.default.LEVEL_UPDATED,{details:i,level:a}),this.startFragRequested===!1){if(i.live){var f=void 0!==this.config.liveSyncDuration?this.config.liveSyncDuration:this.config.liveSyncDurationCount*i.targetduration;this.startPosition=Math.max(0,n+l-f)}this.nextLoadPosition=this.startPosition}this.state===e.WAITING_LEVEL&&(this.state=e.IDLE),this.tick()}},{key:"onKeyLoaded",value:function(){this.state===e.KEY_LOADING&&(this.state=e.IDLE,this.tick())}},{key:"onFragLoaded",value:function(a){var i=this.fragCurrent;if(this.state===e.FRAG_LOADING&&i&&a.frag.level===i.level&&a.frag.sn===i.sn)if(t.logger.log("Loaded "+i.sn+" of level "+i.level),this.fragBitrateTest===!0)this.state=e.IDLE,this.fragBitrateTest=!1,this.startFragRequested=!1,a.stats.tparsed=a.stats.tbuffered=performance.now(),this.hls.trigger(r.default.FRAG_BUFFERED,{stats:a.stats,frag:i});else{this.state=e.PARSING,this.stats=a.stats;var s=this.levels[this.level],o=s.details,f=o.totalduration,h=void 0!==i.startDTS?i.startDTS:i.start,l=i.level,u=i.sn,n=s.audioCodec||this.config.defaultAudioCodec;this.audioCodecSwap&&(t.logger.log("swapping playlist audio codec"),void 0===n&&(n=this.lastAudioCodec),n&&(n=-1!==n.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5")),this.pendingAppending=0,t.logger.log("Demuxing "+u+" of ["+o.startSN+" ,"+o.endSN+"],level "+l);var d=this.demuxer;d&&d.push(a.payload,n,s.videoCodec,h,i.cc,l,u,f,i.decryptdata)}this.fragLoadError=0}},{key:"onFragParsingInitSegment",value:function(l){if(this.state===e.PARSING){var o,i,a=l.tracks;if(i=a.audio){var n=this.levels[this.level].audioCodec,u=navigator.userAgent.toLowerCase();n&&this.audioCodecSwap&&(t.logger.log("swapping playlist audio codec"),n=-1!==n.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),this.audioCodecSwitch&&1!==i.metadata.channelCount&&-1===u.indexOf("firefox")&&(n="mp4a.40.5"),-1!==u.indexOf("android")&&(n="mp4a.40.2",t.logger.log("Android: force audio codec to"+n)),i.levelCodec=n}if(i=a.video,i&&(i.levelCodec=this.levels[this.level].videoCodec),l.unique){var s={codec:"",levelCodec:""};for(o in l.tracks)i=a[o],s.container=i.container,s.codec&&(s.codec+=",",s.levelCodec+=","),i.codec&&(s.codec+=i.codec),i.levelCodec&&(s.levelCodec+=i.levelCodec);a={audiovideo:s}}this.hls.trigger(r.default.BUFFER_CODECS,a);for(o in a){i=a[o],t.logger.log("track:"+o+",container:"+i.container+",codecs[level/parsed]=["+i.levelCodec+"/"+i.codec+"]");var d=i.initSegment;d&&(this.pendingAppending++,this.hls.trigger(r.default.BUFFER_APPENDING,{type:o,data:d}))}this.tick()}}},{key:"onFragParsingData",value:function(i){var o=this;if(this.state===e.PARSING){this.tparse2=Date.now();var a=this.levels[this.level],n=this.fragCurrent;t.logger.log("parsed "+i.type+",PTS:["+i.startPTS.toFixed(3)+","+i.endPTS.toFixed(3)+"],DTS:["+i.startDTS.toFixed(3)+"/"+i.endDTS.toFixed(3)+"],nb:"+i.nb);var l=u.default.updateFragPTSDTS(a.details,n.sn,i.startPTS,i.endPTS,i.startDTS,i.endDTS),s=this.hls;s.trigger(r.default.LEVEL_PTS_UPDATED,{details:a.details,level:this.level,drift:l}),[i.data1,i.data2].forEach(function(e){e&&(o.pendingAppending++,s.trigger(r.default.BUFFER_APPENDING,{type:i.type,data:e}))}),this.nextLoadPosition=i.endPTS,this.bufferRange.push({type:i.type,start:i.startPTS,end:i.endPTS,frag:n}),this.tick()}else t.logger.warn("not in PARSING state but "+this.state+", ignoring FRAG_PARSING_DATA event")}},{key:"onFragParsed",value:function(){this.state===e.PARSING&&(this.stats.tparsed=performance.now(),this.state=e.PARSED,this._checkAppendedParsed())}},{key:"onBufferAppended",value:function(){switch(this.state){case e.PARSING:case e.PARSED:this.pendingAppending--,this._checkAppendedParsed()}}},{key:"_checkAppendedParsed",value:function(){if(this.state===e.PARSED&&0===this.pendingAppending){var a=this.fragCurrent,i=this.stats;a&&(this.fragPrevious=a,i.tbuffered=performance.now(),this.fragLastKbps=Math.round(8*i.length/(i.tbuffered-i.tfirst)),this.hls.trigger(r.default.FRAG_BUFFERED,{stats:i,frag:a}),t.logger.log("media buffered : "+this.timeRangesToString(this.media.buffered)),this.state=e.IDLE),this.tick()}}},{key:"onError",value:function(a){switch(a.details){case i.ErrorDetails.FRAG_LOAD_ERROR:case i.ErrorDetails.FRAG_LOAD_TIMEOUT:if(!a.fatal){var n=this.fragLoadError;if(n?n++:n=1,n<=this.config.fragLoadingMaxRetry){this.fragLoadError=n,a.frag.loadCounter=0;var s=Math.min(Math.pow(2,n-1)*this.config.fragLoadingRetryDelay,64e3);t.logger.warn("mediaController: frag loading failed, retry in "+s+" ms"),this.retryDate=performance.now()+s,this.state=e.FRAG_LOADING_WAITING_RETRY}else t.logger.error("mediaController: "+a.details+" reaches max retry, redispatch as fatal ..."),a.fatal=!0,this.hls.trigger(r.default.ERROR,a),this.state=e.ERROR}break;case i.ErrorDetails.FRAG_LOOP_LOADING_ERROR:case i.ErrorDetails.LEVEL_LOAD_ERROR:case i.ErrorDetails.LEVEL_LOAD_TIMEOUT:case i.ErrorDetails.KEY_LOAD_ERROR:case i.ErrorDetails.KEY_LOAD_TIMEOUT:this.state!==e.ERROR&&(this.state=a.fatal?e.ERROR:e.IDLE,t.logger.warn("mediaController: "+a.details+" while loading frag,switch to "+this.state+" state ..."));break;case i.ErrorDetails.BUFFER_FULL_ERROR:this.config.maxMaxBufferLength/=2,t.logger.warn("reduce max buffer length to "+this.config.maxMaxBufferLength+"s and trigger a nextLevelSwitch to flush old buffer and fix QuotaExceededError"),this.nextLevelSwitch()}}},{key:"_checkBuffer",value:function(){var e=this.media;if(e){var v=e.readyState;if(v){var a,n,d=this.seekAfterBuffered;if(d)e.duration>=d&&(a=d,this.seekAfterBuffered=void 0);else{n=e.currentTime;var p=this.loadedmetadata;!p&&e.buffered.length&&(this.loadedmetadata=!0,n||n===this.startPosition||(a=this.startPosition))}a&&(n=a,t.logger.log("target seek position:"+a));var l=s.default.bufferInfo(e,n,0),m=!(e.paused||e.ended||e.seeking||0===e.buffered.length),f=.4,h=n>e.playbackRate*this.lastCurrentTime;if(this.stalled&&h&&(this.stalled=!1,t.logger.log("playback not stuck anymore @"+n)),m&&l.len<=f){if(h?(f=0,this.seekHoleNudgeDuration=0):this.stalled?this.seekHoleNudgeDuration+=this.config.seekHoleNudgeDuration:(this.seekHoleNudgeDuration=0,t.logger.log("playback seems stuck @"+n),this.hls.trigger(r.default.ERROR,{type:i.ErrorTypes.MEDIA_ERROR,details:i.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!1}),this.stalled=!0),l.len<=f){var o=l.nextStart,c=o-n;if(o&&c0&&!e.seeking){t.logger.log("adjust currentTime from "+e.currentTime+" to next buffered @ "+o+" + nudge "+this.seekHoleNudgeDuration);var y=o+this.seekHoleNudgeDuration-e.currentTime;e.currentTime=o+this.seekHoleNudgeDuration,this.hls.trigger(r.default.ERROR,{type:i.ErrorTypes.MEDIA_ERROR,details:i.ErrorDetails.BUFFER_SEEK_OVER_HOLE,fatal:!1,hole:y})}}}else{var g=e.currentTime;if(a&&g!==a){if(0===l.len){var u=l.nextStart;void 0!==u&&u-ae;e++)r+="["+t.start(e)+","+t.end(e)+"]";return r}},{key:"currentLevel",get:function(){if(this.media){var e=this.getBufferRange(this.media.currentTime);if(e)return e.frag.level}return-1}},{key:"nextBufferRange",get:function(){return this.media?this.followingBufferRange(this.getBufferRange(this.media.currentTime)):null}},{key:"nextLevel",get:function(){var e=this.nextBufferRange;return e?e.frag.level:-1}}]),a}(l.default);o.default=f},{"../demux/demuxer":17,"../errors":21,"../event-handler":22,"../events":23,"../helper/buffer-helper":24,"../helper/level-helper":25,"../utils/binary-search":35,"../utils/logger":38}],9:[function(t,g,i){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var c=function(){function e(i,r){for(var t=0;te;e++)c[(a[e]=e<<1^283*(e>>7))^e]=e;for(i=r=0;!h[i];i^=u||1,r=c[r]||1)for(t=r^r<<1^r<<2^r<<3^r<<4,t=t>>8^255&t^99,h[i]=t,g[t]=i,d=a[f=a[u=a[i]]],l=16843009*d^65537*f^257*u^16843008*i,s=257*a[t]^16843008*t,e=0;4>e;e++)n[e][i]=s=s<<24^s>>>8,o[e][t]=l=l<<24^l>>>8;for(e=0;5>e;e++)n[e]=n[e].slice(0),o[e]=o[e].slice(0)}},{key:"decrypt",value:function(R,p,_,b,E,m){var h,v,g,n,e=this._key[1],t=R^e[0],i=b^e[1],a=_^e[2],r=p^e[3],y=e.length/4-2,s=4,o=this._tables[1],f=o[0],d=o[1],u=o[2],l=o[3],c=o[4];for(n=0;y>n;n++)h=f[t>>>24]^d[i>>16&255]^u[a>>8&255]^l[255&r]^e[s],v=f[i>>>24]^d[a>>16&255]^u[r>>8&255]^l[255&t]^e[s+1],g=f[a>>>24]^d[r>>16&255]^u[t>>8&255]^l[255&i]^e[s+2],r=f[r>>>24]^d[t>>16&255]^u[i>>8&255]^l[255&a]^e[s+3],s+=4,t=h,i=v,a=g;for(n=0;4>n;n++)E[(3&-n)+m]=c[t>>>24]<<24^c[i>>16&255]<<16^c[a>>8&255]<<8^c[255&r]^e[s++],h=t,t=i,i=a,a=r,r=h}}]),e}();e.default=i},{}],11:[function(t,l,e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function e(i,r){for(var t=0;t>8|e>>>24}},{key:"doDecrypt",value:function(i,v,a){var u,h,o,f,l,c,d,n,e,r=new Int32Array(i.buffer,i.byteOffset,i.byteLength>>2),p=new s.default(Array.prototype.slice.call(v)),g=new Uint8Array(i.byteLength),t=new Int32Array(g.buffer);for(u=~~a[0],h=~~a[1],o=~~a[2],f=~~a[3],e=0;ee&&(255!==t[e]||240!==(240&t[e+1]));e++);for(r.audiosamplerate||(a=o.default.getAudioConfig(this.observer,t,e,p),r.config=a.config,r.audiosamplerate=a.samplerate,r.channelCount=a.channelCount,r.codec=a.codec,r.duration=y,l.logger.log("parsed codec:"+r.codec+",rate:"+a.samplerate+",nb channel:"+a.channelCount)),c=0,v=9216e4/r.audiosamplerate;u>e+5&&(s=1&t[e+1]?7:9,n=(3&t[e+3])<<11|t[e+4]<<3|(224&t[e+5])>>>5,n-=s,n>0&&u>=e+s+n);)for(f=h+c*v,g={unit:t.subarray(e+s,e+s+n),pts:f,dts:f},r.samples.push(g),r.len+=n,e+=n+s,c++;u-1>e&&(255!==t[e]||240!==(240&t[e+1]));e++);this.remuxer.remux(this._aacTrack,{samples:[]},{samples:[{pts:h,dts:h,unit:d.payload}]},{samples:[]},m)}},{key:"destroy",value:function(){}}],[{key:"probe",value:function(t){var e,r,a=new i.default(t);if(a.hasTimeStamp)for(e=a.length,r=t.length;r-1>e;e++)if(255===t[e]&&240===(240&t[e+1]))return!0;return!1}}]),e}();t.default=s},{"../demux/id3":19,"../utils/logger":38,"./adts":14}],14:[function(e,o,t){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(i,r){for(var t=0;t>>6)+1,e=(60&u[l+2])>>>2,e>d.length-1?void h.trigger(Event.ERROR,{type:r.ErrorTypes.MEDIA_ERROR,details:r.ErrorDetails.FRAG_PARSING_ERROR,fatal:!0,reason:"invalid ADTS sampling index:"+e}):(o=(1&u[l+2])<<2,o|=(192&u[l+3])>>>6,n.logger.log("manifest codec:"+a+",ADTS data:type:"+i+",sampleingIndex:"+e+"["+d[e]+"Hz],channelConfig:"+o),-1!==f.indexOf("firefox")?e>=6?(i=5,t=new Array(4),s=e-3):(i=2,t=new Array(2),s=e):-1!==f.indexOf("android")?(i=2,t=new Array(2),s=e):(i=5,t=new Array(4),a&&(-1!==a.indexOf("mp4a.40.29")||-1!==a.indexOf("mp4a.40.5"))||!a&&e>=6?s=e-3:((a&&-1!==a.indexOf("mp4a.40.2")&&e>=6&&1===o||!a&&1===o)&&(i=2,t=new Array(2)),s=e)),t[0]=i<<3,t[0]|=(14&e)>>1,t[1]|=(1&e)<<7,t[1]|=o<<3,5===i&&(t[1]|=(14&s)>>1,t[2]=(1&s)<<7,t[2]|=8,t[3]=0),{config:t,samplerate:d[e],channelCount:o,codec:"mp4a.40."+i})}}]),e}();t.default=s},{"../errors":21,"../utils/logger":38}],15:[function(e,y,i){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var h=function(){function e(i,r){for(var t=0;t1?r-1:0),e=1;r>e;e++)a[e-1]=arguments[e];t.emit.apply(t,[i,i].concat(a))},t.off=function(a){for(var r=arguments.length,i=Array(r>1?r-1:0),e=1;r>e;e++)i[e-1]=arguments[e];t.removeListener.apply(t,[a].concat(i))},r.addEventListener("message",function(i){var e=i.data;switch(e.cmd){case"init":r.demuxer=new u.default(t,e.typeSupported);break;case"demux":r.demuxer.push(new Uint8Array(e.data),e.audioCodec,e.videoCodec,e.timeOffset,e.cc,e.level,e.sn,e.duration)}}),t.on(e.default.FRAG_PARSING_INIT_SEGMENT,function(t,e){r.postMessage({event:t,tracks:e.tracks,unique:e.unique})}),t.on(e.default.FRAG_PARSING_DATA,function(i,e){var t={event:i,type:e.type,startPTS:e.startPTS,endPTS:e.endPTS,startDTS:e.startDTS,endDTS:e.endDTS,data1:e.data1.buffer,data2:e.data2.buffer,nb:e.nb};r.postMessage(t,[t.data1,t.data2])}),t.on(e.default.FRAG_PARSED,function(e){r.postMessage({event:e})}),t.on(e.default.ERROR,function(e,t){r.postMessage({event:e,data:t})}),t.on(e.default.FRAG_PARSING_METADATA,function(e,t){var i={event:e,samples:t.samples};r.postMessage(i)}),t.on(e.default.FRAG_PARSING_USERDATA,function(e,t){var i={event:e,samples:t.samples};r.postMessage(i)})};i.default=o},{"../demux/demuxer-inline":15,"../events":23,events:1}],17:[function(t,v,i){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var h=function(){function e(i,r){for(var t=0;t0&&null!=e&&null!=e.key&&"AES-128"===e.method){null==this.decrypter&&(this.decrypter=new l.default(this.hls));var d=this;this.decrypter.decrypt(t,e.key,e.iv,function(e){d.pushDecrypted(e,r,i,a,n,s,o,u)})}else this.pushDecrypted(t,r,i,a,n,s,o,u)}},{key:"onWorkerMessage",value:function(i){var t=i.data;switch(t.event){case e.default.FRAG_PARSING_INIT_SEGMENT:var r={};r.tracks=t.tracks,r.unique=t.unique,this.hls.trigger(e.default.FRAG_PARSING_INIT_SEGMENT,r);break;case e.default.FRAG_PARSING_DATA:this.hls.trigger(e.default.FRAG_PARSING_DATA,{data1:new Uint8Array(t.data1),data2:new Uint8Array(t.data2),startPTS:t.startPTS,endPTS:t.endPTS,startDTS:t.startDTS,endDTS:t.endDTS,type:t.type,nb:t.nb});break;case e.default.FRAG_PARSING_METADATA:this.hls.trigger(e.default.FRAG_PARSING_METADATA,{samples:t.samples});break;case e.default.FRAG_PARSING_USERDATA:this.hls.trigger(e.default.FRAG_PARSING_USERDATA,{samples:t.samples});break;default:this.hls.trigger(t.event,t.data)}}}]),r}();i.default=o},{"../crypt/decrypter":12,"../demux/demuxer-inline":15,"../demux/demuxer-worker":16,"../events":23,"../utils/logger":38,webworkify:2}],18:[function(t,s,e){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function e(i,r){for(var t=0;te?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t>>3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}},{key:"readBits",value:function(t){var e=Math.min(this.bitsAvailable,t),r=this.word>>>32-e;return t>32&&a.logger.error("Cannot read more than 32 bits at a time"), -this.bitsAvailable-=e,this.bitsAvailable>0?this.word<<=e:this.bytesAvailable>0&&this.loadWord(),e=t-e,e>0?r<>>e))return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"skipEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var e=this.skipLZ();return this.readBits(e+1)-1}},{key:"readEG",value:function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}},{key:"readBoolean",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"readUShort",value:function(){return this.readBits(16)}},{key:"readUInt",value:function(){return this.readBits(32)}},{key:"skipScalingList",value:function(a){var t,i,r=8,e=8;for(t=0;a>t;t++)0!==e&&(i=this.readEG(),e=(r+i+256)%256),r=0===e?r:e}},{key:"readSPS",value:function(){var t,v,p,l,a,n,i,o,r,s=0,d=0,f=0,h=0,c=1;if(this.readUByte(),t=this.readUByte(),v=this.readBits(5),this.skipBits(3),p=this.readUByte(),this.skipUEG(),100===t||110===t||122===t||244===t||44===t||83===t||86===t||118===t||128===t){var g=this.readUEG();if(3===g&&this.skipBits(1),this.skipUEG(),this.skipUEG(),this.skipBits(1),this.readBoolean())for(o=3!==g?8:12,r=0;o>r;r++)this.readBoolean()&&(6>r?this.skipScalingList(16):this.skipScalingList(64))}this.skipUEG();var u=this.readUEG();if(0===u)this.readUEG();else if(1===u)for(this.skipBits(1),this.skipEG(),this.skipEG(),l=this.readUEG(),r=0;l>r;r++)this.skipEG();if(this.skipUEG(),this.skipBits(1),a=this.readUEG(),n=this.readUEG(),i=this.readBits(1),0===i&&this.skipBits(1),this.skipBits(1),this.readBoolean()&&(s=this.readUEG(),d=this.readUEG(),f=this.readUEG(),h=this.readUEG()),this.readBoolean()&&this.readBoolean()){var e=void 0,y=this.readUByte();switch(y){case 1:e=[1,1];break;case 2:e=[12,11];break;case 3:e=[10,11];break;case 4:e=[16,11];break;case 5:e=[40,33];break;case 6:e=[24,11];break;case 7:e=[20,11];break;case 8:e=[32,11];break;case 9:e=[80,33];break;case 10:e=[18,11];break;case 11:e=[15,11];break;case 12:e=[64,33];break;case 13:e=[160,99];break;case 14:e=[4,3];break;case 15:e=[3,2];break;case 16:e=[2,1];break;case 255:e=[this.readUByte()<<8|this.readUByte(),this.readUByte()<<8|this.readUByte()]}e&&(c=e[0]/e[1])}return{width:Math.ceil((16*(a+1)-2*s-2*d)*c),height:(2-i)*(n+1)*16-(i?2:4)*(f+h)}}},{key:"readSliceType",value:function(){return this.readUByte(),this.readUEG(),this.readUEG()}}]),e}();e.default=n},{"../utils/logger":38}],19:[function(r,s,t){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(i,r){for(var t=0;tr);return t}},{key:"_parseID3Frames",value:function(r,t,n){for(var a,s,o,l,i;n>=t+8;)switch(a=this.readUTF(r,t,4),t+=4,s=r[t++]<<24+r[t++]<<16+r[t++]<<8+r[t++],l=r[t++]<<8+r[t++],o=t,a){case"PRIV":if("com.apple.streaming.transportStreamTimestamp"===this.readUTF(r,t,44)){t+=44,t+=4;var u=1&r[t++];this._hasTimeStamp=!0,i=((r[t++]<<23)+(r[t++]<<15)+(r[t++]<<7)+r[t++])/45,u&&(i+=47721858.84),i=Math.round(i),e.logger.trace("ID3 timestamp found: "+i),this._timeStamp=i}}}},{key:"hasTimeStamp",get:function(){return this._hasTimeStamp}},{key:"timeStamp",get:function(){return this._timeStamp}},{key:"length",get:function(){return this._length}},{key:"payload",get:function(){return this._payload}}]),t}();t.default=n},{"../utils/logger":38}],20:[function(t,g,a){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var f=function(){function e(i,r){for(var t=0;tt;t+=188)if(71===i[t]){if(d=!!(64&i[t+1]),u=((31&i[t+1])<<8)+i[t+2],y=(48&i[t+3])>>4,y>1){if(a=t+5+i[t+4],a===t+188)continue}else a=t+4;if(v)if(u===h){if(d){if(s&&(this._parseAVCPES(this._parsePES(s)),b&&this._avcTrack.codec&&(-1===f||this._aacTrack.codec)))return void this.remux(i);s={data:[],size:0}}s&&(s.data.push(i.subarray(a,t+188)),s.size+=t+188-a)}else if(u===f){if(d){if(o&&(this._parseAACPES(this._parsePES(o)),b&&this._aacTrack.codec&&(-1===h||this._avcTrack.codec)))return void this.remux(i);o={data:[],size:0}}o&&(o.data.push(i.subarray(a,t+188)),o.size+=t+188-a)}else u===_&&(d&&(l&&this._parseID3PES(this._parsePES(l)),l={data:[],size:0}),l&&(l.data.push(i.subarray(a,t+188)),l.size+=t+188-a));else d&&(a+=i[a]+1),0===u?this._parsePAT(i,a):u===this._pmtId?(this._parsePMT(i,a),v=this.pmtParsed=!0,h=this._avcTrack.id,f=this._aacTrack.id,_=this._id3Track.id,g&&(e.logger.log("reparse from beginning"),g=!1,t=-188)):(e.logger.log("unknown PID found before PAT/PMT"),g=!0)}else this.observer.trigger(n.default.ERROR,{type:r.ErrorTypes.MEDIA_ERROR,details:r.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"TS packet did not start with 0x47"});s&&this._parseAVCPES(this._parsePES(s)),o&&this._parseAACPES(this._parsePES(o)),l&&this._parseID3PES(this._parsePES(l)),this.remux(null)}},{key:"remux",value:function(e){this.remuxer.remux(this._aacTrack,this._avcTrack,this._id3Track,this._txtTrack,this.timeOffset,this.contiguous,e)}},{key:"destroy",value:function(){this.switchLevel(),this._initPTS=this._initDTS=void 0,this._duration=0}},{key:"_parsePAT",value:function(e,t){this._pmtId=(31&e[t+10])<<8|e[t+11]}},{key:"_parsePMT",value:function(r,t){var a,n,s,i;for(a=(15&r[t+1])<<8|r[t+2],n=t+3+a-4,s=(15&r[t+10])<<8|r[t+11],t+=12+s;n>t;){switch(i=(31&r[t+1])<<8|r[t+2],r[t]){case 15:this._aacTrack.id=i;break;case 21:this._id3Track.id=i;break;case 27:this._avcTrack.id=i;break;default:e.logger.log("unkown stream type:"+r[t])}t+=((15&r[t+3])<<8|r[t+4])+5}}},{key:"_parsePES",value:function(o){var e,n,h,d,u,l,i,r,t,f=0,s=o.data;if(e=s[0],h=(e[0]<<16)+(e[1]<<8)+e[2],1===h){for(d=(e[4]<<8)+e[5],n=e[7],192&n&&(i=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,i>4294967295&&(i-=8589934592),64&n?(r=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,r>4294967295&&(r-=8589934592)):r=i),u=e[8],t=u+9,o.size-=t,l=new Uint8Array(o.size);s.length;){e=s.shift();var a=e.byteLength;if(t){if(t>a){t-=a;continue}e=e.subarray(t),a-=t,t=0}l.set(e,f),f+=a}return{data:l,pts:i,dts:r,len:d}}return null}},{key:"_parseAVCPES",value:function(i){var t,m,n,o,y=this,r=this._avcTrack,u=r.samples,p=this._parseAVCNALu(i.data),d=[],l=!1,c=!1,f=0;if(0===p.length&&u.length>0){var g=u[u.length-1],h=g.units.units[g.units.units.length-1],v=new Uint8Array(h.data.byteLength+i.data.byteLength);v.set(h.data,0),v.set(i.data,h.data.byteLength),h.data=v,g.units.length+=i.data.byteLength,r.len+=i.data.byteLength}i.data=null;var a="",E=function(){d.length&&((c===!0||r.sps&&(u.length||this.contiguous))&&(m={units:{units:d,length:f},pts:i.pts,dts:i.dts,key:c},u.push(m),r.len+=f,r.nbNalu+=d.length),d=[],f=0)};p.forEach(function(e){switch(e.type){case 1:n=!0,l&&(a+="NDR ");break;case 5:n=!0,l&&(a+="IDR "),c=!0;break;case 6:n=!0,l&&(a+="SEI "),t=new s.default(e.data),t.readUByte();var b=t.readUByte();if(4===b){var v=0;do v=t.readUByte();while(255===v);var A=t.readUByte();if(181===A){var R=t.readUShort();if(49===R){var L=t.readUInt();if(1195456820===L){var T=t.readUByte();if(3===T){var g=t.readUByte(),_=t.readUByte(),S=31&g,h=[g,_];for(o=0;S>o;o++)h.push(t.readUByte()),h.push(t.readUByte()),h.push(t.readUByte());y._txtTrack.samples.push({type:3,pts:i.pts,bytes:h})}}}}}break;case 7:if(n=!0,l&&(a+="SPS "),!r.sps){t=new s.default(e.data);var p=t.readSPS();r.width=p.width,r.height=p.height,r.sps=[e.data],r.duration=y._duration;var k=e.data.subarray(1,4),m="avc1.";for(o=0;3>o;o++){var u=k[o].toString(16);u.length<2&&(u="0"+u),m+=u}r.codec=m}break;case 8:n=!0,l&&(a+="PPS "),r.pps||(r.pps=[e.data]);break;case 9:n=!1,l&&(a+="AUD "),E();break;default:n=!1,a+="unknown NAL "+e.type+" "}n&&(d.push(e),f+=e.data.byteLength)}),(l||a.length)&&e.logger.log(a),E()}},{key:"_parseAVCNALu",value:function(r){for(var s,i,l,_,n,d,t=0,v=r.byteLength,e=this.avcNaluState,g=[];v>t;)switch(s=r[t++],e){case 0:0===s&&(e=1);break;case 1:e=0===s?2:0;break;case 2:case 3:if(0===s)e=3;else if(1===s&&v>t){if(_=31&r[t],n)l={data:r.subarray(n,t-e-1),type:d},g.push(l);else{var a=this.avcNaluState;if(a&&4-a>=t){var m=this._avcTrack,c=m.samples;if(c.length){var p=c[c.length-1],R=p.units.units,u=R[R.length-1];u.state&&(u.data=u.data.subarray(0,u.data.byteLength-a),p.units.length-=a,m.len-=a)}}if(i=t-e-1,i>0){var y=this._avcTrack,h=y.samples;if(h.length){var E=h[h.length-1],b=E.units.units,o=b[b.length-1],f=new Uint8Array(o.data.byteLength+i);f.set(o.data,0),f.set(r.subarray(0,i),o.data.byteLength),o.data=f,E.units.length+=i,y.len+=i}}}n=t,d=_,e=0}else e=0}return n&&(l={data:r.subarray(n,v),type:d,state:e},g.push(l),this.avcNaluState=e),g}},{key:"_parseAACPES",value:function(R){var l,o,p,E,t,d,f,s,_,a=this._aacTrack,i=R.data,g=R.pts,k=0,L=this._duration,A=this.audioCodec,u=this.aacOverFlow,b=this.aacLastPTS;if(u){var m=new Uint8Array(u.byteLength+i.byteLength);m.set(u,0),m.set(i,u.byteLength),i=m}for(t=k,s=i.length;s-1>t&&(255!==i[t]||240!==(240&i[t+1]));t++);if(t){var y,h;if(s-1>t?(y="AAC PES did not start with ADTS header,offset:"+t,h=!1):(y="no ADTS header found in AAC PES",h=!0),this.observer.trigger(n.default.ERROR,{type:r.ErrorTypes.MEDIA_ERROR,details:r.ErrorDetails.FRAG_PARSING_ERROR,fatal:h,reason:y}),h)return}if(a.audiosamplerate||(l=c.default.getAudioConfig(this.observer,i,t,A),a.config=l.config,a.audiosamplerate=l.samplerate,a.channelCount=l.channelCount,a.codec=l.codec,a.duration=L,e.logger.log("parsed codec:"+a.codec+",rate:"+l.samplerate+",nb channel:"+l.channelCount)),E=0,p=9216e4/a.audiosamplerate,u&&b){var v=b+p;Math.abs(v-g)>1&&(e.logger.log("AAC: align PTS for overlapping frames by "+Math.round((v-g)/90)),g=v)}for(;s>t+5&&(d=1&i[t+1]?7:9,o=(3&i[t+3])<<11|i[t+4]<<3|(224&i[t+5])>>>5,o-=d,o>0&&s>=t+d+o);)for(f=g+E*p,_={unit:i.subarray(t+d,t+d+o),pts:f,dts:f},a.samples.push(_),a.len+=o,t+=o+d,E++;s-1>t&&(255!==i[t]||240!==(240&i[t+1]));t++);u=s>t?i.subarray(t,s):null,this.aacOverFlow=u,this.aacLastPTS=f}},{key:"_parseID3PES",value:function(e){this._id3Track.samples.push(e)}}],[{key:"probe",value:function(e){return e.length>=564&&71===e[0]&&71===e[188]&&71===e[376]}}]),t}();a.default=o},{"../errors":21,"../events":23,"../utils/logger":38,"./adts":14,"./exp-golomb":18}],21:[function(t,r,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.ErrorTypes={NETWORK_ERROR:"networkError",MEDIA_ERROR:"mediaError",OTHER_ERROR:"otherError"},e.ErrorDetails={MANIFEST_LOAD_ERROR:"manifestLoadError",MANIFEST_LOAD_TIMEOUT:"manifestLoadTimeOut",MANIFEST_PARSING_ERROR:"manifestParsingError",MANIFEST_INCOMPATIBLE_CODECS_ERROR:"manifestIncompatibleCodecsError",LEVEL_LOAD_ERROR:"levelLoadError",LEVEL_LOAD_TIMEOUT:"levelLoadTimeOut",LEVEL_SWITCH_ERROR:"levelSwitchError",FRAG_LOAD_ERROR:"fragLoadError",FRAG_LOOP_LOADING_ERROR:"fragLoopLoadingError",FRAG_LOAD_TIMEOUT:"fragLoadTimeOut",FRAG_DECRYPT_ERROR:"fragDecryptError",FRAG_PARSING_ERROR:"fragParsingError",KEY_LOAD_ERROR:"keyLoadError",KEY_LOAD_TIMEOUT:"keyLoadTimeOut",BUFFER_APPEND_ERROR:"bufferAppendError",BUFFER_APPENDING_ERROR:"bufferAppendingError",BUFFER_STALLED_ERROR:"bufferStalledError",BUFFER_FULL_ERROR:"bufferFullError",BUFFER_SEEK_OVER_HOLE:"bufferSeekOverHole",INTERNAL_EXCEPTION:"internalException"}},{}],22:[function(e,f,t){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},d=function(){function e(i,r){for(var t=0;t1?r-1:0),t=1;r>t;t++)i[t-1]=arguments[t];this.handledEvents=i,this.useGenericHandler=!0,this.registerListeners()}return d(e,[{key:"destroy",value:function(){this.unregisterListeners()}},{key:"isEventHandler",value:function(){return"object"===n(this.handledEvents)&&this.handledEvents.length&&"function"==typeof this.onEvent}},{key:"registerListeners",value:function(){this.isEventHandler()&&this.handledEvents.forEach(function(e){if("hlsEventGeneric"===e)throw new Error("Forbidden event name: "+e);this.hls.on(e,this.onEvent)}.bind(this))}},{key:"unregisterListeners",value:function(){this.isEventHandler()&&this.handledEvents.forEach(function(e){this.hls.off(e,this.onEvent)}.bind(this))}},{key:"onEvent",value:function(e,t){this.onEventGeneric(e,t)}},{key:"onEventGeneric",value:function(e,t){var i=function(t,r){var e="on"+t.replace("hls","");if("function"!=typeof this[e])throw new Error("Event "+t+" has no generic handler in this "+this.constructor.name+" class (tried "+e+")");return this[e].bind(this,r)};try{i.call(this,e,t).call()}catch(t){o.logger.error("internal error happened while processing "+e+":"+t.message),this.hls.trigger(s.default.ERROR,{type:r.ErrorTypes.OTHER_ERROR,details:r.ErrorDetails.INTERNAL_EXCEPTION,fatal:!1,event:e,err:t})}}}]),e}();t.default=l},{"./errors":21,"./events":23,"./utils/logger":38}],23:[function(t,e,r){"use strict";e.exports={MEDIA_ATTACHING:"hlsMediaAttaching",MEDIA_ATTACHED:"hlsMediaAttached",MEDIA_DETACHING:"hlsMediaDetaching",MEDIA_DETACHED:"hlsMediaDetached",BUFFER_RESET:"hlsBufferReset",BUFFER_CODECS:"hlsBufferCodecs",BUFFER_APPENDING:"hlsBufferAppending",BUFFER_APPENDED:"hlsBufferAppended",BUFFER_EOS:"hlsBufferEos",BUFFER_FLUSHING:"hlsBufferFlushing",BUFFER_FLUSHED:"hlsBufferFlushed",MANIFEST_LOADING:"hlsManifestLoading",MANIFEST_LOADED:"hlsManifestLoaded",MANIFEST_PARSED:"hlsManifestParsed",LEVEL_LOADING:"hlsLevelLoading",LEVEL_LOADED:"hlsLevelLoaded",LEVEL_UPDATED:"hlsLevelUpdated",LEVEL_PTS_UPDATED:"hlsLevelPtsUpdated",LEVEL_SWITCH:"hlsLevelSwitch",FRAG_LOADING:"hlsFragLoading",FRAG_LOAD_PROGRESS:"hlsFragLoadProgress",FRAG_LOAD_EMERGENCY_ABORTED:"hlsFragLoadEmergencyAborted",FRAG_LOADED:"hlsFragLoaded",FRAG_PARSING_INIT_SEGMENT:"hlsFragParsingInitSegment",FRAG_PARSING_USERDATA:"hlsFragParsingUserdata",FRAG_PARSING_METADATA:"hlsFragParsingMetadata",FRAG_PARSING_DATA:"hlsFragParsingData",FRAG_PARSED:"hlsFragParsed",FRAG_BUFFERED:"hlsFragBuffered",FRAG_CHANGED:"hlsFragChanged",FPS_DROP:"hlsFpsDrop",ERROR:"hlsError",DESTROYING:"hlsDestroying",KEY_LOADING:"hlsKeyLoading",KEY_LOADED:"hlsKeyLoaded"}},{}],24:[function(a,n,e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function e(i,r){for(var t=0;td&&(t[u-1].end=r[e].end):t.push(r[e])}else t.push(r[e])}for(e=0,o=0,l=a=i;e=n&&f>i)l=n,a=f,o=a-i;else if(n>i+s){h=n;break}}return{len:o,start:l,end:a,nextStart:h}}}]),e}();e.default=i},{}],25:[function(r,s,t){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(i,r){for(var t=0;th)return void(i.PTSKnown=!1);for(var r=c;h>=r;r++){var o=f[u+r],n=l[r];d=o.cc-n.cc,isNaN(o.startPTS)||(n.start=n.startPTS=o.startPTS,n.endPTS=o.endPTS,n.duration=o.duration,a=n)}if(d)for(e.logger.log("discontinuity sliding from playlist, take drift into account"),r=0;r=0&&ui.endSN)return 0;o=u-i.startSN,n=i.fragments,e=n[o],isNaN(e.startPTS)||(a=Math.min(a,e.startPTS),s=Math.max(s,e.endPTS),l=Math.min(l,e.startDTS),d=Math.max(d,e.endDTS));var f=a-e.start;for(e.start=e.startPTS=a,e.endPTS=s,e.startDTS=l,e.endDTS=d,e.duration=s-a,r=o;r>0;r--)t.updatePTS(n,r,r-1);for(r=o;ri?r.start=t.start+t.duration:r.start=t.start-r.duration:a>i?(t.duration=n-t.start,t.duration<0&&e.logger.error("negative duration computed for frag "+t.sn+",level "+t.level+", there should be some duration drift between playlist and fragment!")):(r.duration=t.start-n,r.duration<0&&e.logger.error("negative duration computed for frag "+r.sn+",level "+r.level+", there should be some duration drift between playlist and fragment!"))}}]),t}();t.default=n},{"../utils/logger":38}],26:[function(t,I,a){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var n=function(){function e(i,r){for(var t=0;t1?t-1:0),e=1;t>e;e++)a[e-1]=arguments[e];i.emit.apply(i,[r,r].concat(a))},i.off=function(a){for(var t=arguments.length,r=Array(t>1?t-1:0),e=1;t>e;e++)r[e-1]=arguments[e];i.removeListener.apply(i,[a].concat(r))},this.on=i.on.bind(i),this.off=i.off.bind(i),this.trigger=i.trigger.bind(i),this.playlistLoader=new d.default(this),this.fragmentLoader=new h.default(this),this.levelController=new R.default(this),this.abrController=new r.abrController(this),this.bufferController=new r.bufferController(this),this.capLevelController=new r.capLevelController(this),this.streamController=new r.streamController(this),this.timelineController=new r.timelineController(this),this.keyLoader=new p.default(this)}return n(t,null,[{key:"isSupported",value:function(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}},{key:"Events",get:function(){return i.default}},{key:"ErrorTypes",get:function(){return s.ErrorTypes}},{key:"ErrorDetails",get:function(){return s.ErrorDetails}},{key:"DefaultConfig",get:function(){return t.defaultConfig||(t.defaultConfig={autoStartLoad:!0,debug:!1,capLevelToPlayerSize:!1,maxBufferLength:30,maxBufferSize:6e7,maxBufferHole:.5,maxSeekHole:2,seekHoleNudgeDuration:.01,stalledInBufferedNudgeThreshold:10,maxFragLookUpTolerance:.2,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxMaxBufferLength:600,enableWorker:!0,enableSoftwareAES:!0,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingLoopThreshold:3,startFragPrefetch:!1,appendErrorMaxRetry:3,loader:S.default,fLoader:void 0,pLoader:void 0,abrController:g.default,bufferController:P.default,capLevelController:m.default,streamController:b.default,timelineController:L.default,enableCEA708Captions:!0,enableMP2TPassThrough:!1,abrEwmaFast:0,abrEwmaSlow:0,abrBandWidthFactor:.8,abrBandWidthUpFactor:.7}),t.defaultConfig},set:function(e){t.defaultConfig=e}}]),n(t,[{key:"destroy",value:function(){e.logger.log("destroy"),this.trigger(i.default.DESTROYING),this.detachMedia(),this.playlistLoader.destroy(),this.fragmentLoader.destroy(),this.levelController.destroy(),this.abrController.destroy(),this.bufferController.destroy(),this.capLevelController.destroy(),this.streamController.destroy(),this.timelineController.destroy(),this.keyLoader.destroy(),this.url=null,this.observer.removeAllListeners()}},{key:"attachMedia",value:function(t){e.logger.log("attachMedia"),this.media=t,this.trigger(i.default.MEDIA_ATTACHING,{media:t})}},{key:"detachMedia",value:function(){e.logger.log("detachMedia"),this.trigger(i.default.MEDIA_DETACHING),this.media=null}},{key:"loadSource",value:function(t){e.logger.log("loadSource:"+t),this.url=t,this.trigger(i.default.MANIFEST_LOADING,{url:t})}},{key:"startLoad",value:function(){var t=arguments.length<=0||void 0===arguments[0]?0:arguments[0];e.logger.log("startLoad"),this.levelController.startLoad(),this.streamController.startLoad(t)}},{key:"stopLoad",value:function(){e.logger.log("stopLoad"),this.levelController.stopLoad(),this.streamController.stopLoad()}},{key:"swapAudioCodec",value:function(){e.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}},{key:"recoverMediaError",value:function(){e.logger.log("recoverMediaError");var t=this.media;this.detachMedia(),this.attachMedia(t)}},{key:"levels",get:function(){return this.levelController.levels}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(t){e.logger.log("set currentLevel:"+t),this.loadLevel=t,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(t){e.logger.log("set nextLevel:"+t),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(t){e.logger.log("set loadLevel:"+t),this.levelController.manualLevel=t}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return this.levelController.firstLevel},set:function(t){e.logger.log("set firstLevel:"+t),this.levelController.firstLevel=t}},{key:"startLevel",get:function(){return this.levelController.startLevel},set:function(t){e.logger.log("set startLevel:"+t),this.levelController.startLevel=t}},{key:"autoLevelCapping",get:function(){return this.abrController.autoLevelCapping},set:function(t){e.logger.log("set autoLevelCapping:"+t),this.abrController.autoLevelCapping=t}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}}]),t}();a.default=l},{"./controller/abr-controller":3,"./controller/buffer-controller":4,"./controller/cap-level-controller":5,"./controller/level-controller":7,"./controller/stream-controller":8,"./controller/timeline-controller":9,"./errors":21,"./events":23,"./loader/fragment-loader":28,"./loader/key-loader":29,"./loader/playlist-loader":30,"./utils/logger":38,"./utils/xhr-loader":40,events:1}],27:[function(e,t,r){"use strict";t.exports=e("./hls.js").default},{"./hls.js":26}],28:[function(r,c,i){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var h=function(){function e(i,r){for(var t=0;t0?this.word<<=e:this.bytesAvailable>0&&this.loadWord(),e=t-e,e>0?r<>>e))return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"skipEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var e=this.skipLZ();return this.readBits(e+1)-1}},{key:"readEG",value:function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}},{key:"readBoolean",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"readUShort",value:function(){return this.readBits(16)}},{key:"readUInt",value:function(){return this.readBits(32)}},{key:"skipScalingList",value:function(a){var t,i,r=8,e=8;for(t=0;a>t;t++)0!==e&&(i=this.readEG(),e=(r+i+256)%256),r=0===e?r:e}},{key:"readSPS",value:function(){var t,v,p,l,a,n,i,o,r,s=0,d=0,f=0,h=0,c=1;if(this.readUByte(),t=this.readUByte(),v=this.readBits(5),this.skipBits(3),p=this.readUByte(),this.skipUEG(),100===t||110===t||122===t||244===t||44===t||83===t||86===t||118===t||128===t){var g=this.readUEG();if(3===g&&this.skipBits(1),this.skipUEG(),this.skipUEG(),this.skipBits(1),this.readBoolean())for(o=3!==g?8:12,r=0;o>r;r++)this.readBoolean()&&(6>r?this.skipScalingList(16):this.skipScalingList(64))}this.skipUEG();var u=this.readUEG();if(0===u)this.readUEG();else if(1===u)for(this.skipBits(1),this.skipEG(),this.skipEG(),l=this.readUEG(),r=0;l>r;r++)this.skipEG();if(this.skipUEG(),this.skipBits(1),a=this.readUEG(),n=this.readUEG(),i=this.readBits(1),0===i&&this.skipBits(1),this.skipBits(1),this.readBoolean()&&(s=this.readUEG(),d=this.readUEG(),f=this.readUEG(),h=this.readUEG()),this.readBoolean()&&this.readBoolean()){var e=void 0,y=this.readUByte();switch(y){case 1:e=[1,1];break;case 2:e=[12,11];break;case 3:e=[10,11];break;case 4:e=[16,11];break;case 5:e=[40,33];break;case 6:e=[24,11];break;case 7:e=[20,11];break;case 8:e=[32,11];break;case 9:e=[80,33];break;case 10:e=[18,11];break;case 11:e=[15,11];break;case 12:e=[64,33];break;case 13:e=[160,99];break;case 14:e=[4,3];break;case 15:e=[3,2];break;case 16:e=[2,1];break;case 255:e=[this.readUByte()<<8|this.readUByte(),this.readUByte()<<8|this.readUByte()]}e&&(c=e[0]/e[1])}return{width:Math.ceil((16*(a+1)-2*s-2*d)*c),height:(2-i)*(n+1)*16-(i?2:4)*(f+h)}}},{key:"readSliceType",value:function(){return this.readUByte(),this.readUEG(),this.readUEG()}}]),e}();e.default=n},{"../utils/logger":38}],19:[function(r,s,t){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(i,r){for(var t=0;tr);return t}},{key:"_parseID3Frames",value:function(r,t,n){for(var a,s,o,l,i;n>=t+8;)switch(a=this.readUTF(r,t,4),t+=4,s=r[t++]<<24+r[t++]<<16+r[t++]<<8+r[t++],l=r[t++]<<8+r[t++],o=t,a){case"PRIV":if("com.apple.streaming.transportStreamTimestamp"===this.readUTF(r,t,44)){t+=44,t+=4;var u=1&r[t++];this._hasTimeStamp=!0,i=((r[t++]<<23)+(r[t++]<<15)+(r[t++]<<7)+r[t++])/45,u&&(i+=47721858.84),i=Math.round(i),e.logger.trace("ID3 timestamp found: "+i),this._timeStamp=i}}}},{key:"hasTimeStamp",get:function(){return this._hasTimeStamp}},{key:"timeStamp",get:function(){return this._timeStamp}},{key:"length",get:function(){return this._length}},{key:"payload",get:function(){return this._payload}}]),t}();t.default=n},{"../utils/logger":38}],20:[function(t,g,a){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var f=function(){function e(i,r){for(var t=0;tt;t+=188)if(71===i[t]){if(d=!!(64&i[t+1]),u=((31&i[t+1])<<8)+i[t+2],y=(48&i[t+3])>>4,y>1){if(a=t+5+i[t+4],a===t+188)continue}else a=t+4;if(v)if(u===h){if(d){if(s&&(this._parseAVCPES(this._parsePES(s)),b&&this._avcTrack.codec&&(-1===f||this._aacTrack.codec)))return void this.remux(i);s={data:[],size:0}}s&&(s.data.push(i.subarray(a,t+188)),s.size+=t+188-a)}else if(u===f){if(d){if(o&&(this._parseAACPES(this._parsePES(o)),b&&this._aacTrack.codec&&(-1===h||this._avcTrack.codec)))return void this.remux(i);o={data:[],size:0}}o&&(o.data.push(i.subarray(a,t+188)),o.size+=t+188-a)}else u===_&&(d&&(l&&this._parseID3PES(this._parsePES(l)),l={data:[],size:0}),l&&(l.data.push(i.subarray(a,t+188)),l.size+=t+188-a));else d&&(a+=i[a]+1),0===u?this._parsePAT(i,a):u===this._pmtId?(this._parsePMT(i,a),v=this.pmtParsed=!0,h=this._avcTrack.id,f=this._aacTrack.id,_=this._id3Track.id,g&&(e.logger.log("reparse from beginning"),g=!1,t=-188)):(e.logger.log("unknown PID found before PAT/PMT"),g=!0)}else this.observer.trigger(n.default.ERROR,{type:r.ErrorTypes.MEDIA_ERROR,details:r.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"TS packet did not start with 0x47"});s&&this._parseAVCPES(this._parsePES(s)),o&&this._parseAACPES(this._parsePES(o)),l&&this._parseID3PES(this._parsePES(l)),this.remux(null)}},{key:"remux",value:function(e){this.remuxer.remux(this._aacTrack,this._avcTrack,this._id3Track,this._txtTrack,this.timeOffset,this.contiguous,e)}},{key:"destroy",value:function(){this.switchLevel(),this._initPTS=this._initDTS=void 0,this._duration=0}},{key:"_parsePAT",value:function(e,t){this._pmtId=(31&e[t+10])<<8|e[t+11]}},{key:"_parsePMT",value:function(r,t){var a,n,s,i;for(a=(15&r[t+1])<<8|r[t+2],n=t+3+a-4,s=(15&r[t+10])<<8|r[t+11],t+=12+s;n>t;){switch(i=(31&r[t+1])<<8|r[t+2],r[t]){case 15:this._aacTrack.id=i;break;case 21:this._id3Track.id=i;break;case 27:this._avcTrack.id=i;break;default:e.logger.log("unkown stream type:"+r[t])}t+=((15&r[t+3])<<8|r[t+4])+5}}},{key:"_parsePES",value:function(o){var e,n,h,d,u,l,i,r,t,f=0,s=o.data;if(e=s[0],h=(e[0]<<16)+(e[1]<<8)+e[2],1===h){for(d=(e[4]<<8)+e[5],n=e[7],192&n&&(i=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,i>4294967295&&(i-=8589934592),64&n?(r=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,r>4294967295&&(r-=8589934592)):r=i),u=e[8],t=u+9,o.size-=t,l=new Uint8Array(o.size);s.length;){e=s.shift();var a=e.byteLength;if(t){if(t>a){t-=a;continue}e=e.subarray(t),a-=t,t=0}l.set(e,f),f+=a}return{data:l,pts:i,dts:r,len:d}}return null}},{key:"_parseAVCPES",value:function(i){var t,m,n,o,y=this,r=this._avcTrack,u=r.samples,p=this._parseAVCNALu(i.data),d=[],l=!1,c=!1,f=0;if(0===p.length&&u.length>0){var g=u[u.length-1],h=g.units.units[g.units.units.length-1],v=new Uint8Array(h.data.byteLength+i.data.byteLength);v.set(h.data,0),v.set(i.data,h.data.byteLength),h.data=v,g.units.length+=i.data.byteLength,r.len+=i.data.byteLength}i.data=null;var a="",E=function(){d.length&&((c===!0||r.sps&&(u.length||this.contiguous))&&(m={units:{units:d,length:f},pts:i.pts,dts:i.dts,key:c},u.push(m),r.len+=f,r.nbNalu+=d.length),d=[],f=0)}.bind(this);p.forEach(function(e){switch(e.type){case 1:n=!0,l&&(a+="NDR ");break;case 5:n=!0,l&&(a+="IDR "),c=!0;break;case 6:n=!0,l&&(a+="SEI "),t=new s.default(e.data),t.readUByte();var b=t.readUByte();if(4===b){var v=0;do v=t.readUByte();while(255===v);var A=t.readUByte();if(181===A){var R=t.readUShort();if(49===R){var L=t.readUInt();if(1195456820===L){var T=t.readUByte();if(3===T){var g=t.readUByte(),_=t.readUByte(),S=31&g,h=[g,_];for(o=0;S>o;o++)h.push(t.readUByte()),h.push(t.readUByte()),h.push(t.readUByte());y._txtTrack.samples.push({type:3,pts:i.pts,bytes:h})}}}}}break;case 7:if(n=!0,l&&(a+="SPS "),!r.sps){t=new s.default(e.data);var p=t.readSPS();r.width=p.width,r.height=p.height,r.sps=[e.data],r.duration=y._duration;var k=e.data.subarray(1,4),m="avc1.";for(o=0;3>o;o++){var u=k[o].toString(16);u.length<2&&(u="0"+u),m+=u}r.codec=m}break;case 8:n=!0,l&&(a+="PPS "),r.pps||(r.pps=[e.data]);break;case 9:n=!1,l&&(a+="AUD "),E();break;default:n=!1,a+="unknown NAL "+e.type+" "}n&&(d.push(e),f+=e.data.byteLength)}),(l||a.length)&&e.logger.log(a),E()}},{key:"_parseAVCNALu",value:function(r){for(var s,i,l,_,n,d,t=0,v=r.byteLength,e=this.avcNaluState,g=[];v>t;)switch(s=r[t++],e){case 0:0===s&&(e=1);break;case 1:e=0===s?2:0;break;case 2:case 3:if(0===s)e=3;else if(1===s&&v>t){if(_=31&r[t],n)l={data:r.subarray(n,t-e-1),type:d},g.push(l);else{var a=this.avcNaluState;if(a&&4-a>=t){var m=this._avcTrack,c=m.samples;if(c.length){var p=c[c.length-1],R=p.units.units,u=R[R.length-1];u.state&&(u.data=u.data.subarray(0,u.data.byteLength-a),p.units.length-=a,m.len-=a)}}if(i=t-e-1,i>0){var y=this._avcTrack,h=y.samples;if(h.length){var E=h[h.length-1],b=E.units.units,o=b[b.length-1],f=new Uint8Array(o.data.byteLength+i);f.set(o.data,0),f.set(r.subarray(0,i),o.data.byteLength),o.data=f,E.units.length+=i,y.len+=i}}}n=t,d=_,e=0}else e=0}return n&&(l={data:r.subarray(n,v),type:d,state:e},g.push(l),this.avcNaluState=e),g}},{key:"_parseAACPES",value:function(R){var l,o,p,E,t,d,f,s,_,a=this._aacTrack,i=R.data,g=R.pts,k=0,L=this._duration,A=this.audioCodec,u=this.aacOverFlow,b=this.aacLastPTS;if(u){var m=new Uint8Array(u.byteLength+i.byteLength);m.set(u,0),m.set(i,u.byteLength),i=m}for(t=k,s=i.length;s-1>t&&(255!==i[t]||240!==(240&i[t+1]));t++);if(t){var y,h;if(s-1>t?(y="AAC PES did not start with ADTS header,offset:"+t,h=!1):(y="no ADTS header found in AAC PES",h=!0),this.observer.trigger(n.default.ERROR,{type:r.ErrorTypes.MEDIA_ERROR,details:r.ErrorDetails.FRAG_PARSING_ERROR,fatal:h,reason:y}),h)return}if(a.audiosamplerate||(l=c.default.getAudioConfig(this.observer,i,t,A),a.config=l.config,a.audiosamplerate=l.samplerate,a.channelCount=l.channelCount,a.codec=l.codec,a.duration=L,e.logger.log("parsed codec:"+a.codec+",rate:"+l.samplerate+",nb channel:"+l.channelCount)),E=0,p=9216e4/a.audiosamplerate,u&&b){var v=b+p;Math.abs(v-g)>1&&(e.logger.log("AAC: align PTS for overlapping frames by "+Math.round((v-g)/90)),g=v)}for(;s>t+5&&(d=1&i[t+1]?7:9,o=(3&i[t+3])<<11|i[t+4]<<3|(224&i[t+5])>>>5,o-=d,o>0&&s>=t+d+o);)for(f=g+E*p,_={unit:i.subarray(t+d,t+d+o),pts:f,dts:f},a.samples.push(_),a.len+=o,t+=o+d,E++;s-1>t&&(255!==i[t]||240!==(240&i[t+1]));t++);u=s>t?i.subarray(t,s):null,this.aacOverFlow=u,this.aacLastPTS=f}},{key:"_parseID3PES",value:function(e){this._id3Track.samples.push(e)}}],[{key:"probe",value:function(e){return e.length>=564&&71===e[0]&&71===e[188]&&71===e[376]}}]),t}();a.default=o},{"../errors":21,"../events":23,"../utils/logger":38,"./adts":14,"./exp-golomb":18}],21:[function(t,r,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.ErrorTypes={NETWORK_ERROR:"networkError",MEDIA_ERROR:"mediaError",OTHER_ERROR:"otherError"},e.ErrorDetails={MANIFEST_LOAD_ERROR:"manifestLoadError",MANIFEST_LOAD_TIMEOUT:"manifestLoadTimeOut",MANIFEST_PARSING_ERROR:"manifestParsingError",MANIFEST_INCOMPATIBLE_CODECS_ERROR:"manifestIncompatibleCodecsError",LEVEL_LOAD_ERROR:"levelLoadError",LEVEL_LOAD_TIMEOUT:"levelLoadTimeOut",LEVEL_SWITCH_ERROR:"levelSwitchError",FRAG_LOAD_ERROR:"fragLoadError",FRAG_LOOP_LOADING_ERROR:"fragLoopLoadingError",FRAG_LOAD_TIMEOUT:"fragLoadTimeOut",FRAG_DECRYPT_ERROR:"fragDecryptError",FRAG_PARSING_ERROR:"fragParsingError",KEY_LOAD_ERROR:"keyLoadError",KEY_LOAD_TIMEOUT:"keyLoadTimeOut",BUFFER_APPEND_ERROR:"bufferAppendError",BUFFER_APPENDING_ERROR:"bufferAppendingError",BUFFER_STALLED_ERROR:"bufferStalledError",BUFFER_FULL_ERROR:"bufferFullError",BUFFER_SEEK_OVER_HOLE:"bufferSeekOverHole",INTERNAL_EXCEPTION:"internalException"}},{}],22:[function(e,f,t){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},d=function(){function e(i,r){for(var t=0;t1?r-1:0),t=1;r>t;t++)i[t-1]=arguments[t];this.handledEvents=i,this.useGenericHandler=!0,this.registerListeners()}return d(e,[{key:"destroy",value:function(){this.unregisterListeners()}},{key:"isEventHandler",value:function(){return"object"===n(this.handledEvents)&&this.handledEvents.length&&"function"==typeof this.onEvent}},{key:"registerListeners",value:function(){this.isEventHandler()&&this.handledEvents.forEach(function(e){if("hlsEventGeneric"===e)throw new Error("Forbidden event name: "+e);this.hls.on(e,this.onEvent)}.bind(this))}},{key:"unregisterListeners",value:function(){this.isEventHandler()&&this.handledEvents.forEach(function(e){this.hls.off(e,this.onEvent)}.bind(this))}},{key:"onEvent",value:function(e,t){this.onEventGeneric(e,t)}},{key:"onEventGeneric",value:function(e,t){var i=function(t,r){var e="on"+t.replace("hls","");if("function"!=typeof this[e])throw new Error("Event "+t+" has no generic handler in this "+this.constructor.name+" class (tried "+e+")");return this[e].bind(this,r)};try{i.call(this,e,t).call()}catch(t){o.logger.error("internal error happened while processing "+e+":"+t.message),this.hls.trigger(s.default.ERROR,{type:r.ErrorTypes.OTHER_ERROR,details:r.ErrorDetails.INTERNAL_EXCEPTION,fatal:!1,event:e,err:t})}}}]),e}();t.default=l},{"./errors":21,"./events":23,"./utils/logger":38}],23:[function(t,e,r){"use strict";e.exports={MEDIA_ATTACHING:"hlsMediaAttaching",MEDIA_ATTACHED:"hlsMediaAttached",MEDIA_DETACHING:"hlsMediaDetaching",MEDIA_DETACHED:"hlsMediaDetached",BUFFER_RESET:"hlsBufferReset",BUFFER_CODECS:"hlsBufferCodecs",BUFFER_APPENDING:"hlsBufferAppending",BUFFER_APPENDED:"hlsBufferAppended",BUFFER_EOS:"hlsBufferEos",BUFFER_FLUSHING:"hlsBufferFlushing",BUFFER_FLUSHED:"hlsBufferFlushed",MANIFEST_LOADING:"hlsManifestLoading",MANIFEST_LOADED:"hlsManifestLoaded",MANIFEST_PARSED:"hlsManifestParsed",LEVEL_LOADING:"hlsLevelLoading",LEVEL_LOADED:"hlsLevelLoaded",LEVEL_UPDATED:"hlsLevelUpdated",LEVEL_PTS_UPDATED:"hlsLevelPtsUpdated",LEVEL_SWITCH:"hlsLevelSwitch",FRAG_LOADING:"hlsFragLoading",FRAG_LOAD_PROGRESS:"hlsFragLoadProgress",FRAG_LOAD_EMERGENCY_ABORTED:"hlsFragLoadEmergencyAborted",FRAG_LOADED:"hlsFragLoaded",FRAG_PARSING_INIT_SEGMENT:"hlsFragParsingInitSegment",FRAG_PARSING_USERDATA:"hlsFragParsingUserdata",FRAG_PARSING_METADATA:"hlsFragParsingMetadata",FRAG_PARSING_DATA:"hlsFragParsingData",FRAG_PARSED:"hlsFragParsed",FRAG_BUFFERED:"hlsFragBuffered",FRAG_CHANGED:"hlsFragChanged",FPS_DROP:"hlsFpsDrop",ERROR:"hlsError",DESTROYING:"hlsDestroying",KEY_LOADING:"hlsKeyLoading",KEY_LOADED:"hlsKeyLoaded"}},{}],24:[function(a,n,e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function e(i,r){for(var t=0;td&&(t[u-1].end=r[e].end):t.push(r[e])}else t.push(r[e])}for(e=0,o=0,l=a=i;e=n&&f>i)l=n,a=f,o=a-i;else if(n>i+s){h=n;break}}return{len:o,start:l,end:a,nextStart:h}}}]),e}();e.default=i},{}],25:[function(r,s,t){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(i,r){for(var t=0;th)return void(i.PTSKnown=!1);for(var r=c;h>=r;r++){var o=f[u+r],n=l[r];d=o.cc-n.cc,isNaN(o.startPTS)||(n.start=n.startPTS=o.startPTS,n.endPTS=o.endPTS,n.duration=o.duration,a=n)}if(d)for(e.logger.log("discontinuity sliding from playlist, take drift into account"),r=0;r=0&&ui.endSN)return 0;o=u-i.startSN,n=i.fragments,e=n[o],isNaN(e.startPTS)||(a=Math.min(a,e.startPTS),s=Math.max(s,e.endPTS),l=Math.min(l,e.startDTS),d=Math.max(d,e.endDTS));var f=a-e.start;for(e.start=e.startPTS=a,e.endPTS=s,e.startDTS=l,e.endDTS=d,e.duration=s-a,r=o;r>0;r--)t.updatePTS(n,r,r-1);for(r=o;ri?r.start=t.start+t.duration:r.start=t.start-r.duration:a>i?(t.duration=n-t.start,t.duration<0&&e.logger.error("negative duration computed for frag "+t.sn+",level "+t.level+", there should be some duration drift between playlist and fragment!")):(r.duration=t.start-n,r.duration<0&&e.logger.error("negative duration computed for frag "+r.sn+",level "+r.level+", there should be some duration drift between playlist and fragment!"))}}]),t}();t.default=n},{"../utils/logger":38}],26:[function(t,I,a){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var n=function(){function e(i,r){for(var t=0;t1?t-1:0),e=1;t>e;e++)a[e-1]=arguments[e];i.emit.apply(i,[r,r].concat(a))},i.off=function(a){for(var t=arguments.length,r=Array(t>1?t-1:0),e=1;t>e;e++)r[e-1]=arguments[e];i.removeListener.apply(i,[a].concat(r))},this.on=i.on.bind(i),this.off=i.off.bind(i),this.trigger=i.trigger.bind(i),this.playlistLoader=new d.default(this),this.fragmentLoader=new h.default(this),this.levelController=new R.default(this),this.abrController=new r.abrController(this),this.bufferController=new r.bufferController(this),this.capLevelController=new r.capLevelController(this),this.streamController=new r.streamController(this),this.timelineController=new r.timelineController(this),this.keyLoader=new p.default(this)}return n(t,null,[{key:"isSupported",value:function(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}},{key:"Events",get:function(){return i.default}},{key:"ErrorTypes",get:function(){return s.ErrorTypes}},{key:"ErrorDetails",get:function(){return s.ErrorDetails}},{key:"DefaultConfig",get:function(){return t.defaultConfig||(t.defaultConfig={autoStartLoad:!0,debug:!1,capLevelToPlayerSize:!1,maxBufferLength:30,maxBufferSize:6e7,maxBufferHole:.5,maxSeekHole:2,seekHoleNudgeDuration:.01,stalledInBufferedNudgeThreshold:10,maxFragLookUpTolerance:.2,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxMaxBufferLength:600,enableWorker:!0,enableSoftwareAES:!0,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingLoopThreshold:3,startFragPrefetch:!1,appendErrorMaxRetry:3,loader:S.default,fLoader:void 0,pLoader:void 0,abrController:g.default,bufferController:P.default,capLevelController:m.default,streamController:b.default,timelineController:L.default,enableCEA708Captions:!0,enableMP2TPassThrough:!1,abrEwmaFast:0,abrEwmaSlow:0,abrBandWidthFactor:.8,abrBandWidthUpFactor:.7}),t.defaultConfig},set:function(e){t.defaultConfig=e}}]),n(t,[{key:"destroy",value:function(){e.logger.log("destroy"),this.trigger(i.default.DESTROYING),this.detachMedia(),this.playlistLoader.destroy(),this.fragmentLoader.destroy(),this.levelController.destroy(),this.abrController.destroy(),this.bufferController.destroy(),this.capLevelController.destroy(),this.streamController.destroy(),this.timelineController.destroy(),this.keyLoader.destroy(),this.url=null,this.observer.removeAllListeners()}},{key:"attachMedia",value:function(t){e.logger.log("attachMedia"),this.media=t,this.trigger(i.default.MEDIA_ATTACHING,{media:t})}},{key:"detachMedia",value:function(){e.logger.log("detachMedia"),this.trigger(i.default.MEDIA_DETACHING),this.media=null}},{key:"loadSource",value:function(t){e.logger.log("loadSource:"+t),this.url=t,this.trigger(i.default.MANIFEST_LOADING,{url:t})}},{key:"startLoad",value:function(){var t=arguments.length<=0||void 0===arguments[0]?0:arguments[0];e.logger.log("startLoad"),this.levelController.startLoad(),this.streamController.startLoad(t)}},{key:"stopLoad",value:function(){e.logger.log("stopLoad"),this.levelController.stopLoad(),this.streamController.stopLoad()}},{key:"swapAudioCodec",value:function(){e.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}},{key:"recoverMediaError",value:function(){e.logger.log("recoverMediaError");var t=this.media;this.detachMedia(),this.attachMedia(t)}},{key:"levels",get:function(){return this.levelController.levels}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(t){e.logger.log("set currentLevel:"+t),this.loadLevel=t,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(t){e.logger.log("set nextLevel:"+t),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(t){e.logger.log("set loadLevel:"+t),this.levelController.manualLevel=t}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return this.levelController.firstLevel},set:function(t){e.logger.log("set firstLevel:"+t),this.levelController.firstLevel=t}},{key:"startLevel",get:function(){return this.levelController.startLevel},set:function(t){e.logger.log("set startLevel:"+t),this.levelController.startLevel=t}},{key:"autoLevelCapping",get:function(){return this.abrController.autoLevelCapping},set:function(t){e.logger.log("set autoLevelCapping:"+t),this.abrController.autoLevelCapping=t}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}}]),t}();a.default=l},{"./controller/abr-controller":3,"./controller/buffer-controller":4,"./controller/cap-level-controller":5,"./controller/level-controller":7,"./controller/stream-controller":8,"./controller/timeline-controller":9,"./errors":21,"./events":23,"./loader/fragment-loader":28,"./loader/key-loader":29,"./loader/playlist-loader":30,"./utils/logger":38,"./utils/xhr-loader":40,events:1}],27:[function(e,t,r){"use strict";t.exports=e("./hls.js").default},{"./hls.js":26}],28:[function(r,c,i){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var h=function(){function e(i,r){for(var t=0;t2?(e=t.shift()+".",e+=parseInt(t.shift()).toString(16),e+=("000"+parseInt(t.shift()).toString(16)).substr(-4)):e=r,e}},{key:"cloneObj",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"parseLevelPlaylist",value:function(L,s,A){var e,b,u,n,g=0,o=0,i={url:s,fragments:[],live:!0,startSN:0},r={method:null,key:null,iv:null,uri:null},y=0,d=null,t=null;for(b=/(?:#EXT-X-(MEDIA-SEQUENCE):(\d+))|(?:#EXT-X-(TARGETDURATION):(\d+))|(?:#EXT-X-(KEY):(.*))|(?:#EXT(INF):([\d\.]+)[^\r\n]*([\r\n]+[^#|\r\n]+)?)|(?:#EXT-X-(BYTERANGE):([\d]+[@[\d]*)]*[\r\n]+([^#|\r\n]+)?|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(PROGRAM-DATE-TIME):(.*)[\r\n]+([^#|\r\n]+)?)/g;null!==(e=b.exec(L));)switch(e.shift(),e=e.filter(function(e){return void 0!==e}),e[0]){case"MEDIA-SEQUENCE":g=i.startSN=parseInt(e[1]);break;case"TARGETDURATION":i.targetduration=parseFloat(e[1]);break;case"ENDLIST":i.live=!1;break;case"DIS":y++;break;case"BYTERANGE":var h=e[1].split("@");n=1===h.length?u:parseInt(h[1]),u=parseInt(h[0])+n,t&&!t.url&&(t.byteRangeStartOffset=n,t.byteRangeEndOffset=u,t.url=this.resolve(e[2],s));break;case"INF":var c=parseFloat(e[1]);if(!isNaN(c)){var f,m=g++;if(r.method&&r.uri&&!r.iv){f=this.cloneObj(r);for(var E=new Uint8Array(16),l=12;16>l;l++)E[l]=m>>8*(15-l)&255;f.iv=E}else f=r;var k=e[2]?this.resolve(e[2],s):null;t={url:k,duration:c,start:o,sn:m,level:A,cc:y,byteRangeStartOffset:n,byteRangeEndOffset:u,decryptdata:f,programDateTime:d},i.fragments.push(t),o+=c,n=null,d=null}break;case"KEY":var R=e[1],v=new a.default(R),p=v.enumeratedString("METHOD"),_=v.URI,T=v.hexadecimalInteger("IV");p&&(r={method:null,key:null,iv:null,uri:null},_&&"AES-128"===p&&(r.method=p,r.uri=this.resolve(_,s),r.key=null,r.iv=T));break;case"PROGRAM-DATE-TIME":d=new Date(Date.parse(e[1])),t&&!t.url&&e.length>=3&&(t.url=this.resolve(e[2],s),t.programDateTime=d)}return t&&!t.url&&(i.fragments.pop(),o-=t.duration),i.totalduration=o,i.endSN=g-1,i}},{key:"loadsuccess",value:function(u,i){var s,o=u.currentTarget,n=o.responseText,r=o.responseURL,l=this.id,d=this.id2,a=this.hls;if(this.loading=!1,void 0===r&&(r=this.url),i.tload=performance.now(),i.mtime=new Date(o.getResponseHeader("Last-Modified")),0===n.indexOf("#EXTM3U"))if(n.indexOf("#EXTINF:")>0)if(null===this.id)a.trigger(t.default.MANIFEST_LOADED,{levels:[{url:r}],url:r,stats:i});else{var f=this.parseLevelPlaylist(n,r,l);i.tparsed=performance.now(),a.trigger(t.default.LEVEL_LOADED,{details:f,level:l,id:d,stats:i})}else s=this.parseMasterPlaylist(n,r),s.length?a.trigger(t.default.MANIFEST_LOADED,{levels:s,url:r,stats:i}):a.trigger(t.default.ERROR,{type:e.ErrorTypes.NETWORK_ERROR,details:e.ErrorDetails.MANIFEST_PARSING_ERROR,fatal:!0,url:r,reason:"no level found in manifest"});else a.trigger(t.default.ERROR,{type:e.ErrorTypes.NETWORK_ERROR,details:e.ErrorDetails.MANIFEST_PARSING_ERROR,fatal:!0,url:r,reason:"no EXTM3U delimiter"})}},{key:"loaderror",value:function(a){var r,i;null===this.id?(r=e.ErrorDetails.MANIFEST_LOAD_ERROR,i=!0):(r=e.ErrorDetails.LEVEL_LOAD_ERROR,i=!1),this.loader&&this.loader.abort(),this.loading=!1,this.hls.trigger(t.default.ERROR,{type:e.ErrorTypes.NETWORK_ERROR,details:r,fatal:i,url:this.url,loader:this.loader,response:a.currentTarget,level:this.id,id:this.id2})}},{key:"loadtimeout",value:function(){var r,i;null===this.id?(r=e.ErrorDetails.MANIFEST_LOAD_TIMEOUT,i=!0):(r=e.ErrorDetails.LEVEL_LOAD_TIMEOUT,i=!1),this.loader&&this.loader.abort(),this.loading=!1,this.hls.trigger(t.default.ERROR,{type:e.ErrorTypes.NETWORK_ERROR,details:r,fatal:i,url:this.url,loader:this.loader,level:this.id,id:this.id2})}}]),r}(n.default);s.default=u},{"../errors":21,"../event-handler":22,"../events":23,"../utils/attr-list":34,"../utils/url":39}],31:[function(a,n,e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function e(i,r){for(var t=0;t>24&255,t[1]=e>>16&255,t[2]=e>>8&255,t[3]=255&e,t.set(a,4),r=0,e=8;n>r;r++)t.set(i[r],e),e+=i[r].byteLength;return t}},{key:"hdlr",value:function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])}},{key:"mdat",value:function(t){return e.box(e.types.mdat,t)}},{key:"mdhd",value:function(t,r){return r*=t,e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,85,196,0,0]))}},{key:"mdia",value:function(t){return e.box(e.types.mdia,e.mdhd(t.timescale,t.duration),e.hdlr(t.type),e.minf(t))}},{key:"mfhd",value:function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"minf",value:function(t){return"audio"===t.type?e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(t)):e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(t))}},{key:"moof",value:function(t,r,i){return e.box(e.types.moof,e.mfhd(t),e.traf(i,r))}},{key:"moov",value:function(t){for(var r=t.length,i=[];r--;)i[r]=e.trak(t[r]);return e.box.apply(null,[e.types.moov,e.mvhd(t[0].timescale,t[0].duration)].concat(i).concat(e.mvex(t)))}},{key:"mvex",value:function(r){for(var t=r.length,i=[];t--;)i[t]=e.trex(r[t]);return e.box.apply(null,[e.types.mvex].concat(i))}},{key:"mvhd",value:function(t,r){r*=t;var i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24&255,r>>16&255,r>>8&255,255&r,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,i)}},{key:"sdtp",value:function(n){var r,t,i=n.samples||[],a=new Uint8Array(4+i.length);for(t=0;t>>8&255),i.push(255&n),i=i.concat(Array.prototype.slice.call(a));for(r=0;r>>8&255),s.push(255&n),s=s.concat(Array.prototype.slice.call(a));var u=e.box(e.types.avcC,new Uint8Array([1,i[3],i[4],i[5],255,224|t.sps.length].concat(i).concat([t.pps.length]).concat(s))),o=t.width,l=t.height;return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,o>>8&255,255&o,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),u,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])))}},{key:"esds",value:function(t){var e=t.config.length;return new Uint8Array([0,0,0,0,3,23+e,0,1,0,4,15+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([e]).concat(t.config).concat([6,1,2]))}},{key:"mp4a",value:function(t){var r=t.audiosamplerate;return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,r>>8&255,255&r,0,0]),e.box(e.types.esds,e.esds(t)))}},{key:"stsd",value:function(t){return"audio"===t.type?e.box(e.types.stsd,e.STSD,e.mp4a(t)):e.box(e.types.stsd,e.STSD,e.avc1(t))}},{key:"tkhd",value:function(t){var r=t.id,i=t.duration*t.timescale,a=t.width,n=t.height;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,a>>8&255,255&a,0,0,n>>8&255,255&n,0,0]))}},{key:"traf",value:function(i,t){var a=e.sdtp(i),r=i.id;return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),e.box(e.types.tfdt,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t])),e.trun(i,a.length+16+16+8+16+8+8),a)}},{key:"trak",value:function(t){return t.duration=t.duration||4294967295,e.box(e.types.trak,e.tkhd(t),e.mdia(t))}},{key:"trex",value:function(r){var t=r.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trun",value:function(h,o){var i,a,n,s,t,l,d=h.samples||[],r=d.length,f=12+16*r,u=new Uint8Array(f);for(o+=8+f,u.set([0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,255&r,o>>>24&255,o>>>16&255,o>>>8&255,255&o],0),i=0;r>i;i++)a=d[i],n=a.duration,s=a.size,t=a.flags,l=a.cts,u.set([n>>>24&255,n>>>16&255,n>>>8&255,255&n,s>>>24&255,s>>>16&255,s>>>8&255,255&s,t.isLeading<<2|t.dependsOn,t.isDependedOn<<6|t.hasRedundancy<<4|t.paddingValue<<1|t.isNonSync,61440&t.degradPrio,15&t.degradPrio,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*i);return e.box(e.types.trun,u)}},{key:"initSegment",value:function(i){e.types||e.init();var t,r=e.moov(i);return t=new Uint8Array(e.FTYP.byteLength+r.byteLength),t.set(e.FTYP),t.set(r,e.FTYP.byteLength),t}}]),e}();e.default=i},{}],32:[function(i,h,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(i,r){for(var t=0;tMath.pow(2,32)&&!function(){var e=function r(t,e){return e?r(e,t%e):t};i.timescale=i.audiosamplerate/e(i.audiosamplerate,1024)}(),e.logger.log("audio mp4 timescale :"+i.timescale),l.audio={container:"audio/mp4",codec:i.codec,initSegment:r.default.initSegment([i]),metadata:{channelCount:i.channelCount}},u&&(n=o=g[0].pts-f*h)),a.sps&&a.pps&&d.length&&(a.timescale=this.MP4_TIMESCALE,l.video={container:"video/mp4",codec:a.codec,initSegment:r.default.initSegment([a]),metadata:{width:a.width,height:a.height}},u&&(n=Math.min(n,d[0].pts-f*h),o=Math.min(o,d[0].dts-f*h))),Object.keys(l).length?(c.trigger(t.default.FRAG_PARSING_INIT_SEGMENT,v),this.ISGenerated=!0,u&&(this._initPTS=n,this._initDTS=o)):c.trigger(t.default.ERROR,{type:s.ErrorTypes.MEDIA_ERROR,details:s.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"no audio/video samples found"})}},{key:"remuxVideo",value:function(a,w,S){var L,s,p,A,f,d,T,k,R,g,_,v,o,i,n,E=8,c=this.PES_TIMESCALE,h=this.PES2MP4SCALEFACTOR,u=[];for(d=new Uint8Array(a.len+4*a.nbNalu+8),L=new DataView(d.buffer),L.setUint32(0,d.byteLength),d.set(r.default.types.mdat,4);a.samples.length;){for(s=a.samples.shift(),A=0;s.units.units.length;)f=s.units.units.shift(),L.setUint32(E,f.data.byteLength),E+=4,d.set(f.data,E),E+=f.data.byteLength,A+=4+f.data.byteLength;if(_=s.pts-this._initDTS,v=s.dts-this._initDTS,v=Math.min(_,v),void 0!==g){o=this._PTSNormalize(_,g),i=this._PTSNormalize(v,g);var m=(i-g)/h;0>=m&&(e.logger.log("invalid sample duration at PTS/DTS: "+s.pts+"/"+s.dts+":"+m),m=1),p.duration=m}else{var y=void 0,l=void 0;y=S?this.nextAvcDts:w*c,o=this._PTSNormalize(_,y),i=this._PTSNormalize(v,y),l=Math.round((i-y)/90),S&&l&&(l>1?e.logger.log("AVC:"+l+" ms hole between fragments detected,filling it"):-1>l&&e.logger.log("AVC:"+-l+" ms overlapping between fragments detected"),i=y,o=Math.max(o-l,i),e.logger.log("Video/PTS/DTS adjusted: "+o+"/"+i+",delta:"+l)),k=Math.max(0,o),R=Math.max(0,i)}p={size:A,duration:0,cts:(o-i)/h,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0}},n=p.flags,s.key===!0?(n.dependsOn=2,n.isNonSync=0):(n.dependsOn=1,n.isNonSync=1),u.push(p),g=i}var b=0;u.length>=2&&(b=u[u.length-2].duration,p.duration=b),this.nextAvcDts=i+b*h,a.len=0,a.nbNalu=0,u.length&&navigator.userAgent.toLowerCase().indexOf("chrome")>-1&&(n=u[0].flags,n.dependsOn=2,n.isNonSync=0),a.samples=u,T=r.default.moof(a.sequenceNumber++,R/h,a),a.samples=[],this.observer.trigger(t.default.FRAG_PARSING_DATA,{data1:T,data2:d,startPTS:k/c,endPTS:(o+h*b)/c,startDTS:R/c,endDTS:this.nextAvcDts/c,type:"video",nb:u.length})}},{key:"remuxAudio",value:function(i,D,S){var T,p,n,h,d,k,L,b,u,v,R,o,a,A=8,s=this.PES_TIMESCALE,w=i.timescale,f=s/w,E=1024*i.timescale/i.audiosamplerate,m=[],_=[];for(i.samples.sort(function(e,t){return e.pts-t.pts}),_=i.samples;_.length;){if(p=_.shift(),h=p.unit,v=p.pts-this._initDTS,R=p.dts-this._initDTS,void 0!==u)o=this._PTSNormalize(v,u),a=this._PTSNormalize(R,u),n.duration=(a-u)/f,Math.abs(n.duration-E)>E/10&&e.logger.log("invalid AAC sample duration at PTS "+Math.round(v/90)+",should be 1024,found :"+Math.round(n.duration*i.audiosamplerate/i.timescale)),n.duration=E,o=a=E*f+u;else{var c=void 0,l=void 0;if(c=S?this.nextAacPts:D*s,o=this._PTSNormalize(v,c),a=this._PTSNormalize(R,c),l=Math.round(1e3*(o-c)/s),S&&l){if(l>0)e.logger.log(l+" ms hole between AAC samples detected,filling it");else if(-12>l){e.logger.log(-l+" ms overlapping between AAC samples detected, drop frame"),i.len-=h.byteLength;continue}o=a=c}if(L=Math.max(0,o),b=Math.max(0,a),!(i.len>0))return;d=new Uint8Array(i.len+8),T=new DataView(d.buffer),T.setUint32(0,d.byteLength),d.set(r.default.types.mdat,4)}d.set(h,A),A+=h.byteLength,n={size:h.byteLength,cts:0,duration:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},m.push(n),u=a}var y=0,g=m.length;g>=2&&(y=m[g-2].duration,n.duration=y),g&&(this.nextAacPts=o+f*y,i.len=0,i.samples=m,k=r.default.moof(i.sequenceNumber++,b/f,i),i.samples=[],this.observer.trigger(t.default.FRAG_PARSING_DATA,{data1:k,data2:d,startPTS:L/s,endPTS:this.nextAacPts/s,startDTS:b/s,endDTS:(a+f*y)/s,type:"audio",nb:g}))}},{key:"remuxID3",value:function(r,a){var e,n=r.samples.length;if(n){for(var i=0;n>i;i++)e=r.samples[i],e.pts=(e.pts-this._initPTS)/this.PES_TIMESCALE,e.dts=(e.dts-this._initDTS)/this.PES_TIMESCALE;this.observer.trigger(t.default.FRAG_PARSING_METADATA,{samples:r.samples})}r.samples=[],a=a}},{key:"remuxText",value:function(e,a){e.samples.sort(function(e,t){return e.pts-t.pts});var r,n=e.samples.length;if(n){for(var i=0;n>i;i++)r=e.samples[i],r.pts=(r.pts-this._initPTS)/this.PES_TIMESCALE;this.observer.trigger(t.default.FRAG_PARSING_USERDATA,{samples:e.samples})}e.samples=[],a=a}},{key:"_PTSNormalize",value:function(e,t){var r;if(void 0===t)return e;for(r=e>t?-8589934592:8589934592;Math.abs(e-t)>4294967296;)e+=r;return e}},{key:"passthrough",get:function(){return!1}}]),i}();a.default=d},{"../errors":21,"../events":23,"../remux/mp4-generator":31,"../utils/logger":38}],33:[function(r,l,e){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function e(i,r){for(var t=0;tNumber.MAX_SAFE_INTEGER?1/0:e}},{key:"hexadecimalInteger",value:function(r){if(this[r]){var e=(this[r]||"0x").slice(2);e=(1&e.length?"0":"")+e;for(var i=new Uint8Array(e.length/2),t=0;tNumber.MAX_SAFE_INTEGER?1/0:e}},{key:"decimalFloatingPoint",value:function(e){return parseFloat(this[e])}},{key:"enumeratedString",value:function(e){return this[e]}},{key:"decimalResolution",value:function(t){var e=/^(\d+)x(\d+)$/.exec(this[t]);if(null!==e)return{width:parseInt(e[1],10),height:parseInt(e[2],10)}}}],[{key:"parseAttrList",value:function(a){for(var t,n=/\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g,r={};null!==(t=n.exec(a));){var e=t[2],i='"';0===e.indexOf(i)&&e.lastIndexOf(i)===e.length-1&&(e=e.slice(1,-1)),r[t[1]]=e}return r}}]),e}();e.default=i},{}],35:[function(r,e,i){"use strict";var t={search:function(a,s){for(var t=0,r=a.length-1,e=null,i=null;r>=t;){e=(t+r)/2|0,i=a[e];var n=s(i);if(n>0)t=e+1;else{if(!(0>n))return i;r=e-1}}return null}};e.exports=t},{}],36:[function(a,n,e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function e(i,r){for(var t=0;t0;)e.removeCue(e.cues[0])}},{key:"push",value:function(r,i){this.cue||this._createCue();for(var a,t,e,s,o,u=31&i[0],n=2,l=0;u>l;l++)if(a=i[n++],t=127&i[n++],e=127&i[n++],s=0!==(4&a),o=3&a,(0!==t||0!==e)&&s&&0===o){if(32&t||64&t)this.cue.text+=this._fromCharCode(t)+this._fromCharCode(e);else if((17===t||25===t)&&e>=48&&63>=e)switch(e){case 48:this.cue.text+="®";break;case 49:this.cue.text+="°";break;case 50:this.cue.text+="½";break;case 51:this.cue.text+="¿";break;case 52:this.cue.text+="™";break;case 53:this.cue.text+="¢";break;case 54:this.cue.text+="";break;case 55:this.cue.text+="£";break;case 56:this.cue.text+="♪";break;case 57:this.cue.text+=" ";break;case 58:this.cue.text+="è";break;case 59:this.cue.text+="â";break;case 60:this.cue.text+="ê";break;case 61:this.cue.text+="î";break;case 62:this.cue.text+="ô";break;case 63:this.cue.text+="û"}if((17===t||25===t)&&e>=32&&47>=e)switch(e){case 32:break;case 33:break;case 34:break;case 35:break;case 36:break;case 37:break;case 38:break;case 39:break;case 40:break;case 41:break;case 42:break;case 43:break;case 44:break;case 45:break;case 46:break;case 47:}if((20===t||28===t)&&e>=32&&47>=e)switch(e){case 32:this._clearActiveCues(r);break;case 33:this.cue.text=this.cue.text.substr(0,this.cue.text.length-1);break;case 34:break;case 35:break;case 36:break;case 37:break;case 38:break;case 39:break;case 40:break;case 41:this._clearActiveCues(r);break;case 42:break;case 43:break;case 44:this._clearActiveCues(r);break;case 45:break;case 46:this._text="";break;case 47:this._flipMemory(r)}if((23===t||31===t)&&e>=33&&35>=e)switch(e){case 33:break;case 34:break;case 35:}}}},{key:"_fromCharCode",value:function(e){switch(e){case 42:return"á";case 2:return"á";case 2:return"é";case 4:return"í";case 5:return"ó";case 6:return"ú";case 3:return"ç";case 4:return"÷";case 5:return"Ñ";case 6:return"ñ";case 7:return"█";default:return String.fromCharCode(e)}}},{key:"_flipMemory",value:function(e){this._clearActiveCues(e),this._flushCaptions(e)}},{key:"_flushCaptions",value:function(s){this._has708||(this._textTrack=this.media.addTextTrack("captions","English","en"),this._has708=!0);var e=!0,i=!1,a=void 0;try{for(var n,t=this.memory[Symbol.iterator]();!(e=(n=t.next()).done);e=!0){var r=n.value;r.startTime=s,this._textTrack.addCue(r),this.display.push(r)}}catch(e){i=!0,a=e}finally{try{!e&&t.return&&t.return()}finally{if(i)throw a}}this.memory=[],this.cue=null}},{key:"_clearActiveCues",value:function(n){var e=!0,r=!1,i=void 0;try{for(var a,t=this.display[Symbol.iterator]();!(e=(a=t.next()).done);e=!0){var s=a.value;s.endTime=n}}catch(e){r=!0,i=e}finally{try{!e&&t.return&&t.return()}finally{if(r)throw i}}this.display=[]}},{key:"_clearBufferedCues",value:function(){}}]),e}();e.default=i},{}],37:[function(a,n,e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function e(i,r){for(var t=0;t "+e}function n(t){var r=window.console[t];return r?function(){for(var n=arguments.length,e=Array(n),i=0;n>i;i++)e[i]=arguments[i];e[0]&&(e[0]=a(t,e[0])),r.apply(window.console,e)}:e}function s(r){for(var i=arguments.length,a=Array(i>1?i-1:0),e=1;i>e;e++)a[e-1]=arguments[e];a.forEach(function(e){t[e]=r[e]?r[e].bind(r):n(e)})}Object.defineProperty(r,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},i={trace:e,debug:e,log:e,warn:e,info:e,error:e},t=i;r.enableLogs=function(e){if(e===!0||"object"===("undefined"==typeof e?"undefined":o(e))){s(e,"debug","log","info","warn","error");try{t.log()}catch(e){t=i}}else t=i},r.logger=t},{}],39:[function(r,t,i){"use strict";var e={buildAbsoluteURL:function(r,t){if(t=t.trim(),/^[a-z]+:/i.test(t))return t;var l=null,o=null,n=/^([^#]*)(.*)$/.exec(t);n&&(o=n[2],t=n[1]);var s=/^([^\?]*)(.*)$/.exec(t);s&&(l=s[2],t=s[1]);var f=/^([^#]*)(.*)$/.exec(r);f&&(r=f[1]);var u=/^([^\?]*)(.*)$/.exec(r);u&&(r=u[1]);var i=/^(([a-z]+:)?\/\/[a-z0-9\.\-_~]+(:[0-9]+)?)?(\/.*)$/i.exec(r);if(!i)throw new Error("Error trying to parse base URL.");var h=i[2]||"",d=i[1]||"",c=i[4],a=null;return a=/^\/\//.test(t)?h+"//"+e.buildAbsolutePath("",t.substring(2)):/^\//.test(t)?d+"/"+e.buildAbsolutePath("",t.substring(1)):e.buildAbsolutePath(d+c,t),l&&(a+=l),o&&(a+=o),a},buildAbsolutePath:function(n,s){for(var i,e,o=s,a="",t=n.replace(/[^\/]*$/,o.replace(/(\/|^)(?:\.?\/+)+/g,"$1")),r=0;e=t.indexOf("/../",r),e>-1;r=e+i)i=/^\/(?:\.\.\/)*/.exec(t.slice(e))[0].length,a=(a+t.substring(r,e)).replace(new RegExp("(?:\\/+[^\\/]*){0,"+(i-1)/3+"}$"),"/");return a+t.substr(r)}};t.exports=e},{}],40:[function(r,s,t){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(i,r){for(var t=0;t=200&&300>r?(window.clearTimeout(this.timeoutHandle),t.tload=performance.now(),this.onSuccess(i,t)):t.retry { switch(unit.type) { diff --git a/dashboard-ui/bower_components/polymer/.bower.json b/dashboard-ui/bower_components/polymer/.bower.json index 4782b3c50f..e3120e6882 100644 --- a/dashboard-ui/bower_components/polymer/.bower.json +++ b/dashboard-ui/bower_components/polymer/.bower.json @@ -39,6 +39,6 @@ "commit": "ce5b9fb2d8aa03c698410e2e55cffcfa0b788a3a" }, "_source": "git://github.com/Polymer/polymer.git", - "_target": "^1.0.0", + "_target": "^1.1.0", "_originalSource": "Polymer/polymer" } \ No newline at end of file diff --git a/dashboard-ui/components/remotecontrol.js b/dashboard-ui/components/remotecontrol.js index 307094480b..f2d3383e23 100644 --- a/dashboard-ui/components/remotecontrol.js +++ b/dashboard-ui/components/remotecontrol.js @@ -1,4 +1,4 @@ -define(['browser', 'datetime', 'jQuery', 'libraryBrowser', 'paper-fab', 'paper-slider'], function (browser, datetime, $, libraryBrowser) { +define(['browser', 'datetime', 'jQuery', 'libraryBrowser'], function (browser, datetime, $, libraryBrowser) { function showSlideshowMenu(context) { require(['scripts/slideshow'], function () { diff --git a/dashboard-ui/css/nowplaying.css b/dashboard-ui/css/nowplaying.css index edeaf5eab2..b9489e78e4 100644 --- a/dashboard-ui/css/nowplaying.css +++ b/dashboard-ui/css/nowplaying.css @@ -2,14 +2,14 @@ padding-top: 0 !important; } -.nowPlayingPage .btnCommand, .nowPlayingPage .btnPlayStateCommand { - margin: 2px 1px; -} - - .nowPlayingPage .btnCommand:not(.hide), .nowPlayingPage .btnPlayStateCommand:not(.hide) { - display: inline-block !important; + .nowPlayingPage .btnCommand, .nowPlayingPage .btnPlayStateCommand { + margin: 2px 1px; } + .nowPlayingPage .btnCommand:not(.hide), .nowPlayingPage .btnPlayStateCommand:not(.hide) { + display: inline-block !important; + } + .nowPlayingPageImage { height: 360px; width: 360px; @@ -91,6 +91,13 @@ } } +.nowPlayingPage .btnCommand, .nowPlayingPage .btnPlayStateCommand { + width: 60px; + height: 60px; + background: #222; +} + + @media all and (max-width: 600px) and (orientation: portrait) { .btnSlideshow { diff --git a/dashboard-ui/nowplaying.html b/dashboard-ui/nowplaying.html index 9a275010af..a9106db369 100644 --- a/dashboard-ui/nowplaying.html +++ b/dashboard-ui/nowplaying.html @@ -35,24 +35,61 @@
- - - - - + + + + + + + + +
- - - - + + + + + + +
- - - - + + + + + + + +
@@ -62,28 +99,55 @@
- +
- - - + + + + +
- +
- - + + +

- - + + +
- - + + +
@@ -91,15 +155,15 @@

${HeaderSendMessage}

-
- +
+

-
- +
+

- +

@@ -108,11 +172,11 @@

${HeaderTypeText}

-
- +
+

- +

diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 9988b11e7f..c30529cb7e 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -2838,7 +2838,7 @@ var AppInfo = {}; defineRoute({ path: '/nowplaying.html', - dependencies: ['paper-icon-button-light', 'paper-slider', 'emby-button'], + dependencies: ['paper-icon-button-light', 'paper-slider', 'emby-button', 'emby-input'], controller: 'scripts/nowplayingpage', autoFocus: false, transition: 'fade'