Newer
Older
securityFront / static / webCtrl / codebase / playctrl / DecodeWorker.js
(function(e){var r=0;var a=1;var t=2;var o=100;var n=101;var u=1;var s=48;var f=31;var d=16;self.Module={memoryInitializerRequest:b()};importScripts("Decoder.js");Module.postRun.push(function(){postMessage({function:"loaded"})});var v=[];var i=[];var l=[];var M=[];var c=0;var p=true;var y=-1;var m=0;var A=0;onmessage=function(e){var r=e.data;switch(r.command){case"SetStreamOpenMode":c=r.data;var a=Module._SetStreamOpenMode(c);if(a!=u){postMessage({function:"SetStreamOpenMode",errorCode:a});return}break;case"OpenStream":var t=r.dataSize;var o=Module._malloc(t+4);var s=Module.HEAPU8.subarray(o,o+t);s.set(r.data);var a=Module._OpenStream(o,t,r.bufPoolSize);if(a!=u){postMessage({function:"OpenStream",errorCode:a});Module._free(o);return}var d=new Uint32Array([t]);var y=new Uint8Array(d.buffer);var m=new Uint8Array(t+4);m.set(y,0);m.set(r.data,4);s=Module.HEAPU8.subarray(o,o+t+4);s.set(m);var a=Module._InputData(o,t+4);if(a!=u){postMessage({function:"InputData",errorCode:a});Module._free(o);return}Module._free(o);if(c===0){Module._GetFrameData()}break;case"InputData":var A=r.dataSize;if(A>0){var _=Module._malloc(A);var b=Module.HEAPU8.subarray(_,_+A);b.set(new Uint8Array(r.data));var a=Module._InputData(_,A);if(a!=u){if(a===98){a=1}postMessage({function:"InputData",errorCode:a})}Module._free(_)}p=true;while(p){var g=S();if(n===g||f===g){p=false}}break;case"SetSecretKey":var h=r.nKeyLen;var _=Module._malloc(h);var D=U(r.data);var G=Module.HEAPU8.subarray(_,_+h);G.set(new Uint8Array(D));var a=Module._SetSecretKey(r.nKeyType,_,h);if(a!=u){postMessage({function:"SetSecretKey",errorCode:a});Module._free(_);return}Module._free(_);break;case"GetBMP":var P=r.width;var B=r.height;var _=r.data;var C=P*B*3/2;var E=Module._malloc(C);var b=Module.HEAPU8.subarray(E,E+C);b.set(new Uint8Array(_,0,C));var k=P*B*4+60;var I=Module._malloc(k);var F=Module._malloc(4);Module._memset(F,k,4);var a=Module._GetBMP(E,C,I,F);if(a!=u){postMessage({function:"GetBMP",errorCode:a});Module._free(_);return}var H=M.pop();if(!H){H=new ArrayBuffer(4)}var T=new Uint8Array(H);T.set(Module.HEAPU8.subarray(F,F+4));var k=w(T,0);var K=l.pop();if(!K){K=new ArrayBuffer(k)}else{if(K.byteLength<k){K=new ArrayBuffer(k)}}var L=new Uint8Array(K);L.set(Module.HEAPU8.subarray(I,I+k));postMessage({function:"GetBMP",data:L,errorCode:a});Module._free(E);Module._free(I);Module._free(F);M.push(H);break;case"GetJPEG":var P=r.width;var B=r.height;var _=r.data;var C=P*B*3/2;var E=Module._malloc(C);var b=Module.HEAPU8.subarray(E,E+C);b.set(new Uint8Array(_,0,C));var O=C;var R=Module._malloc(O);var z=Module._malloc(4);var a=Module._GetJPEG(E,C,R,z);if(a!=u){postMessage({function:"GetJPEG",errorCode:a});Module._free(_);return}var J=M.pop();if(!J){J=new ArrayBuffer(4)}var j=new Uint8Array(J);j.set(Module.HEAPU8.subarray(z,z+4));var O=w(j,0);var q=l.pop();if(!q){q=new ArrayBuffer(O)}else{if(q.byteLength<O){q=new ArrayBuffer(O)}}var N=new Uint8Array(q);N.set(Module.HEAPU8.subarray(R,R+O));postMessage({function:"GetJPEG",data:N,errorCode:a});Module._free(_);M.push(J);break;case"SetSecretKey":var W=r.nRegionNum;var X=r.srcRect;var x=r.hDestWnd;var Q=r.bEnable;var a=Module._SetDisplayRegion(W,X,x,Q);if(a!=u){postMessage({function:"SetSecretKey",errorCode:a});return}break;case"SetDecodeFrameType":var V=r.data;var a=Module._SetDecodeFrameType(V);if(a!=u){postMessage({function:"SetDecodeFrameType",errorCode:a});return}break;case"CloseStream":var a=Module._CloseStream();if(a!=u){postMessage({function:"CloseStream",errorCode:a});return}break;case"videoBuffer":v.push(r.data);break;case"audioBuffer":i.push(r.data);break;case"picBuffer":l.push(r.data);break;case"SetIFrameDecInterval":Module._SetIFrameDecInterval(r.data);break;default:break}};function _(e){var r=e.year;var a=e.month;var t=e.day;var o=e.hour;var n=e.minute;var u=e.second;if(a<10){a="0"+a}if(t<10){t="0"+t}if(o<10){o="0"+o}if(n<10){n="0"+n}if(u<10){u="0"+u}return r+"-"+a+"-"+t+" "+o+":"+n+":"+u}function b(){var e=new XMLHttpRequest;e.open("GET","Decoder.js.mem");e.responseType="arraybuffer";e.send();return e}function w(e,r){var a=e[r]&255|(e[r+1]&255)<<8|(e[r+2]&255)<<16|(e[r+3]&255)<<24;return a}function S(){var e=Module._GetFrameData();if(e==u){var s=Module._GetFrameInfo();switch(s.frameType){case r:var f=s.frameSize;if(0===f){return false}var l=Module._GetFrameBuffer();var M=i.pop();if(!M){M=new ArrayBuffer(f)}else{var c=new Uint8Array(M);if(c.length<f){M=new ArrayBuffer(f)}}var p=new Uint8Array(M);p.set(Module.HEAPU8.subarray(l,l+f));postMessage({function:"GetFrameData",type:"audioType",data:p.buffer,frameInfo:s,errorCode:e},[p.buffer]);return o;case a:var y=_(s);var m=s.width;var A=s.height;var b=m*A*3/2;if(0===m||0===A){return false}var w=Module._GetFrameBuffer();var M=v.pop();if(!M){M=new ArrayBuffer(b)}else{var S=new Uint8Array(M);if(S.length<b){M=new ArrayBuffer(b)}}S=new Uint8Array(M);S.set(Module.HEAPU8.subarray(w,w+b));postMessage({function:"GetFrameData",type:"videoType",data:S.buffer,dataLen:S.length,osd:y,frameInfo:s,errorCode:e},[S.buffer]);return n;case t:return d;default:return d}}else{postMessage({function:"GetFrameData",type:"",data:null,dataLen:-1,osd:0,frameInfo:null,errorCode:e});return e}}function g(){return(new Date).getTime()}function h(){return(new Date).getTime()}function U(e){var r,a,t=[];for(var o=0;o<e.length;o++){r=e.charCodeAt(o);a=[];do{a.push(r&255);r=r>>8}while(r);t=t.concat(a.reverse())}return t}})();