TelegramPWA/dist/2626.10cb36ecefeca2dac8bd.js
Alexander Zinchuk be2164695b [Build]
2025-10-16 02:09:48 +02:00

2 lines
11 KiB
JavaScript

"use strict";(self.webpackChunktelegram_t=self.webpackChunktelegram_t||[]).push([[2626],{72626:(e,t,a)=>{a.r(t),a.d(t,{AsfParser:()=>P});var n=a(17833),r=a(45207),i=a(78523);class s{static fromBin(e,t=0){return new s(s.decode(e,t))}static decode(e,t=0){const a=new DataView(e.buffer,t);return`${a.getUint32(0,!0).toString(16)}-${a.getUint16(4,!0).toString(16)}-${a.getUint16(6,!0).toString(16)}-${a.getUint16(8).toString(16)}-${(0,i.EY)(e.subarray(t+10,t+16))}`.toUpperCase()}static decodeMediaType(e){switch(e.str){case s.AudioMedia.str:return"audio";case s.VideoMedia.str:return"video";case s.CommandMedia.str:return"command";case s.Degradable_JPEG_Media.str:return"degradable-jpeg";case s.FileTransferMedia.str:return"file-transfer";case s.BinaryMedia.str:return"binary"}}static encode(e){const t=new Uint8Array(16),a=new DataView(t.buffer);return a.setUint32(0,Number.parseInt(e.substring(0,8),16),!0),a.setUint16(4,Number.parseInt(e.substring(9,13),16),!0),a.setUint16(6,Number.parseInt(e.substring(14,18),16),!0),t.set((0,i.AS)(e.substring(19,23)),8),t.set((0,i.AS)(e.substring(24)),10),t}constructor(e){this.str=e}equals(e){return this.str===e.str}toBin(){return s.encode(this.str)}}s.HeaderObject=new s("75B22630-668E-11CF-A6D9-00AA0062CE6C"),s.DataObject=new s("75B22636-668E-11CF-A6D9-00AA0062CE6C"),s.SimpleIndexObject=new s("33000890-E5B1-11CF-89F4-00A0C90349CB"),s.IndexObject=new s("D6E229D3-35DA-11D1-9034-00A0C90349BE"),s.MediaObjectIndexObject=new s("FEB103F8-12AD-4C64-840F-2A1D2F7AD48C"),s.TimecodeIndexObject=new s("3CB73FD0-0C4A-4803-953D-EDF7B6228F0C"),s.FilePropertiesObject=new s("8CABDCA1-A947-11CF-8EE4-00C00C205365"),s.StreamPropertiesObject=new s("B7DC0791-A9B7-11CF-8EE6-00C00C205365"),s.HeaderExtensionObject=new s("5FBF03B5-A92E-11CF-8EE3-00C00C205365"),s.CodecListObject=new s("86D15240-311D-11D0-A3A4-00A0C90348F6"),s.ScriptCommandObject=new s("1EFB1A30-0B62-11D0-A39B-00A0C90348F6"),s.MarkerObject=new s("F487CD01-A951-11CF-8EE6-00C00C205365"),s.BitrateMutualExclusionObject=new s("D6E229DC-35DA-11D1-9034-00A0C90349BE"),s.ErrorCorrectionObject=new s("75B22635-668E-11CF-A6D9-00AA0062CE6C"),s.ContentDescriptionObject=new s("75B22633-668E-11CF-A6D9-00AA0062CE6C"),s.ExtendedContentDescriptionObject=new s("D2D0A440-E307-11D2-97F0-00A0C95EA850"),s.ContentBrandingObject=new s("2211B3FA-BD23-11D2-B4B7-00A0C955FC6E"),s.StreamBitratePropertiesObject=new s("7BF875CE-468D-11D1-8D82-006097C9A2B2"),s.ContentEncryptionObject=new s("2211B3FB-BD23-11D2-B4B7-00A0C955FC6E"),s.ExtendedContentEncryptionObject=new s("298AE614-2622-4C17-B935-DAE07EE9289C"),s.DigitalSignatureObject=new s("2211B3FC-BD23-11D2-B4B7-00A0C955FC6E"),s.PaddingObject=new s("1806D474-CADF-4509-A4BA-9AABCB96AAE8"),s.ExtendedStreamPropertiesObject=new s("14E6A5CB-C672-4332-8399-A96952065B5A"),s.AdvancedMutualExclusionObject=new s("A08649CF-4775-4670-8A16-6E35357566CD"),s.GroupMutualExclusionObject=new s("D1465A40-5A79-4338-B71B-E36B8FD6C249"),s.StreamPrioritizationObject=new s("D4FED15B-88D3-454F-81F0-ED5C45999E24"),s.BandwidthSharingObject=new s("A69609E6-517B-11D2-B6AF-00C04FD908E9"),s.LanguageListObject=new s("7C4346A9-EFE0-4BFC-B229-393EDE415C85"),s.MetadataObject=new s("C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA"),s.MetadataLibraryObject=new s("44231C94-9498-49D1-A141-1D134E457054"),s.IndexParametersObject=new s("D6E229DF-35DA-11D1-9034-00A0C90349BE"),s.MediaObjectIndexParametersObject=new s("6B203BAD-3F11-48E4-ACA8-D7613DE2CFA7"),s.TimecodeIndexParametersObject=new s("F55E496D-9797-4B5D-8C8B-604DFE9BFB24"),s.CompatibilityObject=new s("26F18B5D-4584-47EC-9F5F-0E651F0452C9"),s.AdvancedContentEncryptionObject=new s("43058533-6981-49E6-9B74-AD12CB86D58C"),s.AudioMedia=new s("F8699E40-5B4D-11CF-A8FD-00805F5C442B"),s.VideoMedia=new s("BC19EFC0-5B4D-11CF-A8FD-00805F5C442B"),s.CommandMedia=new s("59DACFC0-59E6-11D0-A3AC-00A0C90348F6"),s.JFIF_Media=new s("B61BE100-5B4E-11CF-A8FD-00805F5C442B"),s.Degradable_JPEG_Media=new s("35907DE0-E415-11CF-A917-00805F5C442B"),s.FileTransferMedia=new s("91BD222C-F21C-497A-8B6D-5AA86BFC0185"),s.BinaryMedia=new s("3AFB65E2-47EF-40F2-AC2C-70A90D71D343"),s.ASF_Index_Placeholder_Object=new s("D9AADE20-7C17-4F9C-BC28-8555DD98E2A2");const o=s;var c=a(4017),d=a(56185);function u(e){return d.F6(d.sc(e,"utf-16le"))}const b=[u,g,function(e,t=0){return 1===C(e,t)},function(e,t=0){return c.UINT32_LE.get(e,t)},function(e,t=0){return c.UINT64_LE.get(e,t)},C,g];function g(e){return new Uint8Array(e)}function C(e,t=0){return c.UINT16_LE.get(e,t)}var w=a(47675),l=a(63324);class D extends((0,l.fO)("ASF")){}const E={len:30,get:(e,t)=>({objectId:o.fromBin(e,t),objectSize:Number(c.UINT64_LE.get(e,t+16)),numberOfHeaderObjects:c.UINT32_LE.get(e,t+24)})},A={len:24,get:(e,t)=>({objectId:o.fromBin(e,t),objectSize:Number(c.UINT64_LE.get(e,t+16))})};class m{constructor(e){this.len=Number(e.objectSize)-A.len}postProcessTag(e,t,a,n){if("WM/Picture"===t)e.push({id:t,value:N.fromBuffer(n)});else{const r=b[a];if(!r)throw new D(`unexpected value headerType: ${a}`);e.push({id:t,value:r(n)})}}}class B extends m{get(e,t){return null}}class F extends m{get(e,t){return{fileId:o.fromBin(e,t),fileSize:c.UINT64_LE.get(e,t+16),creationDate:c.UINT64_LE.get(e,t+24),dataPacketsCount:c.UINT64_LE.get(e,t+32),playDuration:c.UINT64_LE.get(e,t+40),sendDuration:c.UINT64_LE.get(e,t+48),preroll:c.UINT64_LE.get(e,t+56),flags:{broadcast:d.mh(e,t+64,24),seekable:d.mh(e,t+64,25)},minimumDataPacketSize:c.UINT32_LE.get(e,t+68),maximumDataPacketSize:c.UINT32_LE.get(e,t+72),maximumBitrate:c.UINT32_LE.get(e,t+76)}}}F.guid=o.FilePropertiesObject;class f extends m{get(e,t){return{streamType:o.decodeMediaType(o.fromBin(e,t)),errorCorrectionType:o.fromBin(e,t+8)}}}f.guid=o.StreamPropertiesObject;class j{constructor(){this.len=22}get(e,t){const a=new DataView(e.buffer,t);return{reserved1:o.fromBin(e,t),reserved2:a.getUint16(16,!0),extensionDataSize:a.getUint16(18,!0)}}}j.guid=o.HeaderExtensionObject;const p={len:20,get:(e,t)=>({entryCount:new DataView(e.buffer,t).getUint16(16,!0)})};async function h(e){const t=await e.readNumber(c.UINT16_LE);return(await e.readToken(new c.StringType(2*t,"utf-16le"))).replace("\0","")}async function I(e){const t=await e.readToken(p),a=[];for(let n=0;n<t.entryCount;++n)a.push(await T(e));return a}async function O(e){const t=await e.readNumber(c.UINT16_LE),a=new Uint8Array(t);return await e.readBuffer(a),a}async function T(e){const t=await e.readNumber(c.UINT16_LE);return{type:{videoCodec:!(1&~t),audioCodec:!(2&~t)},codecName:await h(e),description:await h(e),information:await O(e)}}class k extends m{get(e,t){const a=[],n=new DataView(e.buffer,t);let r=10;for(let i=0;i<k.contentDescTags.length;++i){const s=n.getUint16(2*i,!0);if(s>0){const n=k.contentDescTags[i],o=r+s;a.push({id:n,value:u(e.subarray(t+r,t+o))}),r=o}}return a}}k.guid=o.ContentDescriptionObject,k.contentDescTags=["Title","Author","Copyright","Description","Rating"];class y extends m{get(e,t){const a=[],n=new DataView(e.buffer,t),r=n.getUint16(0,!0);let i=2;for(let s=0;s<r;s+=1){const r=n.getUint16(i,!0);i+=2;const s=u(e.subarray(t+i,t+i+r));i+=r;const o=n.getUint16(i,!0);i+=2;const c=n.getUint16(i,!0);i+=2;const d=e.subarray(t+i,t+i+c);i+=c,this.postProcessTag(a,s,o,d)}return a}}y.guid=o.ExtendedContentDescriptionObject;class U extends m{get(e,t){const a=new DataView(e.buffer,t);return{startTime:c.UINT64_LE.get(e,t),endTime:c.UINT64_LE.get(e,t+8),dataBitrate:a.getInt32(12,!0),bufferSize:a.getInt32(16,!0),initialBufferFullness:a.getInt32(20,!0),alternateDataBitrate:a.getInt32(24,!0),alternateBufferSize:a.getInt32(28,!0),alternateInitialBufferFullness:a.getInt32(32,!0),maximumObjectSize:a.getInt32(36,!0),flags:{reliableFlag:d.mh(e,t+40,0),seekableFlag:d.mh(e,t+40,1),resendLiveCleanpointsFlag:d.mh(e,t+40,2)},streamNumber:a.getInt16(42,!0),streamLanguageId:a.getInt16(44,!0),averageTimePerFrame:a.getInt32(52,!0),streamNameCount:a.getInt32(54,!0),payloadExtensionSystems:a.getInt32(56,!0),streamNames:[],streamPropertiesObject:null}}}U.guid=o.ExtendedStreamPropertiesObject;class S extends m{get(e,t){const a=[],n=new DataView(e.buffer,t),r=n.getUint16(0,!0);let i=2;for(let s=0;s<r;s+=1){i+=4;const r=n.getUint16(i,!0);i+=2;const s=n.getUint16(i,!0);i+=2;const o=n.getUint32(i,!0);i+=4;const c=u(e.subarray(t+i,t+i+r));i+=r;const d=e.subarray(t+i,t+i+o);i+=o,this.postProcessTag(a,c,s,d)}return a}}S.guid=o.MetadataObject;class x extends S{}x.guid=o.MetadataLibraryObject;class N{static fromBuffer(e){return new N(e.length).get(e,0)}constructor(e){this.len=e}get(e,t){const a=new DataView(e.buffer,t),n=a.getUint8(0),r=a.getInt32(1,!0);let i=5;for(;0!==a.getUint16(i);)i+=2;const s=new c.StringType(i-5,"utf-16le").get(e,5);for(;0!==a.getUint16(i);)i+=2;const o=new c.StringType(i-5,"utf-16le").get(e,5);return{type:w.n5[n],format:s,description:o,size:r,data:e.slice(i+4)}}}var z=a(74604);const _=n("music-metadata:parser:ASF");class P extends z.s{async parse(){const e=await this.tokenizer.readToken(E);if(!e.objectId.equals(o.HeaderObject))throw new D(`expected asf header; but was not found; got: ${e.objectId.str}`);try{await this.parseObjectHeader(e.numberOfHeaderObjects)}catch(e){_("Error while parsing ASF: %s",e)}}async parseObjectHeader(e){let t;do{const e=await this.tokenizer.readToken(A);switch(_("header GUID=%s",e.objectId.str),e.objectId.str){case F.guid.str:{const t=await this.tokenizer.readToken(new F(e));this.metadata.setFormat("duration",Number(t.playDuration/BigInt(1e3))/1e4-Number(t.preroll)/1e3),this.metadata.setFormat("bitrate",t.maximumBitrate);break}case f.guid.str:{const t=await this.tokenizer.readToken(new f(e));this.metadata.setFormat("container",`ASF/${t.streamType}`);break}case j.guid.str:{const e=await this.tokenizer.readToken(new j);await this.parseExtensionObject(e.extensionDataSize);break}case k.guid.str:t=await this.tokenizer.readToken(new k(e)),await this.addTags(t);break;case y.guid.str:t=await this.tokenizer.readToken(new y(e)),await this.addTags(t);break;case o.CodecListObject.str:{const e=await I(this.tokenizer);e.forEach(e=>{this.metadata.addStreamInfo({type:e.type.videoCodec?r.S.video:r.S.audio,codecName:e.codecName})});const t=e.filter(e=>e.type.audioCodec).map(e=>e.codecName).join("/");this.metadata.setFormat("codec",t);break}case o.StreamBitratePropertiesObject.str:await this.tokenizer.ignore(e.objectSize-A.len);break;case o.PaddingObject.str:_("Padding: %s bytes",e.objectSize-A.len),await this.tokenizer.ignore(e.objectSize-A.len);break;default:this.metadata.addWarning(`Ignore ASF-Object-GUID: ${e.objectId.str}`),_("Ignore ASF-Object-GUID: %s",e.objectId.str),await this.tokenizer.readToken(new B(e))}}while(--e)}async addTags(e){await Promise.all(e.map(({id:e,value:t})=>this.metadata.addTag("asf",e,t)))}async parseExtensionObject(e){do{const t=await this.tokenizer.readToken(A),a=t.objectSize-A.len;switch(t.objectId.str){case U.guid.str:await this.tokenizer.readToken(new U(t));break;case S.guid.str:{const e=await this.tokenizer.readToken(new S(t));await this.addTags(e);break}case x.guid.str:{const e=await this.tokenizer.readToken(new x(t));await this.addTags(e);break}case o.PaddingObject.str:case o.CompatibilityObject.str:case o.ASF_Index_Placeholder_Object.str:await this.tokenizer.ignore(a);break;default:this.metadata.addWarning(`Ignore ASF-Object-GUID: ${t.objectId.str}`),await this.tokenizer.readToken(new B(t))}e-=t.objectSize}while(e>0)}}}}]);
//# sourceMappingURL=2626.10cb36ecefeca2dac8bd.js.map