trtc-sdk-v5 5.10.0-wasm.2 → 5.10.0-wasm.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,4 +14,4 @@ var Module = (() => {
14
14
  );
15
15
  })();
16
16
 
17
- const t=Float32Array.BYTES_PER_ELEMENT,e=Uint16Array.BYTES_PER_ELEMENT;class s{constructor(t,e,s,i){this._isInitialized=!1,this._module=t,this._length=e,this._maxChannelCount=i?Math.min(i,32):s,this._channelCount=s,this._allocateHeap(),this._isInitialized=!0}_allocateHeap(){const s=this._length*t,i=this._channelCount*s;this._dataPtr=this._module._malloc(i),this._channelData=[];for(let t=0;t<this._channelCount;++t){const i=this._dataPtr+t*s,n=i+s;this._channelData[t]=this._module.HEAPF32.subarray(i>>e,n>>e)}}adaptChannel(t){t<this._maxChannelCount&&(this._channelCount=t)}get length(){return this._isInitialized?this._length:null}get numberOfChannels(){return this._isInitialized?this._channelCount:null}get maxChannelCount(){return this._isInitialized?this._maxChannelCount:null}getChannelData(t){return t>=this._channelCount?null:void 0===t?this._channelData:this._channelData[t]}getHeapAddress(){return this._dataPtr}getPointer(){return this._dataPtr}free(){this._isInitialized=!1,this._module._free(this._dataPtr),this._module._free(this._pointerArrayPtr),this._channelData=null}}class i extends AudioWorkletProcessor{constructor(t){super(),this.authStatus=!1,this.enableDenoise=!0,this.flag=!0,this._channelCount=2,this._kernelBufferSize=128,this._channelCount=2,this.initStatus=!1,this.isDumping=!1,this.dumpNum=103359375,this.dumpNumCount=0,this.port.onmessage=t=>{const{type:e,data:s}=t.data;switch(e){case"init":const{sdkAppId:t,userId:e,timestamp:i,sign:n,status:a}=s;return this.sdkAppId=t,this.userId=e,this.timestamp=i,this.sign=n,void(this.status=a);case"disable":return void(this.enableDenoise=!1);case"enable":return void(this.enableDenoise=!0);case"startDump":return this.isDumping=!0,void(this.dumpNumCount=0);case"stopDump":return this.isDumping=!1,void this.port.postMessage({type:"dumped"})}},this.init()}async init(){this.module=await Module(),this._heapInputBuffer=new s(this.module,this._kernelBufferSize,2),this._heapOutputBuffer=new s(this.module,this._kernelBufferSize,2),this.initStatus=!0;const t=new this.module.WebAiDenoise;let e=t.Auth(this.sdkAppId,this.userId,this.timestamp,this.status,this.sign);if(this.authStatus=e,!e)throw new Error("RTCAIDenoiser auth failed. Your sdkAppId is not allowed to open ai denoiser.");this._kernel=t}process(t,e){if(this.initStatus){const s=t[0],i=e[0],n=s.length;for(let t=0;t<n;++t)this._heapInputBuffer.getChannelData(t).set(s[t]);if(this.authStatus&&this.enableDenoise){this._kernel.Process(this._heapInputBuffer.getHeapAddress(),this._heapOutputBuffer.getHeapAddress(),n,128);for(let t=0;t<n;++t)i[t].set(this._heapOutputBuffer.getChannelData(t))}else for(let t=0;t<n;++t)i[t].set(this._heapInputBuffer.getChannelData(t))}return this.isDumping&&(this.dumpNumCount<this.dumpNum?(this.dumpNumCount+=1,this.dump(t,e,this.dumpNumCount)):(this.isDumping=!1,this.port.postMessage({type:"dumped"}))),!0}dump(t,e){this.port.postMessage({type:"ondump",data:{inputPCM:t[0],outputPCM:e[0]}})}}registerProcessor("trtc-denoiser-processor",i)
17
+ const t=Float32Array.BYTES_PER_ELEMENT,e=Uint16Array.BYTES_PER_ELEMENT;class s{constructor(A,Q,B,g){this._isInitialized=!1,this._module=A,this._length=Q,this._maxChannelCount=g?Math.min(g,32):B,this._channelCount=B,this._allocateHeap(),this._isInitialized=!0}_allocateHeap(){const A=this._length*t,Q=this._channelCount*A;this._dataPtr=this._module._malloc(Q),this._channelData=[];for(let Q=0;Q<this._channelCount;++Q){const B=this._dataPtr+Q*A,g=B+A;this._channelData[Q]=this._module.HEAPF32.subarray(B>>e,g>>e)}}adaptChannel(A){A<this._maxChannelCount&&(this._channelCount=A)}get length(){return this._isInitialized?this._length:null}get numberOfChannels(){return this._isInitialized?this._channelCount:null}get maxChannelCount(){return this._isInitialized?this._maxChannelCount:null}getChannelData(A){return A>=this._channelCount?null:void 0===A?this._channelData:this._channelData[A]}getHeapAddress(){return this._dataPtr}getPointer(){return this._dataPtr}free(){this._isInitialized=!1,this._module._free(this._dataPtr),this._module._free(this._pointerArrayPtr),this._channelData=null}}class i extends AudioWorkletProcessor{constructor(A){super(),this.authStatus=!1,this.enableDenoise=!0,this.flag=!0,this._channelCount=2,this._kernelBufferSize=128,this._channelCount=2,this.initStatus=!1,this.isDumping=!1,this.dumpNum=103359375,this.dumpNumCount=0,this.processData={lastPostTime:+new Date,data:{count:0,min:0,max:0,sum:0,_0to5ms:0,_5to10ms:0,_10to20ms:0,_over20ms:0,maxCostTimestamp:0}},this.port.onmessage=A=>{const{type:Q,data:B}=A.data;switch(Q){case"init":const{sdkAppId:A,userId:Q,timestamp:g,sign:C,status:I}=B;return this.sdkAppId=A,this.userId=Q,this.timestamp=g,this.sign=C,void(this.status=I);case"disable":return void(this.enableDenoise=!1);case"enable":return void(this.enableDenoise=!0);case"startDump":return this.isDumping=!0,void(this.dumpNumCount=0);case"stopDump":return this.isDumping=!1,void this.port.postMessage({type:"dumped"})}},this.port.postMessage({type:"log",value:"enable cost statistics",logLevel:"info"}),this.init()}async init(){this.module=await Module(),this._heapInputBuffer=new s(this.module,this._kernelBufferSize,2),this._heapOutputBuffer=new s(this.module,this._kernelBufferSize,2),this.initStatus=!0;const A=new this.module.WebAiDenoise;let Q=A.Auth(this.sdkAppId,this.userId,this.timestamp,this.status,this.sign);if(this.authStatus=Q,!Q)throw new Error("RTCAIDenoiser auth failed. Your sdkAppId is not allowed to open ai denoiser.");this._kernel=A}process(A,Q){if(this.initStatus){const B=A[0],g=Q[0],C=B.length;for(let A=0;A<C;++A)this._heapInputBuffer.getChannelData(A).set(B[A]);if(this.authStatus&&this.enableDenoise){const A=+new Date;this._kernel.Process(this._heapInputBuffer.getHeapAddress(),this._heapOutputBuffer.getHeapAddress(),C,128),this.stat(A);for(let A=0;A<C;++A)g[A].set(this._heapOutputBuffer.getChannelData(A))}else for(let A=0;A<C;++A)g[A].set(this._heapInputBuffer.getChannelData(A))}return this.isDumping&&(this.dumpNumCount<this.dumpNum?(this.dumpNumCount+=1,this.dump(A,Q,this.dumpNumCount)):(this.isDumping=!1,this.port.postMessage({type:"dumped"}))),!0}dump(A,Q){this.port.postMessage({type:"ondump",data:{inputPCM:A[0],outputPCM:Q[0]}})}stat(A){const Q=+new Date-A;Q<=0||(this.processData.data.sum+=Q,Q>this.processData.data.max&&(this.processData.data.max=Q,this.processData.data.maxCostTimestamp=A),this.processData.data.min=Math.min(this.processData.data.min,Q),this.processData.data.count+=1,Q<=5?this.processData.data._0to5ms+=1:Q<=10?this.processData.data._5to10ms+=1:Q<=20?this.processData.data._10to20ms+=1:this.processData.data._over20ms+=1,A-this.processData.lastPostTime>=3e4&&this.processData.data.count>0&&(this.processData.lastPostTime=A,this.port.postMessage({type:"cost",value:(this.processData.data.sum/this.processData.data.count).toFixed(2),min:this.processData.data.min,max:this.processData.data.max,maxCostTimestamp:this.processData.data.maxCostTimestamp,hist:[(this.processData.data._0to5ms/this.processData.data.count).toFixed(2),(this.processData.data._5to10ms/this.processData.data.count).toFixed(2),(this.processData.data._10to20ms/this.processData.data.count).toFixed(2),(this.processData.data._over20ms/this.processData.data.count).toFixed(2)]}),this.processData.data={lastPostTime:+new Date,count:0,min:0,max:0,maxCostTimestamp:0,sum:0,_0to5ms:0,_5to10ms:0,_10to20ms:0,_over20ms:0}))}}registerProcessor("trtc-denoiser-processor",i)