(function(e){var r=0;var a=1;var l=2;var t=100;var u=101;var n=1;var o=48;var f=31;var d=16;importScripts("Decoder.js");Module.postRun.push(function(){postMessage({function:"loaded"})});var i=0;var s=false;var M=false;var v=null;onmessage=function(e){var r=e.data;var a=0;switch(r.command){case"SetStreamOpenMode":i=r.data;a=Module._SetStreamOpenMode(i);if(a!==n){postMessage({function:"SetStreamOpenMode",errorCode:a});return}s=true;break;case"OpenStream":var l=r.dataSize;var t=Module._malloc(l+4);if(t===null){return}var o=Module.HEAPU8.subarray(t,t+l);o.set(r.data);a=Module._OpenStream(t,l,r.bufPoolSize);postMessage({function:"OpenStream",errorCode:a});if(a!==n){Module._free(t);t=null;return}M=true;var d=new Uint32Array([l]);var c=new Uint8Array(d.buffer);var p=new Uint8Array(l+4);p.set(c,0);p.set(r.data,4);d=null;c=null;o=Module.HEAPU8.subarray(t,t+l+4);o.set(p);p=null;a=Module._InputData(t,l+4);if(a!==n){postMessage({function:"InputData",errorCode:a});Module._free(t);t=null;return}Module._free(t);t=null;if(v===null){v=Module.cwrap("GetFrameData","number")}if(i===0){v()}break;case"InputData":var _=r.dataSize;if(_>0){var g=Module._malloc(_);if(g===null){return}var b=new Uint8Array(r.data);Module.writeArrayToMemory(b,g);b=null;a=Module._InputData(g,_);if(a!==n){if(a===98){a=1}postMessage({function:"InputData",errorCode:a})}Module._free(g);pData=null}if(v===null){v=Module.cwrap("GetFrameData","number")}while(s&&M){var S=m(v);if(u===S||f===S){break}}break;case"SetSecretKey":var D=r.nKeyLen;var w=Module._malloc(D);if(w===null){return}var h=y(r.data);var A=Module.HEAPU8.subarray(w,w+D);A.set(new Uint8Array(h));a=Module._SetSecretKey(r.nKeyType,w,D);if(a!==n){postMessage({function:"SetSecretKey",errorCode:a});Module._free(w);w=null;return}Module._free(w);w=null;break;case"GetBMP":var G=r.width;var C=r.height;var U=r.data;var P=G*C*3/2;var F=r.rect;var I=Module._malloc(P);if(I===null){return}Module.writeArrayToMemory(new Uint8Array(U,0,P),I);var k=G*C*4+60;var E=Module._malloc(k);var T=Module._malloc(4);if(E===null||T===null){Module._free(I);I=null;if(E!=null){Module._free(E);E=null}if(T!=null){Module._free(T);T=null}return}Module._memset(T,k,4);a=Module._GetBMP(I,P,E,T,F.left,F.top,F.right,F.bottom);if(a!==n){postMessage({function:"GetBMP",errorCode:a});Module._free(I);I=null;Module._free(E);E=null;Module._free(T);T=null;return}var B=Module.getValue(T,"i32");var H=new Uint8Array(B);H.set(Module.HEAPU8.subarray(E,E+B));postMessage({function:"GetBMP",data:H,errorCode:a},[H.buffer]);if(I!=null){Module._free(I);I=null}if(E!=null){Module._free(E);E=null}if(T!=null){Module._free(T);T=null}break;case"GetJPEG":var O=r.width;var R=r.height;var z=r.data;var K=O*R*3/2;var L=r.rect;var J=Module._malloc(K);if(J===null){return}Module.writeArrayToMemory(new Uint8Array(z,0,K),J);var V=Module._malloc(K);var j=Module._malloc(4);if(V===null||j===null){if(V!=null){Module._free(V);V=null}if(j!=null){Module._free(j);j=null}if(J!=null){Module._free(J);J=null}return}Module.setValue(j,O*R*2,"i32");a=Module._GetJPEG(J,K,V,j,L.left,L.top,L.right,L.bottom);if(a!==n){postMessage({function:"GetJPEG",errorCode:a});if(V!=null){Module._free(V);V=null}if(j!=null){Module._free(j);j=null}if(J!=null){Module._free(J);J=null}return}var N=Module.getValue(j,"i32");var W=new Uint8Array(N);W.set(Module.HEAPU8.subarray(V,V+N));postMessage({function:"GetJPEG",data:W,errorCode:a},[W.buffer]);ajpegSizeData=null;W=null;if(J!=null){Module._free(J);J=null}if(V!=null){Module._free(V);V=null}if(j!=null){Module._free(j);j=null}break;case"SetDecodeFrameType":var q=r.data;a=Module._SetDecodeFrameType(q);if(a!==n){postMessage({function:"SetDecodeFrameType",errorCode:a});return}break;case"DisplayRegion":var x=r.nRegionNum;var Q=r.srcRect;var X=r.hDestWnd;var Y=r.bEnable;a=Module._SetDisplayRegion(x,Q,X,Y);if(a!==n){postMessage({function:"DisplayRegion",errorCode:a});return}break;case"CloseStream":a=Module._CloseStream();if(a!==n){postMessage({function:"CloseStream",errorCode:a});return}break;case"SetIFrameDecInterval":Module._SetIFrameDecInterval(r.data);break;default:break}};function c(e){var r=e.year;var a=e.month;var l=e.day;var t=e.hour;var u=e.minute;var n=e.second;if(a<10){a="0"+a}if(l<10){l="0"+l}if(t<10){t="0"+t}if(u<10){u="0"+u}if(n<10){n="0"+n}return r+"-"+a+"-"+l+" "+t+":"+u+":"+n}function m(e){var o=e();if(o===n){var i=Module._GetFrameInfo();switch(i.frameType){case r:var s=i.frameSize;if(0===s){return-1}var M=Module._GetFrameBuffer();var v=new Uint8Array(s);v.set(Module.HEAPU8.subarray(M,M+s));postMessage({function:"GetFrameData",type:"audioType",data:v.buffer,frameInfo:i,errorCode:o},[v.buffer]);i=null;M=null;audioBuf=null;v=null;return t;case a:var m=c(i);var p=i.width;var _=i.height;var y=p*_*3/2;if(0===y){return-1}var g=Module._GetFrameBuffer();var b=new Uint8Array(y);b.set(Module.HEAPU8.subarray(g,g+y));postMessage({function:"GetFrameData",type:"videoType",data:b.buffer,dataLen:b.length,osd:m,frameInfo:i,errorCode:o},[b.buffer]);i=null;g=null;buf=null;b=null;return u;case l:postMessage({function:"GetFrameData",type:"",data:null,dataLen:-1,osd:0,frameInfo:null,errorCode:d});return d;default:postMessage({function:"GetFrameData",type:"",data:null,dataLen:-1,osd:0,frameInfo:null,errorCode:d});return d}}else{if(f===o||d===o){postMessage({function:"GetFrameData",type:"",data:null,dataLen:-1,osd:0,frameInfo:null,errorCode:o})}return o}}function p(){return(new Date).getTime()}function _(){return(new Date).getTime()}function y(e){var r,a,l=[];for(var t=0;t>8}while(r);l=l.concat(a.reverse())}return l}})();