This commit is contained in:
root
2023-08-31 15:30:17 +02:00
commit dea16b40a8
833 changed files with 142024 additions and 0 deletions

View 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});

View 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}()});

View 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});

File diff suppressed because one or more lines are too long

View 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"}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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"}});

View 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)}})}});