@zoom/meetingsdk
Version:
Zoom MeetingSDK-Web Client
2 lines • 31.9 kB
JavaScript
!function(e){var t={};function s(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,s),i.l=!0,i.exports}s.m=e,s.c=t,s.d=function(e,t,r){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(s.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)s.d(r,i,function(t){return e[t]}.bind(null,i));return r},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=8)}([function(e,t,s){"use strict";s.d(t,"e",(function(){return r})),s.d(t,"i",(function(){return i})),s.d(t,"a",(function(){return a})),s.d(t,"d",(function(){return o})),s.d(t,"f",(function(){return n})),s.d(t,"c",(function(){return h})),s.d(t,"b",(function(){return u})),s.d(t,"g",(function(){return l})),s.d(t,"j",(function(){return c})),s.d(t,"h",(function(){return f}));const r=30,i=35,a=48,o=57,n=61,h=66.5,u=66.6,l=-26,c=-27,f=-28},function(e,t,s){"use strict";var r=s(0);s(3);new Error;new Map;var i=s(2);function a(e){postMessage({status:r.i,data:e})}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(t)return t.postMessage({status:r.a,data:e});postMessage({status:r.a,data:e})}new Map,new class{constructor(){this.ssrcInfoMap=new Map,this.timer=null}updateSSRCInfo(e,t){this.ssrcInfoMap.has(e)||this.ssrcInfoMap.set(e,{firstTime:0,lastTime:0,frames:0,fps:0}),this._calculateFPS(e,t),this._removeZeroFPS()}_calculateFPS(e,t){const s=this.ssrcInfoMap.get(e);if(0===s.frames?s.firstTime=t:s.lastTime=t,s.frames+=1,s.frames>2&&s.frames%5==0&&s.lastTime-s.firstTime>=1e3){const t=Math.floor(1e3/((s.lastTime-s.firstTime)/(s.frames-1)));s.fps!==t&&(this._notifyFPS(e,t),s.fps=t),s.firstTime=s.lastTime,s.frames=1}}_removeZeroFPS(){let e=Date.now();this.ssrcInfoMap.forEach((t,s)=>{const r=this.ssrcInfoMap.get(s);r&&e-r.lastTime>2e3&&(this.ssrcInfoMap.delete(s),this._notifyFPS(s,0))})}_notifyFPS(e,t){postMessage({status:r.b,data:{ssrc:e,fps:t}})}_checkIfNewFrameComing(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.timer=setTimeout(()=>{this._removeZeroFPS(),this.timer=null},2500)}};var n=s(5);const h={WORKLET:1,ENCODE:2,DECODE:3,WORKLET_APM_ONLY:4},u={MUTE:0,UNMUTE:1,LEAVED:2,MUTE_APM_ONLY:3,UNMUTE_APM_ONLY:4};let l,c,f,d,b,_,p,m,A,g,S=0,E=!0;var T=0;var M=!1;var P=null;var C=!1;t.a={WASMTYPE:h,AUDIO_STATE:u,onWasmModuleReady:function(e){if(!e)return console.warn("[AudioWASMAdapter] Module undefined");f=e.cwrap("_Heartbeat","number",["number"]),d=e.cwrap("_MuteUnmuteState","number",["number","number"]),b=e.cwrap("_Switch_Original_Sound","number",["number","boolean","boolean","boolean","boolean"]),_=e.cwrap("_Deliver_Recorded_Data","number",["number","number","number","number","number","number"]),p=e.cwrap("_Switch_Denoise","number",["number","number","number","number"]),m=e.cwrap("_Audio_Init","number",["number","string","string","number","number","boolean","boolean","boolean","number","boolean"]),A=e.cwrap("_Switch_High_Bitrate","number",["number","number"]),g=e.cwrap("_Set_All_Speech_Volume_Level","number",["number"])},setAudioInstanceAndType:function(e,t,s){l=e,t&&(S=t),s&&(c=s)},muteUnmuteState:function(e){if(null!=Object.values(u).find(t=>t==e))return l?void(S!=h.WORKLET_APM_ONLY&&(d(l,e),a("muteUnmuteState: "+e))):a("muteUnmuteState: -1")},switchOriginalSound:function(e,t,s,r){l&&b(l,e,t,s,r)},deliverRecordedData:function(e,t,s,r){l&&_(l,e,t,0,s,r)},switchDenoise:function(e,t){l&&(M=e,p(l,!!e,3,!!t))},audioInit:function(e,t,s,r,i,a,o,n,h,u){return m(e,t,s,r,i,a,o,n,h,u)},setDecoder:function(e){P=e},needCalculateDenoiseOutput:function(){C=!0},switchHighBitrate:function(e){l&&A(l,e)},disableJitterLog:function(){E=!1},setAllSpeechVolume:function(e){l&&g(l,e)},onMonitorLogWASM:function(e,t){if(t<=0)return;const s=Module.HEAPU8.subarray(e,e+t),r=String.fromCharCode.apply(null,s);r&&(!E&&r.includes("JITTER")||(S==h.ENCODE||S==h.DECODE?o(r):S==h.WORKLET?c&&c.port&&o(r,c.port):S==h.WORKLET_APM_ONLY&&c.port&&c.port.postMessage({status:"SPEECH_LOG",data:{log:r}})))},onMuteSpeechWarningWASM:function(){postMessage({status:i.b})},onAudioLevelWASM:function(e,t,s){var r;S!=h.ENCODE&&S!=h.WORKLET_APM_ONLY||1==e&&(0===t&&0===T||(T=t,S===h.ENCODE?postMessage({status:i.a,value:t}):null!==(r=c)&&void 0!==r&&r.port&&c.port.postMessage({status:i.a,data:t})))},onAPMProcessedPCMWASM:function(e,t,s,r){if(!M)return;let i=Module.HEAPF32.subarray(e/4,e/4+t);if(P){if(C){C=!1;let{sumRms:e}=Object(n.a)(i,2),t=Object(n.c)(e);c.port&&c.port.postMessage({status:"AUDIO_LEVEL_R16_DENOISE",level:t})}P.push([i])}}}},function(e,t,s){"use strict";s.d(t,"a",(function(){return r})),s.d(t,"c",(function(){return i})),s.d(t,"b",(function(){return a}));const r=38,i=-51,a=121},function(e,t,s){"use strict";const r=e=>0==(e&e-1);let i=new class{constructor(){this._highFrequencyLogs={},this.fixVersion=""}setInstance(e,t){this._instance=e,this.fixVersion=t}getMessageFromErrorOrEvent(e,t){let s=e;return t instanceof ErrorEvent?(t.filename&&(s+=" File: ".concat(t.filename)),(t.lineno||t.colno)&&(s+=" Line: ".concat(t.lineno,":").concat(t.colno)),t.message&&(s+=" Message: ".concat(t.message)),t.error&&(s+="\nStack: ".concat(t.error.stack))):t instanceof Error?(t.fileName&&(s+=" File: ".concat(t.fileName)),(t.lineNumber||t.columnNumber)&&(s+=" Line: ".concat(t.lineNumber,":").concat(t.columnNumber)),t.message&&(s+=" Message: ".concat(t.message)),t.stack&&(s+=" Stack: ".concat(t.stack)),t.name&&(s+=" Name: ".concat(t.name)),t.constraint&&(s+=" Constraint: ".concat(t.constraint))):t instanceof CloseEvent?(t.code&&(s+=" Code: ".concat(t.code)),t.reason&&(s+=" Reason: ".concat(t.reason)),s+=" wasClean: ".concat(t.wasClean)):t instanceof DOMException?(t.message&&(s+=" Message: ".concat(t.message)),t.name&&(s+=" Name: ".concat(t.name))):s+=t?t.toString():"",s}error(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._highFrequencyLogs[e]?this._highFrequencyLogs[e]+=1:this._highFrequencyLogs[e]=1;const s=r(this._highFrequencyLogs[e]);this._instance&&s&&this._instance.error(e,[this.fixVersion])}severityerror(e,t){this._instance&&this._instance.error(JSON.stringify(e),t)}directReport(e,t){var s,r;this._instance&&(t||(t=["MEDIASDK_INFO"]),null===(s=(r=this._instance).directReport)||void 0===s||s.call(r,{msg:e},t))}warn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._instance&&this._instance.warn(e)}log(e){this._instance&&this._instance.log(e)}clearHighFrequencyLogs(){this._highFrequencyLogs={}}};t.a=i},function(e,t,s){"use strict";s.d(t,"b",(function(){return i})),s.d(t,"a",(function(){return a}));var r=s(6);class i{constructor(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(this.STATE_READ_READY=0,this.STATE_READ_INDEX=1,this.STATE_WRITE_READY=2,this.STATE_WRITE_INDEX=3,this.STATE_DATA_COUNT=4,this.STATE_CACHE_SIZE=5,this.STATY_READY_NO=0,this.STATY_READY_YES=1,this.sabState=new Uint32Array(e),this.sabBuffer=new Float32Array(t),this.perFrameLength=s,this.writeChannelNumb=i,this.bufferLen=this.sabBuffer.length,this.supportSpecialOptimization=this.bufferLen%s==0,this.bufferIndex=null,this.supportSpecialOptimization){let e=this.bufferLen/s;this.bufferIndex=[];for(let t=0;t<e;t++)this.bufferIndex.push(this.sabBuffer.subarray(t*s,t*s+s))}this.placeBuffer=new Float32Array(this.perFrameLength),this.QUANTUM_SIZE=128,this.CACHE_SIZE_MAX_VALUE=Math.floor(Math.floor(this.bufferLen/this.QUANTUM_SIZE)/2),this.CACHE_SIZE_MIN_VALUE=6,this.CACHE_SIZE_MAX_VALUE<this.CACHE_SIZE_MIN_VALUE&&(this.CACHE_SIZE_MAX_VALUE=this.CACHE_SIZE_MIN_VALUE),this.setCacheSize(this.CACHE_SIZE_MIN_VALUE),this._counter=0,this.onCacheSizeChange=null,this.cacheSizeController=new r.a}getCacheSize(){return Atomics.load(this.sabState,this.STATE_CACHE_SIZE)}setCacheSize(e){e>this.CACHE_SIZE_MAX_VALUE&&(e=this.CACHE_SIZE_MAX_VALUE),e<this.CACHE_SIZE_MIN_VALUE&&(e=this.CACHE_SIZE_MIN_VALUE),this.onCacheSizeChange&&this.cacheSizeController.shouldSendCacheSize(e)&&this.onCacheSizeChange(e),Atomics.store(this.sabState,this.STATE_CACHE_SIZE,e)}setQuantumSize(e){this.QUANTUM_SIZE=e,this.CACHE_SIZE_MAX_VALUE=Math.floor(Math.floor(this.bufferLen/this.QUANTUM_SIZE)/2),this.CACHE_SIZE_MAX_VALUE<this.CACHE_SIZE_MIN_VALUE&&(this.CACHE_SIZE_MAX_VALUE=this.CACHE_SIZE_MIN_VALUE)}isNeedMoreData(){let e=Atomics.load(this.sabState,this.STATE_CACHE_SIZE);return Atomics.load(this.sabState,this.STATE_DATA_COUNT)<e*this.QUANTUM_SIZE}shouldAdjustCacheBuffer(){this._counter>0&&this.setCacheSize(this.getCacheSize()+1)}clear(){this.sabState&&(this.sabState[this.STATE_READ_READY]=0,this.sabState[this.STATE_READ_INDEX]=0,this.sabState[this.STATE_WRITE_READY]=0,this.sabState[this.STATE_WRITE_INDEX]=0,this.sabState[this.STATE_DATA_COUNT]=0),this._counter=0}setWriteReady(){this.sabState[this.STATE_WRITE_READY]=this.STATY_READY_YES}isReady(){return this.sabState[this.STATE_WRITE_READY]&&this.sabState[this.STATE_READ_READY]}getDataCount(){return Atomics.load(this.sabState,this.STATE_DATA_COUNT)}write(e){if(void 0===e[0]||e[0].length*this.writeChannelNumb!==this.perFrameLength)return;let t=this.sabState[this.STATE_READ_READY];return this.sabState[this.STATE_WRITE_READY]||(this.sabState[this.STATE_WRITE_READY]=this.STATY_READY_YES,this.sabState[this.STATE_WRITE_INDEX]=0),t?this.supportSpecialOptimization?this.writeSpecial(e):this.writeNormal(e):void 0}writeNormal(e){let t=this.sabState[this.STATE_WRITE_INDEX];for(let s=0;s<this.writeChannelNumb;s++)for(let r=0;e[s]&&r<e[s].length;r++)this.sabBuffer[(t+r*this.writeChannelNumb+s)%this.bufferLen]=e[s][r];t+=this.perFrameLength,t>=this.bufferLen&&(t-=this.bufferLen),this.sabState[this.STATE_WRITE_INDEX]=t,Atomics.add(this.sabState,this.STATE_DATA_COUNT,this.perFrameLength)}writeSpecial(e){let t=this.sabState[this.STATE_WRITE_INDEX];for(let s=0;s<this.writeChannelNumb;s++)for(let r=0;e[s]&&r<e[s].length;r++)this.bufferIndex[t][r*this.writeChannelNumb+s]=e[s][r];t=(t+1)%this.bufferIndex.length,this.sabState[this.STATE_WRITE_INDEX]=t,Atomics.add(this.sabState,this.STATE_DATA_COUNT,this.perFrameLength)}read(){let e=this.sabState[this.STATE_READ_READY],t=this.sabState[this.STATE_WRITE_READY];if(e||(this.sabState[this.STATE_READ_READY]=this.STATY_READY_YES,this.sabState[this.STATE_READ_INDEX]=0),!t)return null;let s=this.supportSpecialOptimization?this.readSpecial():this.readNormal();return null===s?this.shouldAdjustCacheBuffer():this._counter++,s}readNormal(){let e=this.sabState[this.STATE_READ_INDEX],t=Atomics.load(this.sabState,this.STATE_DATA_COUNT);if(t<this.perFrameLength)return null;if(t>this.bufferLen){let s=Math.ceil((t-this.bufferLen)/this.perFrameLength)+1;e=(s*this.perFrameLength+e)%this.bufferLen,Atomics.sub(this.sabState,this.STATE_DATA_COUNT,s*this.perFrameLength)}let s=null;if(this.bufferLen-e>=this.perFrameLength)s=this.sabBuffer.subarray(e,e+this.perFrameLength);else{let t=this.sabBuffer.subarray(e),r=this.sabBuffer.subarray(0,this.perFrameLength-t.length);s=this.placeBuffer,s.set(t),s.set(r,t.length)}return e+=this.perFrameLength,e>=this.bufferLen&&(e-=this.bufferLen),this.sabState[this.STATE_READ_INDEX]=e,Atomics.sub(this.sabState,this.STATE_DATA_COUNT,this.perFrameLength),s}readSpecial(){let e=this.sabState[this.STATE_READ_INDEX],t=Atomics.load(this.sabState,this.STATE_DATA_COUNT);if(t<this.perFrameLength)return null;if(t>this.bufferLen){let s=Math.ceil((t-this.bufferLen)/this.perFrameLength)+1;e=(s+e)%this.bufferIndex.length,Atomics.sub(this.sabState,this.STATE_DATA_COUNT,s*this.perFrameLength)}let s=this.bufferIndex[e];return e=(e+1)%this.bufferIndex.length,this.sabState[this.STATE_READ_INDEX]=e,Atomics.sub(this.sabState,this.STATE_DATA_COUNT,this.perFrameLength),s}}class a{constructor(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;this.rframes=e,this.wframes=t,this.writeChannelNumb=s,this.cap=this.lcm(e,t),this.buffer=new Float32Array(this.cap),this.remain=0,this.woffset=0,this.roffset=0}gcd(e,t){return 0===t?e:this.gcd(t,e%t)}lcm(e,t){return e/this.gcd(e,t)*t}push(e){if(null==e[0]||e[0].length*this.writeChannelNumb==this.wframes){for(let t=0;t<this.writeChannelNumb;t++)for(let s=0;s<e[0].length;s++)this.buffer[(this.woffset+s*this.writeChannelNumb+t)%this.cap]=e[t]?e[t][s]:e[0][s];this.woffset+=this.wframes,this.remain+=this.wframes,this.woffset>=this.cap&&(this.woffset=this.woffset%this.cap)}else{var t;console.error("[Audio] critical error in AudioWorklet: data.length:",e.length,"this.woffset:",this.woffset,"this.cap:",this.cap),_workletPrinter&&_workletPrinter.error("critical error in AudioWorklet: ".concat(null===(t=e[0])||void 0===t?void 0:t.length," ").concat(his.writeChannelNumb," ").concat(this.wframes))}}read(){if(!this.hasData())return null;let e=this.buffer.subarray(this.roffset,this.roffset+this.rframes);return this.remain-=this.rframes,this.roffset+=this.rframes,this.roffset>=this.cap&&(this.roffset=this.roffset%this.cap),e}hasData(){return this.remain>=this.rframes}clear(){this.buffer.fill(0),this.remain=0,this.woffset=0,this.roffset=0}}},function(e,t,s){"use strict";s.d(t,"a",(function(){return i})),s.d(t,"b",(function(){return a})),s.d(t,"c",(function(){return o}));s(3);const r=[0,1,2,3,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9];function i(e,t){let s=0,r=0;for(let i=0;i<e.length;i+=t){r+=e[i]*e[i];let t=Math.abs(e[i]);t>s&&(s=t)}return s=s>1?1:s,{sumRms:r/e.length/t,absMax:s}}function a(e){if("number"!=typeof e||e<0||e>1)return-1;let t=parseInt(32768*e/1e3);return 0==t&&e>250&&(t=1),r[t]}function o(e){let t=0;return t=e>.1995?15:e>.0794?14:e>.0316?13:e>.0126?12:e>.005?11:e>.002?10:e>79433e-8?9:e>31623e-8?8:e>12589e-8?7:e>50119e-9?6:e>19953e-9?5:e>79433e-10?4:e>31623e-10?3:e>12589e-10?2:e>5.0119e-7?1:0,t}},function(e,t,s){"use strict";s.d(t,"a",(function(){return r}));class r{constructor(){this.cacheSize=0,this.sameCacheSizeCounter=0}shouldSendCacheSize(e){return e===this.cacheSize&&this.sameCacheSizeCounter++,(this.cacheSize!==e||200===this.sameCacheSizeCounter)&&(this.sameCacheSizeCounter=0,this.cacheSize=e,!0)}}},function(e,t,s){"use strict";s.d(t,"a",(function(){return r}));class r{constructor(e){this.messageQueue=[],this.auidoNodePort,this.userAgent="",this.isSafari=!1,this.debug=this.debug.bind(this),this.log=this.log.bind(this),this.warn=this.warn.bind(this),this.error=this.error.bind(this),this.print_=this.print_.bind(this),this.messageHeader=e}setUserAgent(e){this.userAgent=e,this.userAgent.match(/AppleWebKit\/(\d+)\./)&&(this.isSafari=!0)}setAuidoNodePort(e){this.auidoNodePort=e}debug(e){e=this.messageHeader+e;for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];this.print_({level:"debug",message:e,data:s})}log(e){e=this.messageHeader+e;for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];this.print_({level:"log",message:e,data:s})}warn(e){e=this.messageHeader+e;for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];this.print_({level:"warn",message:e,data:s})}error(e){e=this.messageHeader+e;for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];this.print_({level:"error",message:e,data:s})}print_(e){if(this.messageQueue.push(e),this.auidoNodePort)for(;this.messageQueue.length;){let e=this.messageQueue.shift();this._postToWorkerPrint(e)}}_postToWorkerPrint(e){this.auidoNodePort&&this.auidoNodePort.postMessage({status:"workletMessage",data:{level:e.level,message:e.message,data:e.data}})}}},function(e,t,s){"use strict";s.r(t);var r=s(7),i=function(e,t){this._BYTES_PER_ELEMENT=t,this.capacity=(e.byteLength-8)/t,this.usableCapacity=this.capacity-1,this.buf=e,this.write_ptr=new Uint32Array(this.buf,0,1),this.read_ptr=new Uint32Array(this.buf,4,1),this.storageUint8s=new Uint8Array(this.buf,8,e.byteLength-8)};i.prototype.available_read=function(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._available_read(e,t)},i.prototype._available_read=function(e,t){return(t+this.capacity-e)%this.capacity},i.prototype.dequeue=function(){var e=Atomics.load(this.read_ptr,0);let t=new Uint32Array(this.buf,e*this._BYTES_PER_ELEMENT+8,1);return this.storageUint8s.subarray(e*this._BYTES_PER_ELEMENT+4,e*this._BYTES_PER_ELEMENT+4+t[0])},i.prototype.addReadPtr=function(){var e=Atomics.load(this.read_ptr,0);Atomics.store(this.read_ptr,0,(e+1)%this.capacity)},i.prototype.getReaderPtr=function(){return this.read_ptr[0]},i.prototype.setReaderPtr=function(e){Atomics.store(this.read_ptr,0,e%this.capacity)},i.prototype.get=function(e){let t=e%this.capacity,s=new Uint32Array(this.buf,t*this._BYTES_PER_ELEMENT+8,1);return this.storageUint8s.subarray(t*this._BYTES_PER_ELEMENT+4,t*this._BYTES_PER_ELEMENT+4+s[0])};var a=i,o=s(0),n=s(1),h=s(4),u=s(6);s.d(t,"Update_SSRC_Time",(function(){return O})),s.d(t,"Get_SSRC_Latest_Time",(function(){return k})),globalThis.onWasmModuleReady=function(){n.a.onWasmModuleReady(Module),_=Module.cwrap("_Audio_Init","number",["number","string","string","number","number","boolean","boolean","boolean","number","boolean"]),(m=_(T,E,S,0,0,!0,!1,!1,1))?n.a.setAudioInstanceAndType(m,n.a.WASMTYPE.WORKLET,z):_workletPrinter.error("audio_handle not exist"),p=Module.cwrap("_Audio_Try_Analysis","number",["number","number","number","number"]),A=Module.cwrap("_Get_Mixed_Audio","number",["number","number","number","number"]),g=Module.cwrap("_setMultiViewFlag","number",["number","boolean"]),y=Module.cwrap("_Interpretation_Configure","number",["number","number","number","number"]),R=Module.cwrap("_Set_Speech_Volume_Level","number",["number","number","number"]),L=Module._malloc(4*I),Module.HEAPU32.subarray(L/4,L/4+I),g(m,P),N=Module._malloc(v),Module.HEAP8.subarray(N,N+v),z.port.postMessage({status:"WASM_INIT_SUCCESS",data:{audio_handle:0!==m}})},globalThis.onAbort=function(e){_workletPrinter.error("WASM onAbort "+(e?e.message:""),e)},globalThis.preInit=function(e){_workletPrinter.debug("WASM preInit"+(e?e.message:""),e)},globalThis.preRun=function(e){_workletPrinter.debug("WASM preRun"+(e?e.message:""),e)},globalThis._workletPrinter=new r.a("[Audio][Worklet][WASM]"),globalThis.AudioWasmAdapter=n.a;class l{constructor(){this.buffList=[],this.cacheMinSize=4,this.cacheMaxSize=16,this.cacheSize=this.cacheMinSize,this.onCacheSizeChange=null,this.onrollbackbuffer=null,this.onneedmoredata=null,this.isReady=!1,this.cacheSizeController=new u.a}push(e){this.isReady=!0,this.buffList.push({buff:e,offset:0})}copy(e,t,s,r){return e.length-t<=s.length-r?(0===t?s.set(e,r):s.set(e.subarray(t),r),e.length-t):(s.set(e.subarray(t,t+s.length-r),r),s.length-r)}increaseCacheSize(){this.isReady&&this.cacheSize++,this.cacheSize>this.cacheMaxSize&&(this.cacheSize=this.cacheMaxSize),this.onCacheSizeChange&&this.isReady&&this.cacheSizeController.shouldSendCacheSize(this.cacheSize)&&this.onCacheSizeChange(this.cacheSize)}copyTo(e){if(0===this.buffList.length)return e.fill(0),void this.increaseCacheSize();let t=this.buffList[0];if(t.buff.length-t.offset>=e.length)this.copy(t.buff,t.offset,e,0),t.offset+=e.length,t.offset===t.buff.length&&(this.buffList.shift(),this.onrollbackbuffer&&this.onrollbackbuffer(t.buff));else{if(this.buffList.length<2)return e.fill(0),void this.increaseCacheSize();let s=this.copy(t.buff,t.offset,e,0);this.buffList.shift(),this.onrollbackbuffer&&this.onrollbackbuffer(t.buff),t=this.buffList[0],s=this.copy(t.buff,t.offset,e,s),t.offset+=s}}requestMoreData(){this.buffList.length<this.cacheSize&&this.onneedmoredata&&this.onneedmoredata()}hasData(){return this.buffList.length>=2}}class c{constructor(e){this.buffList=[],this.frameLength=e,this.onframedata=null}copy(e,t,s,r){if(e[0].length*C<=s.length-r){for(let t=0;t<C;t++)for(let i=0;e[t]&&i<e[t].length;i++)s[r+i*C+t]=e[t][i];return(e[0].length-t)*C}for(let t=0;t<C;t++)for(let i=0;e[t]&&i<e[t].length&&r+i*C+t<s.length;i++)s[r+i*C+t]=e[t][i];return s.length-r}rollbackbuffer(e){this.buffList.push({buff:e,offset:0})}push(e){0===this.buffList.length&&this.buffList.push({buff:new Float32Array(this.frameLength),offset:0});let t=this.buffList[0];if(t.buff.length-t.offset>=e[0].length*C){let s=this.copy(e,0,t.buff,t.offset);t.offset+=s,t.buff.length===t.offset&&(this.buffList.shift(),this.onframedata&&this.onframedata(t.buff))}else{let s=this.copy(e,0,t.buff,t.offset);if(this.buffList.shift(),this.onframedata&&this.onframedata(t.buff),e[0].length*C>s){let t=[];for(let r=0;r<C;r++)t.push(e[r].subarray(Math.floor(s/C)+(s%C>r?1:0)));this.push(t)}}}}class f{constructor(e,t){this.context=t,this.decodePort=null,this.encodePort=null,this.captureSize=e/100*C,this.playBuffer=new l,this.playBuffer.onrollbackbuffer=e=>{this.decodePort},this.playBuffer.onneedmoredata=()=>{this.decodePort&&this.decodePort.postMessage({status:1})},this.playBuffer.onCacheSizeChange=e=>{this.decodePort&&this.decodePort.postMessage({status:3,cacheSize:e})},this.quantum=new Float32Array(128*D),this.captureBuffer=new c(this.captureSize),this.captureBuffer.onframedata=e=>{this.encodePort&&this.encodePort.postMessage({command:2,buffer:e},[e.buffer])}}setDecodePort(e){this.decodePort&&this.decodePort.close(),this.decodePort=e,this.decodePort.onmessage=this.handleDecodeData.bind(this)}setEncodePort(e){this.encodePort&&this.encodePort.close(),this.encodePort=e,this.encodePort.onmessage=this.handleEncodeData.bind(this)}handleDecodeData(e){this.context.isPlaying&&this.playBuffer.push(e.data.data)}handleEncodeData(e){switch(e.data.event){case 0:this.captureBuffer.rollbackbuffer(e.data.buffer)}}requestMoreData(){this.playBuffer.requestMoreData()}close(){this.decodePort&&(this.decodePort=null,this.decodePort.close()),this.encodePort&&(this.encodePort=null,this.encodePort.close())}write(e){this.captureBuffer.push(e)}read(){return this.playBuffer.copyTo(this.quantum),this.requestMoreData(),this.quantum}}let d="undefined"!=typeof SharedArrayBuffer,b=!0;var _=null,p=null,m=null,A=null,g=null;let S=0,E=0,T=0,M=0,P=!1,C=1,D=1,w=null;var y,L,R,N,I=10;let v=1500;var B=new Map;function O(e){if(e){var t=e.length/16,s=0,r=0;for(s=0;s<t;s++){var i=0;for(r=16*s+0;r<16*s+4;r++)i+=e[r]*Math.pow(256,r-16*s);i>>=10;var a=0;for(r=16*s+4;r<16*s+12;r++)a+=e[r]*Math.pow(256,r-16*s-4);B.set(i,a)}}}function k(e){e>>=10;var t=B.get(e);return t?(B.set(e,0),t):0}function U(e){let t=e[1];return 4294967296*e[2]+t}globalThis.update_play_time=function(e,t){if(t){var s=new Uint8Array(t),r=Module.HEAP8.subarray(e+0,e+t);if(s.set(r),P){var i;null===(i=z.videoDecodePort)||void 0===i||i.postMessage({status:1,data:s},[s.buffer])}else{let e=new Uint32Array(s.buffer),t=null,r=null,i=0,a=0;for(let o=0;o<s.length/16;o++){let s=e[4*o];512&s?(t=e.subarray(4*o,4*o+4),a=U(t)):s>>10==M>>10&&(r=e.subarray(4*o,4*o+4),i=U(r))}if(!i&&!a)return;z.port.postMessage({status:o.d,at:i,st:a})}}};let F=null,W=null;globalThis.frame_callback=function(e,t,s,r,i,a,o,n){F===e&&W.length==t*o||(W=Module.HEAPF32.subarray(e/4,e/4+t*o),F=e),w.push([W])};let z=null;class H extends AudioWorkletProcessor{static get parameterDescriptors(){return[{name:"pcm",defaultValue:1}]}constructor(e){var t,s;super(),z=this,monitorLOG("WIB"),this.port.onmessage=this.handleMessage.bind(this),this.isPlaying=!1,this.isCapturing=!1,this.wasmModule=null==e||null===(t=e.processorOptions)||void 0===t?void 0:t.wasmModule,e&&e.processorOptions&&(e.processorOptions.audioEncodeChannelsNum&&(C=e.processorOptions.audioEncodeChannelsNum),e.processorOptions.audioDecodeChannelsNum&&(D=e.processorOptions.audioDecodeChannelsNum)),this.SABConstructor(e&&e.processorOptions?e.processorOptions.sharedBuffer:null),this.noSABConstructor(),globalThis.fsHandler&&globalThis.fsHandler.setPort(this.port),null!=e&&null!==(s=e.processorOptions)&&void 0!==s&&s.userAgent&&_workletPrinter.setUserAgent(e.processorOptions.userAgent),_workletPrinter.setAuidoNodePort(this.port),monitorLOG("WIE")}SABConstructor(e){this.sampleRate_=0,this.g_sharedbuffer=e||null,this.encodeSAB=null,this.decodeSAB=null,this.audioEncodePort=null,this.audioDecodePort=null,this.videoDecodePort=null,this.rtpSAB=null,this.stopPlayAudio=!1,w=new h.a(128*D,sampleRate/100*D)}noSABConstructor(){this.audioProcessBuffer=new f(sampleRate,this),this.isRunning=!0}handleMessage(e){const{status:t,data:s}=e.data;switch(t){case"diableSharedArrayBuffer":d=!1;break;case"disableDecoderinworklet":b=!1;break;case"data":console.info("Dropped audio data before initialized");break;case"stopPlayAudio":this.isPlaying=!1;break;case"stopWorklet":V=!0;break;case"startPlayAudio":this.isPlaying=!0;break;case"StartCaptureAudio":this.isCapturing=!0;break;case"sampleRate":this.sampleRate_=s;break;case"audiowasm":try{initWasm(Module,this.wasmModule)}catch(e){z.port.postMessage({status:"WASM_INIT_FAILED"}),_workletPrinter.error("init WASM failed, error message:"+e.message+e.stack)}break;case"initData":T=s.userid,S=s.meetingid,E=s.meetingnum;break;case"currentSSRC":M=s;break;case"stop_audio_incoming":this.stopPlayAudio=s;break;case"codecDoAVSync":P=!0,g&&m&&g(m,!0);break;case"checkProcess":{monitorLOG("PCC"+Z);let e=parseInt(1e3*X/this.sampleRate_);monitorLOG("ADD:"+e),!Z!==G&&(G=!Z,z.port.postMessage({status:"PROCESS_EXCEPTIONS",data:G})),Z=0,X=0;break}case"interpretation_set_lang":Module.HEAPU32.subarray(L/4,L/4+I)[0]=s.lang,y(m,1,L,1);break;case"interpretation_enable":Module.HEAPU32.subarray(L/4,L/4+I)[0]=s.enable?1:0,y(m,0,L,1);break;case"interpretation_mute_origin":Module.HEAPU32.subarray(L/4,L/4+I)[0]=s.mute?1:0,y(m,2,L,1);break;case"interpretation_set_interpreter":{let e=Module.HEAPU32.subarray(L/4,L/4+I),t=L;s.interpreterList.length>=I&&(t=Module._malloc(4*s.interpreterList.length),e=Module.HEAPU32.subarray(t/4,t/4+s.interpreterList.length));for(let t=0;t<s.interpreterList.length;t++)e[t]=s.interpreterList[t];y(m,3,t,s.interpreterList.length),s.interpreterList.length>=I&&Module._free(t);break}case"setSpeechVolumeLevel":if(!m)return;R(m,s.userid,s.volume);break;case 131:n.a.setAllSpeechVolume(s.volume);break;default:d?this.handleMessageForSAB(e):this.handleMessageForNoSAB(e)}}handleMessageForSAB(e){const{status:t,data:s}=e.data;switch(t){case"encodeAudioPort":this.audioEncodePort&&this.audioEncodePort.close(),this.audioEncodePort=e.ports[0];break;case"decodeAudioPort":this.audioDecodePort&&this.audioDecodePort.close(),this.audioDecodePort=e.ports[0],this.audioDecodePort.onmessage=function(e){};break;case"decodeVideoPort":this.videoDecodePort&&this.videoDecodePort.close(),this.videoDecodePort=e.ports[0];break;case"close":break;case"sharedBuffer":s&&(this.g_sharedbuffer=s),this.g_sharedbuffer&&(this.encodeSAB=new h.b(this.g_sharedbuffer.inputState,this.g_sharedbuffer.inputBuffer,128*C,C),this.decodeSAB=new h.b(this.g_sharedbuffer.outputState,this.g_sharedbuffer.outputBuffer,128*D),this.g_sharedbuffer.echoState&&this.g_sharedbuffer.echoBuffer&&(this.echoSAB=new h.b(this.g_sharedbuffer.echoState,this.g_sharedbuffer.echoBuffer,128*D,D)),this.rtpSAB=new a(this.g_sharedbuffer.rtpBuffer,1200),this.decodeSAB.onCacheSizeChange=e=>{this.audioDecodePort&&this.audioDecodePort.postMessage({status:3,cacheSize:e,isSAB:!0})});break;default:console.warn("unhanle commands in audioworklet",t)}}handleMessageForNoSAB(e){const{status:t}=e.data;switch(t){case"encodeAudioPort":this.audioProcessBuffer.setEncodePort(e.ports[0]);break;case"decodeAudioPort":this.audioProcessBuffer.setDecodePort(e.ports[0]);break;case"close":this.audioProcessBuffer.close(),this.isPlaying=!1,this.isRunning=!1;break;default:console.warn("unhanle commands in audioworklet",t)}}onReceivedRTP(){}process(e,t,s){if(Z++,V)return!1;try{return d?b?this.SABDecodeProcess(e,t,s):this.SABProcess(e,t,s):this.NoSABprocess(e,t,s)}catch(e){return _workletPrinter.error("::process() exception: "+e.message+e.stack),!0}}NoSABprocess(e,t,s){return!!this.isRunning&&(!this.isPlaying||(this.inputDataForNoSAB(e),this.outputDataForNoSAB(t),!0))}inputDataForNoSAB(e){if(!e[0]||!e[0][0])return!0;let t=e[0];if(X+=t[0].length,!x&&e[0].length<C)try{for(let s=e[0].length;!x&&s<C;s++)t.push(t[0])}catch(e){x=!0,_workletPrinter.error("::inputDataForNoSAB() exception: "+e.message+e.stack)}this.audioProcessBuffer.write(t)}outputDataForNoSAB(e){let t=this.audioProcessBuffer.read();if(this.stopPlayAudio)return!0;let s=e[0];if(1===D)for(let e=0;e<s.length;e++)s[e].set(t);else for(let e=0;e<D;e++)for(let r=0;s[e]&&r<s[e].length;r++)s[e][r]=t[r*D+e]}inputData(e){if(!this.encodeSAB)return!0;X+=e[0].length,this.encodeSAB.write(e),this.audioEncodePort.postMessage({command:2,buffer:!1})}outputDecodeData(e,t){try{w.hasData()||A&&(sampleRate!=Y&&(globalThis.sampleRateLog(Y,sampleRate,"","",3),Y=sampleRate),A(m,sampleRate/100,0,sampleRate,D))}catch(e){_workletPrinter.error("::outputDecodeData() get_mixed_Audio exception: "+e.message+e.stack)}try{let s=w.read();if(!s)return;if(1===D)for(let t=0;t<e.length;t++)e[t].set(s);else for(let t=0;t<D;t++)for(let r=0;e[t]&&r<e[t].length;r++)e[t][r]=s[r*D+t];t&&this.echoSAB&&this.echoSAB.write(e)}catch(e){_workletPrinter.error("::outputDecodeData() set outputs exception: "+e.message+e.stack)}}outputData(e){if(!this.decodeSAB)return!0;let t=this.decodeSAB.read();if(null===t||this.stopPlayAudio)return!0;if(1===D)for(let s=0;s<e.length;s++)e[s].set(t);else for(let s=0;s<D;s++)for(let r=0;e[s]&&r<e[s].length;r++)e[s][r]=t[r*D+s]}SABDecodeProcess(e,t,s){try{if(!this.rtpSAB)return globalThis.monitorLOG("SABN"),!0;{let e=this.rtpSAB.available_read();e>100&&(e=100);let t=this.rtpSAB.getReaderPtr(),s=0;for(;s<e;){s++;let e=this.rtpSAB.get(t);t++,m&&N&&(Module.HEAP8.subarray(N,N+v).set(e),p(m,0,N,e.length))}this.rtpSAB.setReaderPtr(t)}}catch(e){_workletPrinter.error("::SABDecodeProcess() audio_decode exception: "+e.message+e.stack)}try{let s=e[0],r=t[0];if(!this.g_sharedbuffer)return!0;if(!this.sampleRate_||!r[0])return!0;let i=s[0]&&this.isCapturing;if(i){if(s.length<C&&!x)try{for(let e=s.length;!x&&e<C;e++)s.push(s[0])}catch(e){x=!0,_workletPrinter.error("::SABDecodeProcess() copy input data exception: "+e.message+e.stack)}this.inputData(s)}return this.outputDecodeData(r,i),!0}catch(e){_workletPrinter.error("::SABDecodeProcess() inputs or outputs exception: "+e.message+e.stack)}return!0}SABProcess(e,t,s){let r=e[0],i=t[0];if(!this.g_sharedbuffer)return!0;if(!this.sampleRate_||!i[0])return!0;if(r[0]&&this.isCapturing){if(!x&&r.length<C)try{for(let e=r.length;!x&&e<C;e++)r.push(r[0])}catch(e){x=!0,_workletPrinter.error("::SABProcess() exception: "+e.message+e.stack)}this.inputData(r)}return this.outputData(i),!0}}var Y=0,x=!1,V=!1,Z=0,X=0,G=!1;globalThis.LOG_OUT=function(){},globalThis.fsHandler?(globalThis.LOG_OUT_WEBRTC=globalThis.fsHandler.handleFile,globalThis.Get_ExternalRecord=globalThis.fsHandler.handleViperPrint):(globalThis.LOG_OUT_WEBRTC=function(){},globalThis.Get_ExternalRecord=function(){}),globalThis.send_data=function(){},globalThis.monitorLOG=function(e){e&&z.port.postMessage({status:"MONITOR_LOG",data:e})},globalThis.sampleRateLog=function(e,t,s,r,i){if(!e&&!t)return;let a=null;switch(i){case 1:a="GGDS: ";break;case 2:a="SCAG: ";break;case 3:a="SCIW: "}let o=a+e+"|"+t+"|"+s+"|"+r;globalThis.monitorLOG(o)},globalThis.wcl_trace_log=function(e,t){globalThis.fsHandler&&globalThis.fsHandler.handleAudioSDKUtilPrint(e,t)},globalThis.Viper_NetworkTrace=function(e,t){},registerProcessor("zoomAudioWorklet",H)}]);
//# sourceMappingURL=https://d1cdksi819e9z7.cloudfront.net/sourcemap/js_audio_worklet.min.js-5d9247edb3a4a99eff37.map