2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
"use strict";(self.webpackChunkmontana_messenger=self.webpackChunkmontana_messenger||[]).push([[1930],{21930(e,a,n){n.r(a),n.d(a,{MatroskaParser:()=>f});var t=n(17833),i=n(74604);const r={name:"dtd",container:{440786851:{name:"ebml",container:{17030:{name:"ebmlVersion",value:1},17143:{name:"ebmlReadVersion",value:1},17138:{name:"ebmlMaxIDWidth",value:1},17139:{name:"ebmlMaxSizeWidth",value:1},17026:{name:"docType",value:0},17031:{name:"docTypeVersion",value:1},17029:{name:"docTypeReadVersion",value:1}}},408125543:{name:"segment",container:{290298740:{name:"seekHead",container:{19899:{name:"seek",multiple:!0,container:{21419:{name:"id",value:4},21420:{name:"position",value:1}}}}},357149030:{name:"info",container:{29604:{name:"uid",value:2},29572:{name:"filename",value:0},3979555:{name:"prevUID",value:2},3965867:{name:"prevFilename",value:0},4110627:{name:"nextUID",value:2},4096955:{name:"nextFilename",value:0},2807729:{name:"timecodeScale",value:1},17545:{name:"duration",value:5},17505:{name:"dateUTC",value:1},31657:{name:"title",value:0},19840:{name:"muxingApp",value:0},22337:{name:"writingApp",value:0}}},524531317:{name:"cluster",multiple:!0,container:{231:{name:"timecode",value:2},22743:{name:"silentTracks ",multiple:!0},167:{name:"position",value:2},171:{name:"prevSize",value:2},160:{name:"blockGroup"},163:{name:"simpleBlock"}}},374648427:{name:"tracks",container:{174:{name:"entries",multiple:!0,container:{215:{name:"trackNumber",value:1},29637:{name:"uid",value:2},131:{name:"trackType",value:1},185:{name:"flagEnabled",value:3},136:{name:"flagDefault",value:3},21930:{name:"flagForced",value:3},156:{name:"flagLacing",value:3},28135:{name:"minCache",value:1},28136:{name:"maxCache",value:1},2352003:{name:"defaultDuration",value:1},2306383:{name:"timecodeScale",value:5},21358:{name:"name",value:0},2274716:{name:"language",value:0},134:{name:"codecID",value:0},25506:{name:"codecPrivate",value:4},2459272:{name:"codecName",value:0},3839639:{name:"codecSettings",value:0},3883072:{name:"codecInfoUrl",value:0},2536e3:{name:"codecDownloadUrl",value:0},170:{name:"codecDecodeAll",value:3},28587:{name:"trackOverlay",value:1},224:{name:"video",container:{154:{name:"flagInterlaced",value:3},21432:{name:"stereoMode",value:1},176:{name:"pixelWidth",value:1},186:{name:"pixelHeight",value:1},21680:{name:"displayWidth",value:1},21690:{name:"displayHeight",value:1},21683:{name:"aspectRatioType",value:1},3061028:{name:"colourSpace",value:1},3126563:{name:"gammaValue",value:5}}},225:{name:"audio",container:{181:{name:"samplingFrequency",value:5},30901:{name:"outputSamplingFrequency",value:5},159:{name:"channels",value:1},148:{name:"channels",value:1},32123:{name:"channelPositions",value:4},25188:{name:"bitDepth",value:1}}},28032:{name:"contentEncodings",container:{25152:{name:"contentEncoding",container:{20529:{name:"order",value:1},20530:{name:"scope",value:3},20531:{name:"type",value:1},20532:{name:"contentEncoding",container:{16980:{name:"contentCompAlgo",value:1},16981:{name:"contentCompSettings",value:4}}},20533:{name:"contentEncoding",container:{18401:{name:"contentEncAlgo",value:1},18402:{name:"contentEncKeyID",value:4},18403:{name:"contentSignature ",value:4},18404:{name:"ContentSigKeyID ",value:4},18405:{name:"contentSigAlgo ",value:1},18406:{name:"contentSigHashAlgo ",value:1}}},25188:{name:"bitDepth",value:1}}}}}}}}},475249515:{name:"cues",container:{187:{name:"cuePoint",container:{179:{name:"cueTime",value:2},183:{name:"positions",container:{247:{name:"track",value:1},241:{name:"clusterPosition",value:1},21368:{name:"blockNumber",value:1},234:{name:"codecState",value:1},219:{name:"reference",container:{150:{name:"time",value:1},151:{name:"cluster",value:1},21343:{name:"number",value:1},235:{name:"codecState",value:1}}},240:{name:"relativePosition",value:1}}}}}}},423732329:{name:"attachments",container:{24999:{name:"attachedFiles",multiple:!0,container:{18046:{name:"description",value:0},18030:{name:"name",value:0},18016:{name:"mimeType",value:0},18012:{name:"data",value:4},18094:{name:"uid",value:2}}}}},272869232:{name:"chapters",container:{17849:{name:"editionEntry",container:{182:{name:"chapterAtom",container:{29636:{name:"uid",value:2},145:{name:"timeStart",value:1},146:{name:"timeEnd",value:2},152:{name:"hidden",value:3},17816:{name:"enabled",value:2},143:{name:"track",container:{137:{name:"trackNumber",value:2},128:{name:"display",container:{133:{name:"string",value:0},17276:{name:"language ",value:0},17278:{name:"country ",value:0}}}}}}}}}}},307544935:{name:"tags",container:{29555:{name:"tag",multiple:!0,container:{25536:{name:"target",container:{25541:{name:"tagTrackUID",value:2},25540:{name:"tagChapterUID",value:1},25542:{name:"tagAttachmentUID",value:2},25546:{name:"targetType",value:0},26826:{name:"targetTypeValue",value:1},25545:{name:"tagEditionUID",value:2}}},26568:{name:"simpleTags",multiple:!0,container:{17827:{name:"name",value:0},17543:{name:"string",value:0},17541:{name:"binary",value:4},17530:{name:"language",value:0},17531:{name:"languageIETF",value:0},17540:{name:"default",value:3}}}}}}}}}}};var s=n(45207),l=n(4017),m=n(10718),o=n(63324);const c=t("music-metadata:parser:ebml");class u extends((0,o.fO)("EBML")){}class d{constructor(e){this.parserMap=new Map,this.ebmlMaxIDLength=4,this.ebmlMaxSizeLength=8,this.tokenizer=e,this.parserMap.set(1,e=>this.readUint(e)),this.parserMap.set(0,e=>this.readString(e)),this.parserMap.set(4,e=>this.readBuffer(e)),this.parserMap.set(2,async e=>this.readBuffer(e)),this.parserMap.set(3,e=>this.readFlag(e)),this.parserMap.set(5,e=>this.readFloat(e))}async iterate(e,a,n){return this.parseContainer(v(e),a,n)}async parseContainer(e,a,n){const t={};for(;this.tokenizer.position<a;){let i;const r=this.tokenizer.position;try{i=await this.readElement()}catch(e){if(e instanceof m.d1)break;throw e}const s=e.container[i.id];if(s)switch(n.startNext(s)){case 0:if(i.id,c(`Read element: name=${g(s)}{id=0x${i.id.toString(16)}, container=${!!s.container}} at position=${r}`),s.container){const e=await this.parseContainer(s,i.len>=0?this.tokenizer.position+i.len:-1,n);s.multiple?(t[s.name]||(t[s.name]=[]),t[s.name].push(e)):t[s.name]=e,await n.elementValue(s,e,r)}else{const e=this.parserMap.get(s.value);if("function"==typeof e){const a=await e(i);t[s.name]=a,await n.elementValue(s,a,r)}}break;case 5:c(`Go to next element: name=${g(s)}, element.id=0x${i.id}, container=${!!s.container} at position=${r}`);break;case 2:c(`Ignore element: name=${g(s)}, element.id=0x${i.id}, container=${!!s.container} at position=${r}`),await this.tokenizer.ignore(i.len);break;case 3:c(`Ignore remaining container, at: name=${g(s)}, element.id=0x${i.id}, container=${!!s.container} at position=${r}`),await this.tokenizer.ignore(a-this.tokenizer.position);break;case 4:return c(`Terminate parsing at element: name=${g(s)}, element.id=0x${i.id}, container=${!!s.container} at position=${r}`),t}else 236===i.id||c(`parseEbml: parent=${g(e)}, unknown child: id=${i.id.toString(16)} at position=${r}`),await this.tokenizer.ignore(i.len)}return t}async readVintData(e){const a=await this.tokenizer.peekNumber(l.UINT8);let n=128,t=1;for(;0===(a&n);){if(t>e)throw new u("VINT value exceeding maximum size");++t,n>>=1}const i=new Uint8Array(t);return await this.tokenizer.readBuffer(i),i}async readElement(){const e=await this.readVintData(this.ebmlMaxIDLength),a=await this.readVintData(this.ebmlMaxSizeLength);return a[0]^=128>>a.length-1,{id:p(e,e.length),len:p(a,a.length)}}async readFloat(e){switch(e.len){case 0:return 0;case 4:return this.tokenizer.readNumber(l.Float32_BE);case 8:case 10:return this.tokenizer.readNumber(l.Float64_BE);default:throw new u(`Invalid IEEE-754 float length: ${e.len}`)}}async readFlag(e){return 1===await this.readUint(e)}async readUint(e){return p(await this.readBuffer(e),e.len)}async readString(e){return(await this.tokenizer.readToken(new l.StringType(e.len,"utf-8"))).replace(/\x00.*$/g,"")}async readBuffer(e){const a=new Uint8Array(e.len);return await this.tokenizer.readBuffer(a),a}}function p(e,a){return Number(function(e,a){const n=new Uint8Array(8),t=e.subarray(0,a);try{return n.set(t,8-a),l.UINT64_BE.get(n,0)}catch(e){return BigInt(-1)}}(e,a))}function v(e){return e.container&&Object.keys(e.container).map(a=>{const n=e.container[a];return n.id=Number.parseInt(a,10),n}).forEach(a=>{a.parent=e,v(a)}),e}function g(e){let a="";return e.parent&&"dtd"!==e.parent.name&&(a+=`${g(e.parent)}/`),a+e.name}const h=t("music-metadata:parser:matroska");class f extends i.s{constructor(){super(...arguments),this.seekHeadOffset=0,this.flagUseIndexToSkipClusters=this.options.mkvUseIndex??!1}async parse(){const e=this.tokenizer.fileInfo.size??Number.MAX_SAFE_INTEGER,a=new d(this.tokenizer);h("Initializing DTD end MatroskaIterator"),await a.iterate(r,e,{startNext:e=>{switch(e.id){case 475249515:return h(`Skip element: name=${e.name}, id=0x${e.id.toString(16)}`),2;case 524531317:if(this.flagUseIndexToSkipClusters&&this.seekHead){const e=this.seekHead.seek.find(e=>e.position+this.seekHeadOffset>this.tokenizer.position);if(e){const a=e.position+this.seekHeadOffset-this.tokenizer.position;return h(`Use index to go to next position, ignoring ${a} bytes`),this.tokenizer.ignore(a),5}}return 2;default:return 0}},elementValue:async(e,a,n)=>{switch(h(`Received: name=${e.name}, value=${a}`),e.id){case 17026:this.metadata.setFormat("container",`EBML/${a}`);break;case 290298740:this.seekHead=a,this.seekHeadOffset=n;break;case 357149030:{const e=a,n=e.timecodeScale?e.timecodeScale:1e6;if("number"==typeof e.duration){const a=e.duration*n/1e9;await this.addTag("segment:title",e.title),this.metadata.setFormat("duration",Number(a))}}break;case 374648427:{const e=a;if(e?.entries){e.entries.forEach(e=>{const a={codecName:e.codecID.replace("A_","").replace("V_",""),codecSettings:e.codecSettings,flagDefault:e.flagDefault,flagLacing:e.flagLacing,flagEnabled:e.flagEnabled,language:e.language,name:e.name,type:e.trackType,audio:e.audio,video:e.video};this.metadata.addStreamInfo(a)});const a=e.entries.filter(e=>e.trackType===s.S.audio).reduce((e,a)=>e?a.flagDefault&&!e.flagDefault||a.trackNumber<e.trackNumber?a:e:a,null);a&&(this.metadata.setFormat("codec",a.codecID.replace("A_","")),this.metadata.setFormat("sampleRate",a.audio.samplingFrequency),this.metadata.setFormat("numberOfChannels",a.audio.channels))}}break;case 307544935:{const e=a;await Promise.all(e.tag.map(async e=>{const a=e.target,n=a?.targetTypeValue?s.yK[a.targetTypeValue]:a?.targetType?a.targetType:"track";await Promise.all(e.simpleTags.map(async e=>{const a=e.string?e.string:e.binary;await this.addTag(`${n}:${e.name}`,a)}))}))}break;case 423732329:{const e=a;await Promise.all(e.attachedFiles.filter(e=>e.mimeType.startsWith("image/")).map(e=>this.addTag("picture",{data:e.data,format:e.mimeType,description:e.description,name:e.name})))}}}})}async addTag(e,a){await this.metadata.addTag("matroska",e,a)}}}}]);
|
|
//# sourceMappingURL=1930.8129304db11c6de3acc3.js.map
|