emby 4.8
This commit is contained in:
1
modules/flvjs/config.js
Normal file
1
modules/flvjs/config.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0});var defaultConfig={enableWorker:!(_exports.createDefaultConfig=function(){return Object.assign({},defaultConfig)}),enableStashBuffer:!(_exports.defaultConfig=void 0),stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:180,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:180,autoCleanupMinBackwardDuration:120,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};_exports.defaultConfig=defaultConfig});
|
||||
1
modules/flvjs/core/features.js
Normal file
1
modules/flvjs/core/features.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","../io/io-controller.js","../config.js"],function(_exports,_ioController,_config){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var Features=function(){function Features(){babelHelpers.classCallCheck(this,Features)}return babelHelpers.createClass(Features,null,[{key:"supportMSEH264Playback",value:function(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}},{key:"supportNetworkStreamIO",value:function(){var ioctl=new _ioController.default({},(0,_config.createDefaultConfig)()),loaderType=ioctl.loaderType;return ioctl.destroy(),"fetch-stream-loader"===loaderType||"xhr-moz-chunked-loader"===loaderType}},{key:"getNetworkLoaderTypeName",value:function(){var ioctl=new _ioController.default({},(0,_config.createDefaultConfig)()),loaderType=ioctl.loaderType;return ioctl.destroy(),loaderType}},{key:"supportNativeMediaPlayback",value:function(mimeType){mimeType=(Features.videoElement=Features.videoElement?Features.videoElement:window.document.createElement("video")).canPlayType(mimeType);return"probably"===mimeType||"maybe"===mimeType}},{key:"getFeatureList",value:function(){var features={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return features.mseFlvPlayback=Features.supportMSEH264Playback(),features.networkStreamIO=Features.supportNetworkStreamIO(),features.networkLoaderName=Features.getNetworkLoaderTypeName(),features.mseLiveFlvPlayback=features.mseFlvPlayback&&features.networkStreamIO,features.nativeMP4H264Playback=Features.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),features.nativeWebmVP8Playback=Features.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),features.nativeWebmVP9Playback=Features.supportNativeMediaPlayback('video/webm; codecs="vp9"'),features}}]),Features}();_exports.default=Features});
|
||||
1
modules/flvjs/core/media-info.js
Normal file
1
modules/flvjs/core/media-info.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default=function(){function MediaInfo(){babelHelpers.classCallCheck(this,MediaInfo),this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return babelHelpers.createClass(MediaInfo,[{key:"isComplete",value:function(){var audioInfoComplete=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,videoInfoComplete=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height;return null!=this.mimeType&&null!=this.duration&&null!=this.metadata&&null!=this.hasKeyframesIndex&&audioInfoComplete&&videoInfoComplete}},{key:"isSeekable",value:function(){return!0===this.hasKeyframesIndex}},{key:"getNearestKeyframe",value:function(milliseconds){var table;return null==this.keyframesIndex?null:(table=this.keyframesIndex,{index:milliseconds=this._search(table.times,milliseconds),milliseconds:table.times[milliseconds],fileposition:table.filepositions[milliseconds]})}},{key:"_search",value:function(list,value){var mid,idx=0,last=list.length-1,lbound=0,ubound=last;for(value<list[0]&&(idx=0,lbound=ubound+1);lbound<=ubound;){if((mid=lbound+Math.floor((ubound-lbound)/2))===last||value>=list[mid]&&value<list[mid+1]){idx=mid;break}list[mid]<value?lbound=mid+1:ubound=mid-1}return idx}}]),MediaInfo}()});
|
||||
1
modules/flvjs/core/media-segment-info.js
Normal file
1
modules/flvjs/core/media-segment-info.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.SampleInfo=_exports.MediaSegmentInfoList=_exports.MediaSegmentInfo=_exports.IDRSampleList=void 0;_exports.SampleInfo=babelHelpers.createClass(function SampleInfo(dts,pts,duration,originalDts,isSync){babelHelpers.classCallCheck(this,SampleInfo),this.dts=dts,this.pts=pts,this.duration=duration,this.originalDts=originalDts,this.isSyncPoint=isSync,this.fileposition=null});var MediaSegmentInfo=function(){function MediaSegmentInfo(){babelHelpers.classCallCheck(this,MediaSegmentInfo),this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return babelHelpers.createClass(MediaSegmentInfo,[{key:"appendSyncPoint",value:function(sampleInfo){sampleInfo.isSyncPoint=!0,this.syncPoints.push(sampleInfo)}}]),MediaSegmentInfo}(),MediaSegmentInfo=(_exports.MediaSegmentInfo=MediaSegmentInfo,function(){function IDRSampleList(){babelHelpers.classCallCheck(this,IDRSampleList),this._list=[]}return babelHelpers.createClass(IDRSampleList,[{key:"clear",value:function(){this._list=[]}},{key:"appendArray",value:function(syncPoints){var list=this._list;0!==syncPoints.length&&(0<list.length&&syncPoints[0].originalDts<list[list.length-1].originalDts&&this.clear(),Array.prototype.push.apply(list,syncPoints))}},{key:"getLastSyncPointBeforeDts",value:function(dts){if(0===this._list.length)return null;var mid,list=this._list,idx=0,last=list.length-1,lbound=0,ubound=last;for(dts<list[0].dts&&(idx=0,lbound=ubound+1);lbound<=ubound;){if((mid=lbound+Math.floor((ubound-lbound)/2))===last||dts>=list[mid].dts&&dts<list[mid+1].dts){idx=mid;break}list[mid].dts<dts?lbound=mid+1:ubound=mid-1}return this._list[idx]}}]),IDRSampleList}()),MediaSegmentInfo=(_exports.IDRSampleList=MediaSegmentInfo,function(){function MediaSegmentInfoList(type){babelHelpers.classCallCheck(this,MediaSegmentInfoList),this._type=type,this._list=[],this._lastAppendLocation=-1}return babelHelpers.createClass(MediaSegmentInfoList,[{key:"type",get:function(){return this._type}},{key:"length",get:function(){return this._list.length}},{key:"isEmpty",value:function(){return 0===this._list.length}},{key:"clear",value:function(){this._list=[],this._lastAppendLocation=-1}},{key:"_searchNearestSegmentBefore",value:function(originalBeginDts){var list=this._list;if(0===list.length)return-2;var mid,last=list.length-1,lbound=0,ubound=last,idx=0;if(originalBeginDts<list[0].originalBeginDts)return idx=-1;for(;lbound<=ubound;){if((mid=lbound+Math.floor((ubound-lbound)/2))===last||originalBeginDts>list[mid].lastSample.originalDts&&originalBeginDts<list[mid+1].originalBeginDts){idx=mid;break}list[mid].originalBeginDts<originalBeginDts?lbound=mid+1:ubound=mid-1}return idx}},{key:"_searchNearestSegmentAfter",value:function(originalBeginDts){return this._searchNearestSegmentBefore(originalBeginDts)+1}},{key:"append",value:function(mediaSegmentInfo){var list=this._list,lastAppendIdx=this._lastAppendLocation,insertIdx=0;-1!==lastAppendIdx&&lastAppendIdx<list.length&&mediaSegmentInfo.originalBeginDts>=list[lastAppendIdx].lastSample.originalDts&&(lastAppendIdx===list.length-1||lastAppendIdx<list.length-1&&mediaSegmentInfo.originalBeginDts<list[lastAppendIdx+1].originalBeginDts)?insertIdx=lastAppendIdx+1:0<list.length&&(insertIdx=this._searchNearestSegmentBefore(mediaSegmentInfo.originalBeginDts)+1),this._lastAppendLocation=insertIdx,this._list.splice(insertIdx,0,mediaSegmentInfo)}},{key:"getLastSegmentBefore",value:function(originalBeginDts){originalBeginDts=this._searchNearestSegmentBefore(originalBeginDts);return 0<=originalBeginDts?this._list[originalBeginDts]:null}},{key:"getLastSampleBefore",value:function(originalBeginDts){originalBeginDts=this.getLastSegmentBefore(originalBeginDts);return null!=originalBeginDts?originalBeginDts.lastSample:null}},{key:"getLastSyncPointBefore",value:function(originalBeginDts){for(var segmentIdx=this._searchNearestSegmentBefore(originalBeginDts),syncPoints=this._list[segmentIdx].syncPoints;0===syncPoints.length&&0<segmentIdx;)syncPoints=this._list[--segmentIdx].syncPoints;return 0<syncPoints.length?syncPoints[syncPoints.length-1]:null}}]),MediaSegmentInfoList}());_exports.MediaSegmentInfoList=MediaSegmentInfo});
|
||||
1
modules/flvjs/core/mse-controller.js
Normal file
1
modules/flvjs/core/mse-controller.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/core/mse-events.js
Normal file
1
modules/flvjs/core/mse-events.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"}});
|
||||
1
modules/flvjs/core/transmuxer.js
Normal file
1
modules/flvjs/core/transmuxer.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/core/transmuxing-controller.js
Normal file
1
modules/flvjs/core/transmuxing-controller.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/core/transmuxing-events.js
Normal file
1
modules/flvjs/core/transmuxing-events.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"}});
|
||||
1
modules/flvjs/core/transmuxing-worker.js
Normal file
1
modules/flvjs/core/transmuxing-worker.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","../utils/logging-control.js","./transmuxing-controller.js","./transmuxing-events.js"],function(_exports,_loggingControl,_transmuxingController,_transmuxingEvents){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default=function(self){var controller=null,logcatListener=function(type,str){self.postMessage({msg:"logcat_callback",data:{type:type,logcat:str}})}.bind(this);self.addEventListener("message",function(e){switch(e.data.cmd){case"init":(controller=new _transmuxingController.default(e.data.param[0],e.data.param[1])).on(_transmuxingEvents.default.IO_ERROR,function(type,info){self.postMessage({msg:_transmuxingEvents.default.IO_ERROR,data:{type:type,info:info}})}.bind(this)),controller.on(_transmuxingEvents.default.DEMUX_ERROR,function(type,info){self.postMessage({msg:_transmuxingEvents.default.DEMUX_ERROR,data:{type:type,info:info}})}.bind(this)),controller.on(_transmuxingEvents.default.INIT_SEGMENT,function(type,initSegment){type={msg:_transmuxingEvents.default.INIT_SEGMENT,data:{type:type,data:initSegment}};self.postMessage(type,[initSegment.data])}.bind(this)),controller.on(_transmuxingEvents.default.MEDIA_SEGMENT,function(type,mediaSegment){type={msg:_transmuxingEvents.default.MEDIA_SEGMENT,data:{type:type,data:mediaSegment}};self.postMessage(type,[mediaSegment.data])}.bind(this)),controller.on(_transmuxingEvents.default.LOADING_COMPLETE,function(){var obj={msg:_transmuxingEvents.default.LOADING_COMPLETE};self.postMessage(obj)}.bind(this)),controller.on(_transmuxingEvents.default.RECOVERED_EARLY_EOF,function(){var obj={msg:_transmuxingEvents.default.RECOVERED_EARLY_EOF};self.postMessage(obj)}.bind(this)),controller.on(_transmuxingEvents.default.MEDIA_INFO,function(mediaInfo){mediaInfo={msg:_transmuxingEvents.default.MEDIA_INFO,data:mediaInfo};self.postMessage(mediaInfo)}.bind(this)),controller.on(_transmuxingEvents.default.METADATA_ARRIVED,function(metadata){metadata={msg:_transmuxingEvents.default.METADATA_ARRIVED,data:metadata};self.postMessage(metadata)}.bind(this)),controller.on(_transmuxingEvents.default.SCRIPTDATA_ARRIVED,function(data){data={msg:_transmuxingEvents.default.SCRIPTDATA_ARRIVED,data:data};self.postMessage(data)}.bind(this)),controller.on(_transmuxingEvents.default.STATISTICS_INFO,function(statInfo){statInfo={msg:_transmuxingEvents.default.STATISTICS_INFO,data:statInfo};self.postMessage(statInfo)}.bind(this)),controller.on(_transmuxingEvents.default.RECOMMEND_SEEKPOINT,function(milliseconds){self.postMessage({msg:_transmuxingEvents.default.RECOMMEND_SEEKPOINT,data:milliseconds})}.bind(this));break;case"destroy":controller&&(controller.destroy(),controller=null),self.postMessage({msg:"destroyed"});break;case"start":controller.start();break;case"stop":controller.stop();break;case"seek":controller.seek(e.data.param);break;case"pause":controller.pause();break;case"resume":controller.resume();break;case"logging_config":var config=e.data.param;_loggingControl.default.applyConfig(config),!0===config.enableCallback?_loggingControl.default.addLogListener(logcatListener):_loggingControl.default.removeLogListener(logcatListener)}})}});
|
||||
1
modules/flvjs/demux/amf-parser.js
Normal file
1
modules/flvjs/demux/amf-parser.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","../utils/logger.js","../utils/utf8-conv.js","../utils/exception.js"],function(_exports,_logger,_utf8Conv,_exception){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var AMF=function(){function AMF(){babelHelpers.classCallCheck(this,AMF)}return babelHelpers.createClass(AMF,null,[{key:"parseScriptData",value:function(arrayBuffer,dataOffset,dataSize){var data={};try{var name=AMF.parseValue(arrayBuffer,dataOffset,dataSize),value=AMF.parseValue(arrayBuffer,dataOffset+name.size,dataSize-name.size);data[name.data]=value.data}catch(e){_logger.default.e("AMF",e.toString())}return data}},{key:"parseObject",value:function(arrayBuffer,dataOffset,dataSize){if(dataSize<3)throw new _exception.IllegalStateException("Data not enough when parse ScriptDataObject");var name=AMF.parseString(arrayBuffer,dataOffset,dataSize),arrayBuffer=AMF.parseValue(arrayBuffer,dataOffset+name.size,dataSize-name.size),dataOffset=arrayBuffer.objectEnd;return{data:{name:name.data,value:arrayBuffer.data},size:name.size+arrayBuffer.size,objectEnd:dataOffset}}},{key:"parseVariable",value:function(arrayBuffer,dataOffset,dataSize){return AMF.parseObject(arrayBuffer,dataOffset,dataSize)}},{key:"parseString",value:function(arrayBuffer,dataOffset,dataSize){if(dataSize<2)throw new _exception.IllegalStateException("Data not enough when parse String");dataSize=new DataView(arrayBuffer,dataOffset,dataSize).getUint16(0,!1),arrayBuffer=0<dataSize?(0,_utf8Conv.default)(new Uint8Array(arrayBuffer,dataOffset+2,dataSize)):"";return{data:arrayBuffer,size:2+dataSize}}},{key:"parseLongString",value:function(arrayBuffer,dataOffset,dataSize){if(dataSize<4)throw new _exception.IllegalStateException("Data not enough when parse LongString");dataSize=new DataView(arrayBuffer,dataOffset,dataSize).getUint32(0,!1),arrayBuffer=0<dataSize?(0,_utf8Conv.default)(new Uint8Array(arrayBuffer,dataOffset+4,dataSize)):"";return{data:arrayBuffer,size:4+dataSize}}},{key:"parseDate",value:function(arrayBuffer,dataOffset,dataSize){if(dataSize<10)throw new _exception.IllegalStateException("Data size invalid when parse Date");arrayBuffer=new DataView(arrayBuffer,dataOffset,dataSize),dataOffset=arrayBuffer.getFloat64(0,!1);return dataOffset+=60*arrayBuffer.getInt16(8,!1)*1e3,{data:new Date(dataOffset),size:10}}},{key:"parseValue",value:function(arrayBuffer,dataOffset,dataSize){if(dataSize<1)throw new _exception.IllegalStateException("Data not enough when parse Value");var v=new DataView(arrayBuffer,dataOffset,dataSize),offset=1,type=v.getUint8(0),objectEnd=!1;try{switch(type){case 0:value=v.getFloat64(1,!1),offset+=8;break;case 1:var value=!!v.getUint8(1);offset+=1;break;case 2:var amfstr=AMF.parseString(arrayBuffer,dataOffset+1,dataSize-1);value=amfstr.data,offset+=amfstr.size;break;case 3:value={};var terminal=0;for(9==(16777215&v.getUint32(dataSize-4,!1))&&(terminal=3);offset<dataSize-4;){var amfobj=AMF.parseObject(arrayBuffer,dataOffset+offset,dataSize-offset-terminal);if(amfobj.objectEnd)break;value[amfobj.data.name]=amfobj.data.value,offset+=amfobj.size}offset<=dataSize-3&&9==(16777215&v.getUint32(offset-1,!1))&&(offset+=3);break;case 8:value={},offset+=4;var _terminal=0;for(9==(16777215&v.getUint32(dataSize-4,!1))&&(_terminal=3);offset<dataSize-8;){var amfvar=AMF.parseVariable(arrayBuffer,dataOffset+offset,dataSize-offset-_terminal);if(amfvar.objectEnd)break;value[amfvar.data.name]=amfvar.data.value,offset+=amfvar.size}offset<=dataSize-3&&9==(16777215&v.getUint32(offset-1,!1))&&(offset+=3);break;case 9:offset=1,objectEnd=!(value=void 0);break;case 10:value=[];var strictArrayLength=v.getUint32(1,!1);offset+=4;for(var i=0;i<strictArrayLength;i++){var val=AMF.parseValue(arrayBuffer,dataOffset+offset,dataSize-offset);value.push(val.data),offset+=val.size}break;case 11:var date=AMF.parseDate(arrayBuffer,dataOffset+1,dataSize-1);value=date.data,offset+=date.size;break;case 12:var amfLongStr=AMF.parseString(arrayBuffer,dataOffset+1,dataSize-1);value=amfLongStr.data,offset+=amfLongStr.size;break;default:offset=dataSize,_logger.default.w("AMF","Unsupported AMF value type "+type)}}catch(e){_logger.default.e("AMF",e.toString())}return{data:value,size:offset,objectEnd:objectEnd}}}]),AMF}();_exports.default=AMF});
|
||||
1
modules/flvjs/demux/demux-errors.js
Normal file
1
modules/flvjs/demux/demux-errors.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"}});
|
||||
1
modules/flvjs/demux/exp-golomb.js
Normal file
1
modules/flvjs/demux/exp-golomb.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default=function(){function ExpGolomb(data){babelHelpers.classCallCheck(this,ExpGolomb),this.data=data,this.bytesAvailable=data.byteLength,this.word=0,this.bitsAvailable=0}return babelHelpers.createClass(ExpGolomb,[{key:"loadWord",value:function(){var data=this.data,bytesAvailable=this.bytesAvailable,position=data.byteLength-bytesAvailable,workingBytes=new Uint8Array(4),bytesAvailable=Math.min(4,bytesAvailable);if(0===bytesAvailable)throw new Error("no bytes available");workingBytes.set(data.subarray(position,position+bytesAvailable)),this.word=new DataView(workingBytes.buffer).getUint32(0),this.bitsAvailable=8*bytesAvailable,this.bytesAvailable-=bytesAvailable}},{key:"skipBits",value:function(count){var skipBytes;this.bitsAvailable>count||(count=(count-=this.bitsAvailable)-((skipBytes=count>>3)>>3),this.bytesAvailable-=skipBytes,this.loadWord()),this.word<<=count,this.bitsAvailable-=count}},{key:"readBits",value:function(size){var bits=Math.min(this.bitsAvailable,size),valu=this.word>>>32-bits;return this.bitsAvailable-=bits,0<this.bitsAvailable?this.word<<=bits:0<this.bytesAvailable&&this.loadWord(),0<(bits=size-bits)&&this.bitsAvailable?valu<<bits|this.readBits(bits):valu}},{key:"skipLZ",value:function(){for(var leadingZeroCount=0;leadingZeroCount<this.bitsAvailable;++leadingZeroCount)if(0!=(this.word&2147483648>>>leadingZeroCount))return this.word<<=leadingZeroCount,this.bitsAvailable-=leadingZeroCount,leadingZeroCount;return this.loadWord(),leadingZeroCount+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 clz=this.skipLZ();return this.readBits(clz+1)-1}},{key:"readEG",value:function(){var valu=this.readUEG();return 1&valu?1+valu>>>1:-1*(valu>>>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(count){for(var lastScale=8,nextScale=8,j=0;j<count;j++)lastScale=0===(nextScale=0!==nextScale?(lastScale+this.readEG()+256)%256:nextScale)?lastScale:nextScale}},{key:"readSPS",value:function(){var numRefFramesInPicOrderCntCycle,scalingListCount,i,frameCropLeftOffset=0,frameCropRightOffset=0,frameCropTopOffset=0,frameCropBottomOffset=0,readUByte=this.readUByte.bind(this),readBits=this.readBits.bind(this),readUEG=this.readUEG.bind(this),readBoolean=this.readBoolean.bind(this),skipBits=this.skipBits.bind(this),skipEG=this.skipEG.bind(this),skipUEG=this.skipUEG.bind(this),skipScalingList=this.skipScalingList.bind(this);if(readUByte(),profileIdc=readUByte(),readBits(5),skipBits(3),readUByte(),skipUEG(),100===profileIdc||110===profileIdc||122===profileIdc||244===profileIdc||44===profileIdc||83===profileIdc||86===profileIdc||118===profileIdc||128===profileIdc){var profileIdc=readUEG();if(3===profileIdc&&skipBits(1),skipUEG(),skipUEG(),skipBits(1),readBoolean())for(scalingListCount=3!==profileIdc?8:12,i=0;i<scalingListCount;i++)readBoolean()&&skipScalingList(i<6?16:64)}skipUEG();var profileIdc=readUEG();if(0===profileIdc)readUEG();else if(1===profileIdc)for(skipBits(1),skipEG(),skipEG(),numRefFramesInPicOrderCntCycle=readUEG(),i=0;i<numRefFramesInPicOrderCntCycle;i++)skipEG();skipUEG(),skipBits(1),profileIdc=readUEG(),skipUEG=readUEG(),0===(readBits=readBits(1))&&skipBits(1),skipBits(1),readBoolean()&&(frameCropLeftOffset=readUEG(),frameCropRightOffset=readUEG(),frameCropTopOffset=readUEG(),frameCropBottomOffset=readUEG());var pixelRatio=[1,1];if(readBoolean()&&readBoolean())switch(readUByte()){case 1:pixelRatio=[1,1];break;case 2:pixelRatio=[12,11];break;case 3:pixelRatio=[10,11];break;case 4:pixelRatio=[16,11];break;case 5:pixelRatio=[40,33];break;case 6:pixelRatio=[24,11];break;case 7:pixelRatio=[20,11];break;case 8:pixelRatio=[32,11];break;case 9:pixelRatio=[80,33];break;case 10:pixelRatio=[18,11];break;case 11:pixelRatio=[15,11];break;case 12:pixelRatio=[64,33];break;case 13:pixelRatio=[160,99];break;case 14:pixelRatio=[4,3];break;case 15:pixelRatio=[3,2];break;case 16:pixelRatio=[2,1];break;case 255:pixelRatio=[readUByte()<<8|readUByte(),readUByte()<<8|readUByte()]}return{width:Math.ceil(16*(profileIdc+1)-2*frameCropLeftOffset-2*frameCropRightOffset),height:(2-readBits)*(skipUEG+1)*16-(readBits?2:4)*(frameCropTopOffset+frameCropBottomOffset),pixelRatio:pixelRatio}}},{key:"readSliceType",value:function(){return this.readUByte(),this.readUEG(),this.readUEG()}}]),ExpGolomb}()});
|
||||
1
modules/flvjs/demux/flv-demuxer.js
Normal file
1
modules/flvjs/demux/flv-demuxer.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/flv.js
Normal file
1
modules/flvjs/flv.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./core/features.js","./io/loader.js","./player/flv-player.js","./player/player-events.js","./player/player-errors.js","./utils/logging-control.js","./utils/exception.js"],function(_exports,_features,_loader,_flvPlayer,_playerEvents,_playerErrors,_loggingControl,_exception){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var flvjs={createPlayer:function(mediaDataSource,optionalConfig){if(null==mediaDataSource||"object"!=typeof mediaDataSource)throw new _exception.InvalidArgumentException("MediaDataSource must be an javascript object!");return new _flvPlayer.default(mediaDataSource,optionalConfig)},isSupported:function(){return _features.default.supportMSEH264Playback()},getFeatureList:function(){return _features.default.getFeatureList()}};flvjs.BaseLoader=_loader.BaseLoader,flvjs.LoaderStatus=_loader.LoaderStatus,flvjs.LoaderErrors=_loader.LoaderErrors,flvjs.Events=_playerEvents.default,flvjs.ErrorTypes=_playerErrors.ErrorTypes,flvjs.ErrorDetails=_playerErrors.ErrorDetails,flvjs.FlvPlayer=_flvPlayer.default,flvjs.LoggingControl=_loggingControl.default,Object.defineProperty(flvjs,"version",{enumerable:!0,get:function(){return"__VERSION__"}}),_exports.default=flvjs});
|
||||
1
modules/flvjs/io/fetch-stream-loader.js
Normal file
1
modules/flvjs/io/fetch-stream-loader.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","../../browser.js","./loader.js","../utils/exception.js"],function(_exports,_browser,_loader,_exception){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var FetchStreamLoader=function(_BaseLoader){babelHelpers.inherits(FetchStreamLoader,_BaseLoader);var _super=_createSuper(FetchStreamLoader);function FetchStreamLoader(seekHandler,config){var _this;return babelHelpers.classCallCheck(this,FetchStreamLoader),(_this=_super.call(this,"fetch-stream-loader")).TAG="FetchStreamLoader",_this._seekHandler=seekHandler,_this._config=config,_this._needStash=!0,_this._requestAbort=!1,_this._contentLength=null,_this._receivedLength=0,_this}return babelHelpers.createClass(FetchStreamLoader,[{key:"destroy",value:function(){this.isWorking()&&this.abort(),babelHelpers.get(babelHelpers.getPrototypeOf(FetchStreamLoader.prototype),"destroy",this).call(this)}},{key:"open",value:function(dataSource,range){var _this2=this,sourceURL=(this._dataSource=dataSource,this._range=range,dataSource.url),seekConfig=(this._config.reuseRedirectedURL&&dataSource.redirectedURL&&(sourceURL=dataSource.redirectedURL),this._seekHandler.getConfig(sourceURL,range)),headers=new Headers;if("object"==typeof seekConfig.headers){var key,configHeaders=seekConfig.headers;for(key in configHeaders)Object.hasOwn(configHeaders,key)&&headers.append(key,configHeaders[key])}sourceURL={method:"GET",headers:headers,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if("object"==typeof this._config.headers)for(var _key in this._config.headers)headers.append(_key,this._config.headers[_key]);!1===dataSource.cors&&(sourceURL.mode="same-origin"),dataSource.withCredentials&&(sourceURL.credentials="include"),dataSource.referrerPolicy&&(sourceURL.referrerPolicy=dataSource.referrerPolicy),"undefined"!=typeof AbortController&&(this._abortController=new AbortController,sourceURL.signal=this._abortController.signal),this._status=_loader.LoaderStatus.kConnecting,fetch(seekConfig.url,sourceURL).then(function(res){if(_this2._requestAbort)_this2._requestAbort=!1,_this2._status=_loader.LoaderStatus.kIdle,res.body.cancel();else{var redirectedURL;if(res.ok&&200<=res.status&&res.status<=299)return res.url!==seekConfig.url&&_this2._onURLRedirect&&(redirectedURL=_this2._seekHandler.removeURLParameters(res.url),_this2._onURLRedirect(redirectedURL)),null!=(redirectedURL=res.headers.get("Content-Length"))&&(_this2._contentLength=parseInt(redirectedURL),0!==_this2._contentLength)&&_this2._onContentLengthKnown&&_this2._onContentLengthKnown(_this2._contentLength),_this2._pump.call(_this2,res.body.getReader());if(_this2._status=_loader.LoaderStatus.kError,!_this2._onError)throw new _exception.RuntimeException("FetchStreamLoader: Http code invalid, "+res.status+" "+res.statusText);_this2._onError(_loader.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:res.status,msg:res.statusText})}}).catch(function(e){if(!_this2._abortController||!_this2._abortController.signal.aborted){if(_this2._status=_loader.LoaderStatus.kError,!_this2._onError)throw e;_this2._onError(_loader.LoaderErrors.EXCEPTION,{code:-1,msg:e.message})}})}},{key:"abort",value:function(){this._requestAbort=!0,this._abortController&&this._abortController.abort()}},{key:"_pump",value:function(reader){var _this3=this;return reader.read().then(function(result){if(result.done)if(null!==_this3._contentLength&&_this3._receivedLength<_this3._contentLength){_this3._status=_loader.LoaderStatus.kError;var type=_loader.LoaderErrors.EARLY_EOF,info={code:-1,msg:"Fetch stream meet Early-EOF"};if(!_this3._onError)throw new _exception.RuntimeException(info.msg);_this3._onError(type,info)}else _this3._status=_loader.LoaderStatus.kComplete,_this3._onComplete&&_this3._onComplete(_this3._range.from,_this3._range.from+_this3._receivedLength-1);else{if(!0===_this3._requestAbort)return _this3._requestAbort=!1,_this3._status=_loader.LoaderStatus.kComplete,reader.cancel();_this3._status=_loader.LoaderStatus.kBuffering;type=result.value.buffer,info=_this3._range.from+_this3._receivedLength;_this3._receivedLength+=type.byteLength,_this3._onDataArrival&&_this3._onDataArrival(type,info,_this3._receivedLength),_this3._pump(reader)}}).catch(function(e){if(11!==e.code||!_browser.default.edge){_this3._status=_loader.LoaderStatus.kError;var type=0,info=null,info=19!==e.code&&"network error"!==e.message||!(null===_this3._contentLength||null!==_this3._contentLength&&_this3._receivedLength<_this3._contentLength)?(type=_loader.LoaderErrors.EXCEPTION,{code:e.code,msg:e.message}):(type=_loader.LoaderErrors.EARLY_EOF,{code:e.code,msg:"Fetch stream meet Early-EOF"});if(!_this3._onError)throw new _exception.RuntimeException(info.msg);_this3._onError(type,info)}})}}],[{key:"isSupported",value:function(){try{return"undefined"!=typeof fetch&&"undefined"!=typeof ReadableStream}catch(e){return!1}}}]),FetchStreamLoader}(_loader.BaseLoader);_exports.default=FetchStreamLoader});
|
||||
1
modules/flvjs/io/io-controller.js
Normal file
1
modules/flvjs/io/io-controller.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/io/loader.js
Normal file
1
modules/flvjs/io/loader.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","../utils/exception.js"],function(_exports,_exception){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.LoaderStatus=_exports.LoaderErrors=_exports.BaseLoader=void 0;var LoaderStatus={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},BaseLoader=(_exports.LoaderStatus=LoaderStatus,_exports.LoaderErrors={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"},function(){function BaseLoader(typeName){babelHelpers.classCallCheck(this,BaseLoader),this._type=typeName||"undefined",this._status=LoaderStatus.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return babelHelpers.createClass(BaseLoader,[{key:"destroy",value:function(){this._status=LoaderStatus.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}},{key:"isWorking",value:function(){return this._status===LoaderStatus.kConnecting||this._status===LoaderStatus.kBuffering}},{key:"type",get:function(){return this._type}},{key:"status",get:function(){return this._status}},{key:"needStashBuffer",get:function(){return this._needStash}},{key:"onContentLengthKnown",get:function(){return this._onContentLengthKnown},set:function(callback){this._onContentLengthKnown=callback}},{key:"onURLRedirect",get:function(){return this._onURLRedirect},set:function(callback){this._onURLRedirect=callback}},{key:"onDataArrival",get:function(){return this._onDataArrival},set:function(callback){this._onDataArrival=callback}},{key:"onError",get:function(){return this._onError},set:function(callback){this._onError=callback}},{key:"onComplete",get:function(){return this._onComplete},set:function(callback){this._onComplete=callback}},{key:"open",value:function(dataSource,range){throw new _exception.NotImplementedException("Unimplemented abstract function!")}},{key:"abort",value:function(){throw new _exception.NotImplementedException("Unimplemented abstract function!")}}]),BaseLoader}());_exports.BaseLoader=BaseLoader});
|
||||
1
modules/flvjs/io/param-seek-handler.js
Normal file
1
modules/flvjs/io/param-seek-handler.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default=function(){function ParamSeekHandler(paramStart,paramEnd){babelHelpers.classCallCheck(this,ParamSeekHandler),this._startName=paramStart,this._endName=paramEnd}return babelHelpers.createClass(ParamSeekHandler,[{key:"getConfig",value:function(baseUrl,range){var needAnd;return 0===range.from&&-1===range.to||(needAnd=!0,-1===baseUrl.indexOf("?")&&(baseUrl+="?",needAnd=!1),needAnd&&(baseUrl+="&"),baseUrl+="".concat(this._startName,"=").concat(range.from.toString()),-1!==range.to&&(baseUrl+="&".concat(this._endName,"=").concat(range.to.toString()))),{url:baseUrl,headers:{}}}},{key:"removeURLParameters",value:function(seekedURL){var params,baseURL=seekedURL.split("?")[0],queryIndex=seekedURL.indexOf("?"),resultParams="";if((params=-1!==queryIndex?seekedURL.substring(queryIndex+1):params)&&0<params.length)for(var pairs=params.split("&"),i=0;i<pairs.length;i++){var pair=pairs[i].split("=");pair[0]!==this._startName&&pair[0]!==this._endName&&(0<i&&(resultParams+="&"),resultParams+=pairs[i])}return 0===resultParams.length?baseURL:baseURL+"?"+resultParams}}]),ParamSeekHandler}()});
|
||||
1
modules/flvjs/io/range-seek-handler.js
Normal file
1
modules/flvjs/io/range-seek-handler.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default=function(){function RangeSeekHandler(zeroStart){babelHelpers.classCallCheck(this,RangeSeekHandler),this._zeroStart=zeroStart||!1}return babelHelpers.createClass(RangeSeekHandler,[{key:"getConfig",value:function(url,range){var headers={};return 0!==range.from||-1!==range.to?(range=-1!==range.to?"bytes=".concat(range.from.toString(),"-").concat(range.to.toString()):"bytes=".concat(range.from.toString(),"-"),headers.Range=range):this._zeroStart&&(headers.Range="bytes=0-"),{url:url,headers:headers}}},{key:"removeURLParameters",value:function(seekedURL){return seekedURL}}]),RangeSeekHandler}()});
|
||||
1
modules/flvjs/io/speed-sampler.js
Normal file
1
modules/flvjs/io/speed-sampler.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default=function(){function SpeedSampler(){babelHelpers.classCallCheck(this,SpeedSampler),this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,"undefined"!=typeof performance&&performance.now?this._now=performance.now.bind(performance):this._now=Date.now}return babelHelpers.createClass(SpeedSampler,[{key:"reset",value:function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}},{key:"addBytes",value:function(bytes){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=bytes,this._totalBytes+=bytes):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=bytes,this._totalBytes+=bytes):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=bytes,this._totalBytes+=bytes,this._lastCheckpoint=this._now())}},{key:"currentKBps",get:function(){this.addBytes(0);var durationSeconds=(this._now()-this._lastCheckpoint)/1e3;return this._intervalBytes/(durationSeconds=0===durationSeconds?1:durationSeconds)/1024}},{key:"lastSecondKBps",get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:500<=this._now()-this._lastCheckpoint?this.currentKBps:0}},{key:"averageKBps",get:function(){var durationSeconds=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/durationSeconds/1024}}]),SpeedSampler}()});
|
||||
1
modules/flvjs/player/flv-player.js
Normal file
1
modules/flvjs/player/flv-player.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/player/player-errors.js
Normal file
1
modules/flvjs/player/player-errors.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","../io/loader.js","../demux/demux-errors.js"],function(_exports,_loader,_demuxErrors){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.ErrorTypes=_exports.ErrorDetails=void 0;_exports.ErrorTypes={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"};_loader={NETWORK_EXCEPTION:_loader.LoaderErrors.EXCEPTION,NETWORK_STATUS_CODE_INVALID:_loader.LoaderErrors.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:_loader.LoaderErrors.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:_loader.LoaderErrors.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:_demuxErrors.default.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:_demuxErrors.default.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:_demuxErrors.default.CODEC_UNSUPPORTED};_exports.ErrorDetails=_loader});
|
||||
1
modules/flvjs/player/player-events.js
Normal file
1
modules/flvjs/player/player-events.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"}});
|
||||
1
modules/flvjs/remux/aac-silent.js
Normal file
1
modules/flvjs/remux/aac-silent.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default=function(){function AAC(){babelHelpers.classCallCheck(this,AAC)}return babelHelpers.createClass(AAC,null,[{key:"getSilentFrame",value:function(codec,channelCount){if("mp4a.40.2"===codec){if(1===channelCount)return new Uint8Array([0,200,0,128,35,128]);if(2===channelCount)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===channelCount)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===channelCount)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===channelCount)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===channelCount)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===channelCount)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===channelCount)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===channelCount)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}]),AAC}()});
|
||||
1
modules/flvjs/remux/mp4-generator.js
Normal file
1
modules/flvjs/remux/mp4-generator.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/remux/mp4-remuxer.js
Normal file
1
modules/flvjs/remux/mp4-remuxer.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/flvjs/utils/events.js
Normal file
1
modules/flvjs/utils/events.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return"function"==typeof arg}function isObject(arg){return"object"==typeof arg&&null!==arg}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,(EventEmitter.EventEmitter=EventEmitter).prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if("number"!=typeof n||n<0||isNaN(n))throw TypeError("n must be a positive number");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var handler,len,args,i,listeners,err,er;if((this._events||(this._events={}),"error"===type)&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length))throw(er=arguments[1])instanceof Error?er:((err=new Error('Uncaught, unspecified "error" event. ('+er+")")).context=er,err);if(void 0===(handler=this._events[type]))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:args=Array.prototype.slice.call(arguments,1),handler.apply(this,args)}else if(isObject(handler))for(args=Array.prototype.slice.call(arguments,1),len=(listeners=handler.slice()).length,i=0;i<len;i++)listeners[i].apply(this,args);return!0},EventEmitter.prototype.on=EventEmitter.prototype.addListener=function(type,listener){if(isFunction(listener))return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned&&(listener=void 0!==this._maxListeners?this._maxListeners:EventEmitter.defaultMaxListeners)&&0<listener&&this._events[type].length>listener&&(this._events[type].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[type].length),"function"==typeof console.trace)&&console.trace(),this;throw TypeError("listener must be a function")},EventEmitter.prototype.once=function(type,listener){var fired;if(isFunction(listener))return fired=!1,g.listener=listener,this.on(type,g),this;throw TypeError("listener must be a function");function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError("listener must be a function");if(this._events&&this._events[type])if(length=(list=this._events[type]).length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit("removeListener",type,listener);else if(isObject(list)){for(i=length;0<i--;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(position<0)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit("removeListener",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(this._events)if(this._events.removeListener)if(0===arguments.length){for(key in this._events)"removeListener"!==key&&this.removeAllListeners(key);this.removeAllListeners("removeListener"),this._events={}}else{if(isFunction(listeners=this._events[type]))this.removeListener(type,listeners);else if(listeners)for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);delete this._events[type]}else 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type];return this},EventEmitter.prototype.listeners=function(type){type=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[];return type},EventEmitter.prototype.listenerCount=function(type){if(this._events){type=this._events[type];if(isFunction(type))return 1;if(type)return type.length}return 0},EventEmitter.listenerCount=function(emitter,type){return emitter.listenerCount(type)},_exports.default=EventEmitter});
|
||||
1
modules/flvjs/utils/exception.js
Normal file
1
modules/flvjs/utils/exception.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.RuntimeException=_exports.NotImplementedException=_exports.InvalidArgumentException=_exports.IllegalStateException=void 0;var RuntimeException=function(){function RuntimeException(message){babelHelpers.classCallCheck(this,RuntimeException),this._message=message}return babelHelpers.createClass(RuntimeException,[{key:"name",get:function(){return"RuntimeException"}},{key:"message",get:function(){return this._message}},{key:"toString",value:function(){return this.name+": "+this.message}}]),RuntimeException}(),IllegalStateException=(_exports.RuntimeException=RuntimeException,function(){babelHelpers.inherits(IllegalStateException,RuntimeException);var _super=_createSuper(IllegalStateException);function IllegalStateException(message){return babelHelpers.classCallCheck(this,IllegalStateException),_super.call(this,message)}return babelHelpers.createClass(IllegalStateException,[{key:"name",get:function(){return"IllegalStateException"}}]),IllegalStateException}()),IllegalStateException=(_exports.IllegalStateException=IllegalStateException,function(){babelHelpers.inherits(InvalidArgumentException,RuntimeException);var _super2=_createSuper2(InvalidArgumentException);function InvalidArgumentException(message){return babelHelpers.classCallCheck(this,InvalidArgumentException),_super2.call(this,message)}return babelHelpers.createClass(InvalidArgumentException,[{key:"name",get:function(){return"InvalidArgumentException"}}]),InvalidArgumentException}()),IllegalStateException=(_exports.InvalidArgumentException=IllegalStateException,function(){babelHelpers.inherits(NotImplementedException,RuntimeException);var _super3=_createSuper3(NotImplementedException);function NotImplementedException(message){return babelHelpers.classCallCheck(this,NotImplementedException),_super3.call(this,message)}return babelHelpers.createClass(NotImplementedException,[{key:"name",get:function(){return"NotImplementedException"}}]),NotImplementedException}());_exports.NotImplementedException=IllegalStateException});
|
||||
1
modules/flvjs/utils/logger.js
Normal file
1
modules/flvjs/utils/logger.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./events.js"],function(_exports,_events){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var Log=function(){function Log(){babelHelpers.classCallCheck(this,Log)}return babelHelpers.createClass(Log,null,[{key:"e",value:function(tag,msg){tag="[".concat(tag=tag&&!Log.FORCE_GLOBAL_TAG?tag:Log.GLOBAL_TAG,"] > ").concat(msg);Log.ENABLE_CALLBACK&&Log.emitter.emit("log","error",tag),Log.ENABLE_ERROR&&(console.error?console.error(tag):console.warn?console.warn(tag):console.log(tag))}},{key:"i",value:function(tag,msg){tag="[".concat(tag=tag&&!Log.FORCE_GLOBAL_TAG?tag:Log.GLOBAL_TAG,"] > ").concat(msg);Log.ENABLE_CALLBACK&&Log.emitter.emit("log","info",tag),Log.ENABLE_INFO&&(console.info?console.info(tag):console.log(tag))}},{key:"w",value:function(tag,msg){tag="[".concat(tag=tag&&!Log.FORCE_GLOBAL_TAG?tag:Log.GLOBAL_TAG,"] > ").concat(msg);Log.ENABLE_CALLBACK&&Log.emitter.emit("log","warn",tag),Log.ENABLE_WARN&&(console.warn?console.warn(tag):console.log(tag))}},{key:"d",value:function(tag,msg){tag="[".concat(tag=tag&&!Log.FORCE_GLOBAL_TAG?tag:Log.GLOBAL_TAG,"] > ").concat(msg);Log.ENABLE_CALLBACK&&Log.emitter.emit("log","debug",tag),Log.ENABLE_DEBUG&&(console.debug?console.debug(tag):console.log(tag))}},{key:"v",value:function(tag,msg){tag="[".concat(tag=tag&&!Log.FORCE_GLOBAL_TAG?tag:Log.GLOBAL_TAG,"] > ").concat(msg);Log.ENABLE_CALLBACK&&Log.emitter.emit("log","verbose",tag),Log.ENABLE_VERBOSE&&console.log(tag)}}]),Log}();Log.GLOBAL_TAG="flv.js",Log.FORCE_GLOBAL_TAG=!1,Log.ENABLE_ERROR=!0,Log.ENABLE_INFO=!0,Log.ENABLE_WARN=!0,Log.ENABLE_DEBUG=!0,Log.ENABLE_VERBOSE=!0,Log.ENABLE_CALLBACK=!1,Log.emitter=new _events.default,_exports.default=Log});
|
||||
1
modules/flvjs/utils/logging-control.js
Normal file
1
modules/flvjs/utils/logging-control.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./events.js","./logger.js"],function(_exports,_events,_logger){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var LoggingControl=function(){function LoggingControl(){babelHelpers.classCallCheck(this,LoggingControl)}return babelHelpers.createClass(LoggingControl,null,[{key:"forceGlobalTag",get:function(){return _logger.default.FORCE_GLOBAL_TAG},set:function(enable){_logger.default.FORCE_GLOBAL_TAG=enable,LoggingControl._notifyChange()}},{key:"globalTag",get:function(){return _logger.default.GLOBAL_TAG},set:function(tag){_logger.default.GLOBAL_TAG=tag,LoggingControl._notifyChange()}},{key:"enableAll",get:function(){return _logger.default.ENABLE_VERBOSE&&_logger.default.ENABLE_DEBUG&&_logger.default.ENABLE_INFO&&_logger.default.ENABLE_WARN&&_logger.default.ENABLE_ERROR},set:function(enable){_logger.default.ENABLE_VERBOSE=enable,_logger.default.ENABLE_DEBUG=enable,_logger.default.ENABLE_INFO=enable,_logger.default.ENABLE_WARN=enable,_logger.default.ENABLE_ERROR=enable,LoggingControl._notifyChange()}},{key:"enableDebug",get:function(){return _logger.default.ENABLE_DEBUG},set:function(enable){_logger.default.ENABLE_DEBUG=enable,LoggingControl._notifyChange()}},{key:"enableVerbose",get:function(){return _logger.default.ENABLE_VERBOSE},set:function(enable){_logger.default.ENABLE_VERBOSE=enable,LoggingControl._notifyChange()}},{key:"enableInfo",get:function(){return _logger.default.ENABLE_INFO},set:function(enable){_logger.default.ENABLE_INFO=enable,LoggingControl._notifyChange()}},{key:"enableWarn",get:function(){return _logger.default.ENABLE_WARN},set:function(enable){_logger.default.ENABLE_WARN=enable,LoggingControl._notifyChange()}},{key:"enableError",get:function(){return _logger.default.ENABLE_ERROR},set:function(enable){_logger.default.ENABLE_ERROR=enable,LoggingControl._notifyChange()}},{key:"getConfig",value:function(){return{globalTag:_logger.default.GLOBAL_TAG,forceGlobalTag:_logger.default.FORCE_GLOBAL_TAG,enableVerbose:_logger.default.ENABLE_VERBOSE,enableDebug:_logger.default.ENABLE_DEBUG,enableInfo:_logger.default.ENABLE_INFO,enableWarn:_logger.default.ENABLE_WARN,enableError:_logger.default.ENABLE_ERROR,enableCallback:_logger.default.ENABLE_CALLBACK}}},{key:"applyConfig",value:function(config){_logger.default.GLOBAL_TAG=config.globalTag,_logger.default.FORCE_GLOBAL_TAG=config.forceGlobalTag,_logger.default.ENABLE_VERBOSE=config.enableVerbose,_logger.default.ENABLE_DEBUG=config.enableDebug,_logger.default.ENABLE_INFO=config.enableInfo,_logger.default.ENABLE_WARN=config.enableWarn,_logger.default.ENABLE_ERROR=config.enableError,_logger.default.ENABLE_CALLBACK=config.enableCallback}},{key:"_notifyChange",value:function(){var config,emitter=LoggingControl.emitter;0<emitter.listenerCount("change")&&(config=LoggingControl.getConfig(),emitter.emit("change",config))}},{key:"registerListener",value:function(listener){LoggingControl.emitter.addListener("change",listener)}},{key:"removeListener",value:function(listener){LoggingControl.emitter.removeListener("change",listener)}},{key:"addLogListener",value:function(listener){_logger.default.emitter.addListener("log",listener),0<_logger.default.emitter.listenerCount("log")&&(_logger.default.ENABLE_CALLBACK=!0,LoggingControl._notifyChange())}},{key:"removeLogListener",value:function(listener){_logger.default.emitter.removeListener("log",listener),0===_logger.default.emitter.listenerCount("log")&&(_logger.default.ENABLE_CALLBACK=!1,LoggingControl._notifyChange())}}]),LoggingControl}();LoggingControl.emitter=new _events.default,_exports.default=LoggingControl});
|
||||
1
modules/flvjs/utils/utf8-conv.js
Normal file
1
modules/flvjs/utils/utf8-conv.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){function checkContinuation(uint8array,start,checkLength){var array=uint8array;if(start+checkLength<array.length){for(;checkLength--;)if(128!=(192&array[++start]))return;return 1}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default=function(uint8array){for(var out=[],input=uint8array,i=0,length=uint8array.length;i<length;){if(input[i]<128)out.push(String.fromCharCode(input[i]));else{if(!(input[i]<192))if(input[i]<224){if(checkContinuation(input,i,1)){var ucs4=(31&input[i])<<6|63&input[i+1];if(128<=ucs4){out.push(String.fromCharCode(65535&ucs4)),i+=2;continue}}}else if(input[i]<240){if(checkContinuation(input,i,2)){ucs4=(15&input[i])<<12|(63&input[i+1])<<6|63&input[i+2];if(2048<=ucs4&&55296!=(63488&ucs4)){out.push(String.fromCharCode(65535&ucs4)),i+=3;continue}}}else if(input[i]<248&&checkContinuation(input,i,3)){var _ucs2=(7&input[i])<<18|(63&input[i+1])<<12|(63&input[i+2])<<6|63&input[i+3];if(65536<_ucs2&&_ucs2<1114112){_ucs2-=65536,out.push(String.fromCharCode(_ucs2>>>10|55296)),out.push(String.fromCharCode(1023&_ucs2|56320)),i+=4;continue}}out.push(String.fromCharCode(65533))}++i}return out.join("")}});
|
||||
Reference in New Issue
Block a user