Add files via upload
This commit is contained in:
1 parent
119d0275bd
commit
10f4531375
39 files changed
+10329
No files matched your search
+20
@@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016-2021 abalabahaha
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
# OpusScript
|
||||
|
||||
JS bindings for libopus 1.3.1, ported with Emscripten.
|
||||
|
||||
----
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var OpusScript = require("opusscript");
|
||||
|
||||
// 48kHz sampling rate, 20ms frame duration, stereo audio (2 channels)
|
||||
var samplingRate = 48000;
|
||||
var frameDuration = 20;
|
||||
var channels = 2;
|
||||
|
||||
// Optimize encoding for audio. Available applications are VOIP, AUDIO, and RESTRICTED_LOWDELAY
|
||||
var encoder = new OpusScript(samplingRate, channels, OpusScript.Application.AUDIO);
|
||||
|
||||
var frameSize = samplingRate * frameDuration / 1000;
|
||||
|
||||
// Get PCM data from somewhere and encode it into opus
|
||||
var pcmData = new Buffer(pcmSource);
|
||||
var encodedPacket = encoder.encode(pcmData, frameSize);
|
||||
|
||||
// Decode the opus packet back into PCM
|
||||
var decodedPacket = encoder.decode(encodedPacket);
|
||||
|
||||
// Delete the encoder when finished with it (Emscripten does not automatically call C++ object destructors)
|
||||
encoder.delete();
|
||||
```
|
||||
|
||||
## Note: WASM
|
||||
|
||||
If your environment doesn't support WASM, you can try the JS-only module. Do note that the JS-only version barely has optimizations due to compiler/toolchain limitations, and should only be used as a last resort.
|
||||
|
||||
```js
|
||||
var encoder = new OpusScript(samplingRate, channels, OpusScript.Application.AUDIO, {
|
||||
wasm: false
|
||||
});
|
||||
```
|
||||
|
||||
## Note: TypeScript
|
||||
|
||||
Since this module wasn't written for TypeScript, you need to use `import = require` syntax.
|
||||
|
||||
```ts
|
||||
// Import using:
|
||||
import OpusScript = require("opusscript");
|
||||
|
||||
// and NOT:
|
||||
import OpusScript from "opusscript";
|
||||
```
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic,
|
||||
Jean-Marc Valin, Timothy B. Terriberry,
|
||||
CSIRO, Gregory Maxwell, Mark Borgerding,
|
||||
Erik de Castro Lopo
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
- Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
- Neither the name of Internet Society, IETF or IETF Trust, nor the
|
||||
names of specific contributors, may be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
|
||||
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Opus is subject to the royalty-free patent licenses which are
|
||||
specified at:
|
||||
|
||||
Xiph.Org Foundation:
|
||||
https://datatracker.ietf.org/ipr/1524/
|
||||
|
||||
Microsoft Corporation:
|
||||
https://datatracker.ietf.org/ipr/1914/
|
||||
|
||||
Broadcom Corporation:
|
||||
https://datatracker.ietf.org/ipr/1526/
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
|
||||
var Module = (function() {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(Module) {
|
||||
Module = Module || {};
|
||||
|
||||
|
||||
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var aa,ba;g.ready=new Promise(function(b,a){aa=b;ba=a});var r={},t;for(t in g)g.hasOwnProperty(t)&&(r[t]=g[t]);var ca=!1,v=!1,w=!1,da=!1;ca="object"===typeof window;v="function"===typeof importScripts;w="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;da=!ca&&!w&&!v;var y="",ea,z,fa,ha;
|
||||
if(w)y=v?require("path").dirname(y)+"/":__dirname+"/",ea=function(b,a){var c=A(b);if(c)return a?c:c.toString();fa||(fa=require("fs"));ha||(ha=require("path"));b=ha.normalize(b);return fa.readFileSync(b,a?null:"utf8")},z=function(b){b=ea(b,!0);b.buffer||(b=new Uint8Array(b));assert(b.buffer);return b},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),g.inspect=function(){return"[Emscripten Module object]"};else if(da)"undefined"!=typeof read&&(ea=function(b){var a=A(b);
|
||||
return a?ia(a):read(b)}),z=function(b){var a;if(a=A(b))return a;if("function"===typeof readbuffer)return new Uint8Array(readbuffer(b));a=read(b,"binary");assert("object"===typeof a);return a},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(ca||v)v?y=self.location.href:"undefined"!==typeof document&&document.currentScript&&(y=document.currentScript.src),_scriptDir&&(y=_scriptDir),
|
||||
0!==y.indexOf("blob:")?y=y.substr(0,y.lastIndexOf("/")+1):y="",ea=function(b){try{var a=new XMLHttpRequest;a.open("GET",b,!1);a.send(null);return a.responseText}catch(c){if(b=A(b))return ia(b);throw c;}},v&&(z=function(b){try{var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)}catch(c){if(b=A(b))return b;throw c;}});var ka=g.print||console.log.bind(console),la=g.printErr||console.warn.bind(console);
|
||||
for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;var ma;g.wasmBinary&&(ma=g.wasmBinary);var noExitRuntime;g.noExitRuntime&&(noExitRuntime=g.noExitRuntime);function na(){this.buffer=new ArrayBuffer(oa/65536*65536)}function pa(){}function qa(){this.exports=(
|
||||
// EMSCRIPTEN_START_ASM
|
||||
function instantiate(Lg){function Bg(Mg){Mg.set=(function(c,Ng){this[c]=Ng});Mg.get=(function(c){return this[c]});return Mg}var a;var b=new Uint8Array(123);for(var c=25;c>=0;--c){b[48+c]=52+c;b[65+c]=c;b[97+c]=26+c}b[43]=62;b[47]=63;function Cg(Og,Pg,Qg){var d,e,c=0,f=Pg,g=Qg.length,h=Pg+(g*3>>2)-(Qg[g-2]=="=")-(Qg[g-1]=="=");for(;c<g;c+=4){d=b[Qg.charCodeAt(c+1)];e=b[Qg.charCodeAt(c+2)];Og[f++]=b[Qg.charCodeAt(c)]<<2|d>>4;if(f<h)Og[f++]=d<<4|e>>2;if(f<h)Og[f++]=e<<6|b[Qg.charCodeAt(c+3)]}}function Dg(Rg){Cg(a,1024,"RmF0YWwgKGludGVybmFsKSBlcnJvciBpbiAlcywgbGluZSAlZDogJXMKAGFzc2VydGlvbiBmYWlsZWQ6IDAAY2VsdC9jZWx0LmMAAAAAAAAAAJ0+AEBePgDABD4AgO0+AECJPgAAAAAAwEw/AADNPQ==");Cg(a,1153,"/wD/AP8A/wD/AP4BAAH/AP4A/QIAAf8A/gD9AwAB/8AEAADIBAAA2QQAAOoEAAD5BAAACgUAACIFAAAwBQAAc3VjY2VzcwBpbnZhbGlkIGFyZ3VtZW50AGJ1ZmZlciB0b28gc21hbGwAaW50ZXJuYWwgZXJyb3IAY29ycnVwdGVkIHN0cmVhbQByZXF1ZXN0IG5vdCBpbXBsZW1lbnRlZABpbnZhbGlkIHN0YXRlAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZAB1bmtub3duIGVycm9y");Cg(a,1377,"IP4f9h/qH9gfwh+oH4gfYh86Hwof2B6gHmIeIh7cHZAdQh3uHJYcOhzYG3IbChucGioatBk6GbwYPBi2Fy4XoBYQFn4V6BROFLATEBNuEsgRHhF0EMYPFg9kDq4N+AxADIQLyAoKCkoJigjGBwIHPgZ4BbIE6gMiA1oCkgHKAAAANv9u/qb93vwW/E77iPrC+f74Ovh297b29vU49Xz0wPMI81LynPHq8DrwjO/i7jjuku3w7FDssusY64Lq8Olg6dLoSujE50TnxuZM5tblZOX25I7kKOTG42rjEuO+4nDiJOLe4Z7hYOEo4fbgxuCe4HjgWOA+4CjgFuAK4ALgAOA=");Cg(a,1649,"DwgHBAsMAwINCgUGCQ4BAAkGAwQFCAECB2Fzc2VydGlvbiBmYWlsZWQ6IGQ9PTEwIHx8IGQ9PTE2AHNpbGsvTkxTRjJBLmMAYXNzZXJ0aW9uIGZhaWxlZDogcHNEZWMtPkxQQ19vcmRlciA9PSAxMCB8fCBwc0RlYy0+TFBDX29yZGVyID09IDE2AHNpbGsvQ05HLmMAYXNzZXJ0aW9uIGZhaWxlZDogZCA+PSA2AHNpbGsvTFBDX2FuYWx5c2lzX2ZpbHRlci5jAGFzc2VydGlvbiBmYWlsZWQ6IChkICYgMSkgPT0gMABhc3NlcnRpb24gZmFpbGVkOiBkIDw9IGxlbgAAuH6aeZp5Zma4fjNzYXNzZXJ0aW9uIGZhaWxlZDogaWR4ID4gMABzaWxrL1BMQy5jAGFzc2VydGlvbiBmYWlsZWQ6IHBzRGVjLT5MUENfb3JkZXIgPj0gMTAAKq/Vyc//QAARAGP/YQEQ/qMAJyu9Vtn/BgBbAFb/ugAXAID8wBjYTe3/3P9mAKf/6P9IAUn8CAolPgAAAAAAAIfHPclAAIAAhv8kADYBAP1IAjMkRUUMAIAAEgBy/yABi/+f/BsQezgAAAAAAAAAAGgCDcj2/ycAOgDS/6z/eAC4AMX+4/0EBQQVQCMAAAAA5j7GxPP/AAAUABoABQDh/9X//P9BAFoABwBj/wj/1P9RAi8GNArHDAAAAAAAAAAA5FcFxQMA8v/s//H/AgAZACUAGQDw/7n/lf+x/zIAJAFvAtYDCAW4BQAAAAAAAAAAlGtnxBEADAAIAAEA9v/q/+L/4P/q/wMALABkAKgA8wA9AX0BrQHHARP1leZZEvMpHwZUIA==");Cg(a,2304,"vQCo/WkCZ3d1AGH/0vsIdDQA3QCo9nRu/P8RAury5WbQ//YCjPClXbD/iQN17wZTnf/MA4LvZkeV/8cDi/AnO5n/gANh8q4upf8FA8/0XiK5/2MCofeYFtL/qQGh+rQLYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlcl9wcml2YXRlX2Rvd25fRklSLmMAYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlci5jAAYAAwAHAwABCgACBhIKDAQAAgAAAAkEBwQAAwwHB2Fzc2VydGlvbiBmYWlsZWQ6IGluTGVuID49IFMtPkZzX2luX2tIegBhc3NlcnRpb24gZmFpbGVkOiBTLT5pbnB1dERlbGF5IDw9IFMtPkZzX2luX2tIeg==");Cg(a,2624,"/fr06dS2loN4bmJVSDwxKCAZEw8NCwkIBwYFBAMCAQDS0M7Lx8G3qI5oSjQlGxQOCgYEAg==");Cg(a,2688,"38m3p5iKfG9iWE9GPjgyLCcjHxsYFRIQDgwKCAYEAwIBALywm4p3YUMrGgoApXdQPS8jGxQOCQQAcT8AAAAAAAwjPFNshJ20zuQPIDdNZX2Xr8nhEypCWXKJorjR5gwZMkhheJOsyN8aLEVacoeftM3hDRY1UGqCnLTN5A8ZLEBac46oxN4TGD5SZHiRqL7WFh8yT2d4l6rL4xUdLUFqfJarxOAeMUtheY6lutHlExk0Rl10j6bA2xoiPkthdpGnwtkZIThGW3GPpcTfFSIzSGF1kavE3hQdMkNadZCoxd0WHzBCX3WSqMTeGCEzTXSGnrTI4BUcRldqfJWqwtkaITVAU3WYrczhGyJBX2yBm67S4RQaSGNxg5qwyNsiKz1OXXKbsc3lFx02YXyKo7PR5R4mOFl2gZ6yyOcVHTE/VW+Oo8HeGzBNZ4Wes8TX6B0vSmN8l7DG3O0hKj1MXXmbrs/hHTVXcIiaqrzQ4xgeNFSDlqa6y+UlMEBUaHacscnmUQsKCQoJCgnvCO8ICgn8CBcJ7whICxQKWgk/CQoJ4gjiCOII4giSCLcJJAkkCQoJCgkKCSQJJAk/CTIJkAzOCiQJJAkKCeIIrQifCNUIkgicCaoJPwlaCVoJWglaCT8JZwkKCZcN8AtPCJ8I4gjiCOII7wgKCdUI0gxFDBQKWgnHCK0InwiSCJIIQggAEAUPrQg8CjwKZwkKCVoJPwkaCGoMrAw/Ca0I+QmCCSQJCgl3CK0ICg2gDaYKkgjVCJwJMgk/CZ8INQgyCXQJFwk/CVoJdAl0CXQJnAk/CcMOLQ6CCd8JPwniCOII/AifCAAItgyZDJkKHguPCRcJ/Aj8COIITwi/DOQMwQr2Co8J1QjVCMcITwg1CDkLpQtJCj8JZwkyCZIIxwjHCEIImQx9DEkKFAriCIUIxwitCK0IXQhqDO4MtApnCeII4gjiCO8IkghCCEUMyAycCQ0I7wjECT8JtwmCCYUIsw3SDAoJjApXCqoJPwlaCSQJTwhfDc8N3gvwC/wIngetCOII4gjiCEwNJg0nCH8KOQsyCXQJ4giqCewJsA6gDZ4HZApRC98JWgk/CZwJ1QjUC8gMtApIC7QKaghPCO8IugjHCG8OSQ7pB7EHZAqMChQKxAkXCT8JhwxVDTIJGghIC0gLJAm3CccIdwgKDSYNHgvcChcJagjiCO8IQggNCBcJ/AiFCHcIhQg/CUkKjAqMCvkJZwmCCa0I1QitCK0IJAl0CS8KjAreC6wM9gpIC6oJGgj8CAoJMglMCa0IaghPCO8IxAnpCukKPAoUCj8JXA6BDroILgeFCMEKpgpxCtEJnwjpClgMpgr5CR4L0QmFCFoJrQiFCNSylIFsYFVST009Ozk4MzEwLSopKCYkIh8eFQwKAwEA//X07Onh2cu+sK+hlYh9cmZbUUc8NCsjHBQTEgwLBQCzioyUl5WZl6N0Q1I7XEhkWVw=");Cg(a,3808,"EAAAAABjQiQkIiQiIiIiU0UkNCJ0ZkZERLBmREQiQVVEVCR0jZiLqoS7uNiJhPmouYtoZmRERLLaubmq9Ni7u6r0u7vbimebuLmJdLebmIiE2bi4qqTZq5uL9Km4uaqk2N/aitaPvNqo9I2Im6qoitzbi6TbytiJqLr2uYt0udu5imRkhmRmIkREZESoy93aqKeaiGhGpPariYuJm9rbi//+/e4OAwIBAP/+/NojAwIBAP/++tA7BAIBAP/+9sJHCgIBAP/87LdSCAIBAP/867RaEQIBAP/44KthHgQBAP/+7K1fJQcB");Cg(a,4048,"////gwaR///////sXQ9g///////CUxlH3f////+iSSJCov///9J+SSs5rf///8l9RzA6gv///6ZuSTk+aNL///t7QTdEZKv/AAAAAAAAAAD6AAMABgADAAMAAwAEAAMAAwADAM0BAAAgAAoAFC5kAcAKAAAADAAAgA4AAMAOAADgDgAAgA8AANAPAAAgEAAABxcmNkVVZHSDk6KywdDf7w0ZKTdFU2Jwf46dq7vL3OwPFSIzPU5can6ImKe5zeHwChUkMj9PX25+jZ2tvc3d7REUJTM7Tllre4aWpLjN4PAKDyAzQ1FgcIGOnq29zNzsCBUlM0FPYnF+ipuos8DR2gwPIjc/TldsdoOUp7nL2+wQEyAkOE9bbHaImqu6zNztCxwrOkpZaXiHlqW0xNPi8QYQIS48S1xre4mcqbnH1uELEx4sOUpZaXmHmKm6ytrqDBMdLjlHWGR4h
Line truncated
|
||||
// EMSCRIPTEN_START_FUNCS
|
||||
function Dc(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=x(0),s=0,t=0,v=x(0),A=0,B=0,D=0,E=0,F=x(0),H=0,I=0,J=0,K=x(0),L=x(0),M=0,N=x(0),O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=x(0),W=0,X=0,Y=0,Z=0,_=x(0),$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ma=0,na=x(0),qa=0;s=ca-624|0;ca=s;q[s+616>>2]=0;q[a+18136>>2]=0;m=-1;a:{if((c|0)<1){break a}H=(e|0)<1276?e:1276;if((H|0)<1){break a}if((H|0)==1){m=-2;if(q[a+144>>2]==(w(c,10)|0)){break a}}B=q[a>>2]+a|0;W=q[a+108>>2]!=2051?q[a+116>>2]:W;Q=q[a+4>>2];m=q[a+168>>2];q[s+416>>2]=s+612;oa(B,10015,s+416|0);q[s+544>>2]=0;R=(f|0)<(m|0)?f:m;b:{c:{d:{e:{f:{g:{if(q[a+44>>2]<7){break g}t=q[a+144>>2];if((t|0)<16e3){break g}aa=1;f=w(q[a+112>>2],c);if((f|0)>=1){m=0;while(1){v=u[(m<<2)+b>>2];F=v>F?F:v;n=n>v?n:v;m=m+1|0;if((f|0)!=(m|0)){continue}break}}X=q[a+7640>>2];P=q[a+7636>>2];_e(a+188|0,q[s+612>>2],g,h,c,i,j,t,R,k,s+544|0);v=x(-F);f=0;if(x(x(1)/x(1<<R))>=(n>v?n:v)){break b}if(u[s+580>>2]>x(.10000000149011612)^1){break c}F=x(u[a+18128>>2]*x(.9990000128746033));f=w(q[a+112>>2],c);if((f|0)<1){break f}m=0;n=x(0);while(1){v=n;n=u[(m<<2)+b>>2];n=x(v+x(n*n));m=m+1|0;if((f|0)!=(m|0)){continue}break}L=x(f|0);if(x(n/L)<F){break d}m=0;n=x(0);while(1){v=n;n=u[(m<<2)+b>>2];n=x(v+x(n*n));m=m+1|0;if((f|0)!=(m|0)){continue}break}break e}X=-1;if(q[a+7648>>2]){xc(a+188|0)}P=-1;break c}n=x(0);L=x(f|0);if(x(x(0)/L)<F){break d}}F=x(n/L)}u[a+18128>>2]=F}q[a+140>>2]=-1;aa=0;f=1}qa=f;q[a+18120>>2]=0;if(q[s+544>>2]){if(q[a+124>>2]==-1e3){f=a;h:{i:{g=q[a+14228>>2];if((g|0)!=1002){if(g){break i}g=s+564|0;break h}g=s+572|0;break h}g=s+568|0}ma=C(+x(x(x(1)-u[g>>2])*x(100))+.5);j:{if(y(ma)<2147483648){g=~~ma;break j}g=-2147483648}q[f+140>>2]=g}f=a;g=q[s+576>>2];h=1101;k:{if((g|0)<13){break k}h=1102;if((g|0)<15){break k}h=1103;if((g|0)<17){break k}h=(g|0)<19?1104:1105}q[f+18120>>2]=h}n=x(0);if(!(q[a+120>>2]==1|q[a+112>>2]!=2)){n=ef(b,c,q[a+144>>2],a+14260|0)}f=c;if(!f){f=q[a+144>>2]/400|0}l:{m:{m=q[a+164>>2];if((m|0)!=-1e3){if((m|0)==-1){break m}g=q[a+144>>2];break l}g=q[a+144>>2];m=w(g,q[a+112>>2])+((w(g,60)|0)/(f|0)|0)|0;break l}g=q[a+144>>2];m=(w(H,g)<<3)/(f|0)|0}q[a+160>>2]=m;O=(g|0)/(c|0)|0;n:{o:{p:{U=q[a+148>>2];q:{if(!U){h=(w(g,12)|0)/(c|0)|0;f=(((h|0)/2|0)+((w(m,12)|0)/8|0)|0)/(h|0)|0;H=(f|0)<(H|0)?f:H;m=(w(H,h)<<3)/12|0;q[a+160>>2]=m;f=1;if((H|0)<2){break q}}r:{if((H|0)<3|(w(O,24)|0)>(m|0)){break r}ba=w(H,O);if((O|0)>49){break p}if((ba|0)<300){break r}if((m|0)>=2400){break o}}f=H}b=q[a+14240>>2];h=b?b:1101;g=0;m=0;b=q[a+14224>>2];i=(O|0)>100?1002:b?b:1e3;b=(O|0)==25&(i|0)!=1e3;c=b?50:O;s:{if((c|0)>16){break s}if(!((c|0)==10|(i|0)!=1e3?(e|0)!=1:0)){b=(c|0)<13;i=1e3;c=(c|0)==12?25:16;break s}g=50/(c|0)|0;b=3;c=50}if((c|0)<=399){while(1){m=m+1|0;c=c<<1;if((c|0)<400){continue}break}m=m<<3}t:{if((h|0)>=1104){e=1103;if((i|0)==1e3){break t}}if((h|0)==1102){e=1101;if((i|0)==1002){break t}}e=(h|0)<1105?(i|0)==1001?1104:h:h}h=q[a+14192>>2];c=d;u:{v:{switch(i-1e3|0){case 0:e=m-16|(e<<5)+96&224;break u;case 2:e=(((e|0)>1102?e:1102)<<5)- -64&96|m|128;break u;default:break v}}e=m+240|e<<4|96}o[c|0]=e|(((h|0)==2)<<2|b);if((b|0)==3){o[d+1|0]=g}m=b>>>0<2?1:2;if(q[a+148>>2]){break a}a=(f|0)>(m|0)?f:m;m=zc(d,m,a)?-3:a;break a}i=q[a+40>>2];S=q[a+44>>2];A=q[a+112>>2];f=m;if((O|0)==50){break n}da=1;f=w(w(A,-40)-20|0,O-50|0)+m|0;break n}i=q[a+40>>2];S=q[a+44>>2];A=q[a+112>>2];f=m}h=U?f:f+((f|0)/-12|0)|0;f=S+90|0;t=(w(h,f)|0)/100|0;Y=w(i,12)+20|0;k=(w(t,i)|0)/(Y|0)|0;j=127;w:{x:{switch(q[a+124>>2]-3001|0){case 1:j=0;break w;case 0:break w;default:break x}}h=q[a+140>>2];if((h|0)>=0){j=w(h,327)>>8;if(q[a+108>>2]!=2049){break w}j=(j|0)<115?j:115;break w}j=q[a+108>>2]==2048?115:48}h=q[a+120>>2];y:{z:{if((h|0)!=-1e3){if((A|0)!=2){break z}q[a+14192>>2]=h;A=h;break y}if((A|0)!=2){break z}A=((w(w(j,j),2e3)>>>14|0)+(q[a+14192>>2]==2?16e3:18e3)|0)<(t-k|0)?2:1}q[a+14192>>2]=A}E=!(q[s+544>>2]|aa)&q[a+184>>2]!=0;q[a+56>>2]=E;k=da?w(w(A,-40)-20|0,O-50|0)+m|0:m;I=(w(U?k:((k|0)/-12|0)+k|0,f)|0)/100|0;h=(w(I,i)|0)/(Y|0)|0;D=q[a+108>>2];A:{if((D|0)==2051){k=1002;q[a+14224>>2]=1002;J=a+14224|0;h=((g|0)/100|0)>(c|0);break A}t=q[a+136>>2];B:{if((t|0)==-1e3){k=a;Z=I-h|0;K=x(x(1)-n);v=x(x(n*x(1e4))+x(K*x(1e4)));C:{if(x(y(v))<x(2147483648)){h=~~v;break C}h=-2147483648}t=h;n=x(x(n*x(44e3))+x(K*x(64e3)));D:{if(x(y(n))<x(2147483648)){I=~~n;break D}I=-2147483648}h=t+(w(I-h|0,w(j,j))>>14)|0;h=(D|0)==2048?h+8e3|0:h;I=h-4e3|0;D=h+4e3|0;t=h;h=q[a+14228>>2];t=(Z|0)<(((h|0)==1002?I:(h|0)>0?D:t)|0)?1e3:1002;q[k+14224>>2]=t;if(!(!q[a+48>>2]|128-j>>4>=(i|0))){q[a+14224>>2]=1e3;t=1e3}h=(w(da?9e3:6e3,c)|0)/(g<<3)|0;if((h|0)<=(H|0)?!(E&(j|0)>100):0){break B}t=(h|0)>(H|0)?1002:1e3}q[a+14224>>2]=t}J=a+14224|0;g=(g|0)/100|0;h=(g|0)>(c|0);if((c|0)>=(g|0)){k=t;break A}k=1002;if((t|0)==1002){k=t;break A}q[J>>2]=1002}if(q[a+176>>2]){q[J>>2]=1002;k=1002}E:{F:{G:{D=q[a+14228>>2];if((D|0)<1){break G}if(!((k|0)!=1002?(D|0)==1002:0)){if((k|0)!=1002){break G}g=1002;if((D|0)==1002){break F}}g=1002;ga=1;H:{if((k|0)!=1002){I=1;g=k;break H}I=0;t=0;if(h){break E}q[J>>2]=D;ga=0;T=1;g=D}t=1;break ELine truncated
|
||||
|
||||
|
||||
|
||||
function Ic(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,s=0,t=0;if((d|0)>=1){j=q[a+20>>2];g=q[a+16>>2];e=q[a+12>>2];h=q[a+8>>2];i=q[a+4>>2];f=q[a>>2];while(1){k=m<<2;n=p[(m<<1)+c>>1]<<10;l=n-f|0;l=(w(l&65535,1746)>>>16|0)+w(l>>16,1746)|0;r=f+l|0;f=r-i|0;s=(w(f&65535,14986)>>>16|0)+w(f>>16,14986)|0;f=i+s|0;i=f-h|0;f=((w(i&65535,-26453)>>16)+w(i>>16,-26453)|0)+f|0;h=(f>>9)+1>>1;p[k+b>>1]=(f|0)>33553919?32767:(h|0)>-32768?h:-32768;h=(k|2)+b|0;o=e;e=n-e|0;k=(w(e&65535,6854)>>>16|0)+w(e>>16,6854)|0;t=o+k|0;e=t-g|0;o=(w(e&65535,25769)>>>16|0)+w(e>>16,25769)|0;e=g+o|0;g=e-j|0;e=((w(g&65535,-9994)>>16)+w(g>>16,-9994)|0)+e|0;j=(e>>9)+1>>1;p[h>>1]=(e|0)>33553919?32767:(j|0)>-32768?j:-32768;j=e+g|0;h=f+i|0;g=t+o|0;i=r+s|0;e=k+n|0;f=n+l|0;m=m+1|0;if((m|0)!=(d|0)){continue}break}q[a+20>>2]=j;q[a+16>>2]=g;q[a+12>>2]=e;q[a+8>>2]=h;q[a+4>>2]=i;q[a>>2]=f}}function Ub(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if((d|0)>0){if((c|0)<=0){break b}if((c|0)<(d|0)){break a}while(1){q[(e<<2)+b>>2]=e;e=e+1|0;if((e|0)!=(d|0)){continue}break}f=1;if((d|0)>1){while(1){j=q[(f<<2)+a>>2];e=f;c:{while(1){g=e-1|0;h=g<<2;k=q[h+a>>2];if((k|0)<=(j|0)){break c}i=e<<2;q[i+a>>2]=k;q[b+i>>2]=q[b+h>>2];h=(e|0)>1;e=g;if(h){continue}break}e=0}e=e<<2;q[e+a>>2]=j;q[b+e>>2]=f;f=f+1|0;if((f|0)!=(d|0)){continue}break}}if((c|0)>(d|0)){j=d-2|0;k=((d<<2)+a|0)-4|0;f=d;while(1){h=q[(f<<2)+a>>2];if((h|0)<q[k>>2]){e=j;g=e;d:{if((d|0)<2){break d}while(1){g=e<<2;i=q[g+a>>2];if((i|0)<=(h|0)){g=e;break d}l=g+4|0;q[l+a>>2]=i;q[b+l>>2]=q[b+g>>2];g=-1;i=(e|0)>0;e=e-1|0;if(i){continue}break}}e=(g<<2)+4|0;q[e+a>>2]=h;q[b+e>>2]=f}f=f+1|0;if((f|0)!=(c|0)){continue}break}}return}ja(8884,8908,51);G()}ja(8920,8908,52);G()}ja(8944,8908,53);G()}function Da(a){var b=0,c=0,d=0,e=0,f=0,g=0;Hg(+a);e=Eg(1)|0;Eg(0)|0;b=e;e=b>>>31|0;a:{b:{c:{d:{d=a;e:{f:{b=b&2147483647;g:{if(b>>>0>=1082532651){Hg(+a);b=Eg(1)|0;b=b&2147483647;if((b|0)==2146435072&(Eg(0)|0)!=0|b>>>0>2146435072){return a}if(!(a>709.782712893384^1)){return a*8.98846567431158e+307}if(!(a<-745.1332191019411)|a<-708.3964185322641^1){break g}break b}if(b>>>0<1071001155){break d}if(b>>>0<1072734898){break f}}a=a*1.4426950408889634+v[(e<<3)+54256>>3];if(y(a)<2147483648){b=~~a;break e}b=-2147483648;break e}b=(e^1)-e|0}c=+(b|0);a=d+c*-.6931471803691238;f=c*1.9082149292705877e-10;d=a-f;break c}if(b>>>0<=1043333120){break a}b=0;d=a}c=d;g=a;c=c*c;a=d-c*(c*(c*(c*(c*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);c=g+(d*a/(2-a)-f)+1;if(!b){break b}c=Ja(c,b)}return c}return a+1}function uf(a,b,c,d){var e=0,f=0,g=0,h=0,i=x(0),j=x(0),k=0,l=0,m=0;e=ca-1696|0;ca=e;o[a+4767|0]=4;g=q[a+4640>>2];h=g+q[a+4588>>2]|0;i=Kc(e+1632|0,c,d,h,q[a+4580>>2],g);a:{if(q[a+4664>>2]|!q[a+4632>>2]|q[a+4580>>2]!=4){break a}f=3;d=Kc(e+1536|0,(h<<3)+c|0,d,h,2,q[a+4640>>2]);Mc(b,e+1536|0,q[a+4640>>2]);k=a+4500|0;l=h<<1;i=x(i-d);j=x(3.4028234663852886e+38);while(1){g=f;Eb(e+1600|0,k,b,g,q[a+4640>>2]);zf(e+1536|0,e+1600|0,q[a+4640>>2]);eb(e,e+1536|0,c,l,q[a+4640>>2]);f=q[a+4640>>2];m=ta((f<<2)+e|0,h-f|0);f=q[a+4640>>2];d=x(m+ta(((f<<2)+e|0)+(h<<2)|0,h-f|0));b:{if(!(d<i^1)){o[a+4767|0]=g;i=d;break b}if(d>j){break a}}f=g-1|0;j=d;if(g){continue}break}}c:{if(r[a+4767|0]==4){Mc(b,e+1632|0,q[a+4640>>2]);if(r[a+4767|0]==4){break c}}if(q[a+4580>>2]==4?!(q[a+4664>>2]|!q[a+4632>>2]):0){break c}ja(38228,38393,103);G()}ca=e+1696|0}function ma(a,b,c,d){var e=0,f=0,g=0;f=q[a+28>>2];d=f>>>d|0;e=a;a:{if((b|0)>=1){b=b+c|0;c=b-1|0;q[a+32>>2]=(f+q[a+32>>2]|0)-w(d,r[c|0]);d=w(d,r[c|0]-r[b|0]|0);break a}d=f-w(d,r[b+c|0])|0}q[e+28>>2]=d;if(d>>>0<=8388608){b=q[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=q[a+40>>2];if((e|0)>=0){b=a;d=q[a+24>>2];if(t[a+4>>2]>d+q[a+8>>2]>>>0){q[a+24>>2]=d+1;o[d+q[a>>2]|0]=c+e;d=0}else{d=-1}q[b+44>>2]=d|q[a+44>>2]}b=q[a+36>>2];if(b){g=c-1|0;while(1){d=-1;c=a;e=q[a+24>>2];if(t[a+4>>2]>e+q[a+8>>2]>>>0){q[a+24>>2]=e+1;o[e+q[a>>2]|0]=g;d=0;b=q[a+36>>2]}b=b-1|0;q[c+36>>2]=b;q[a+44>>2]=q[a+44>>2]|d;if(b){continue}break}}q[a+40>>2]=f&255;d=q[a+28>>2];b=q[a+32>>2];break b}q[a+36>>2]=q[a+36>>2]+1}d=d<<8;q[a+28>>2]=d;b=b<<8&2147483392;q[a+32>>2]=b;q[a+20>>2]=q[a+20>>2]+8;if(d>>>0<8388609){continue}break}}}function Fe(a,b,c){var d=0,e=0,f=0;if(!(!(1<<b&69888)|b>>>0>16)){a:{b:{d=q[a+2324>>2];switch(d-2|0){case 0:case 2:break a;default:break b}}ja(6652,6630,44);G()}q[a+2332>>2]=w(b,5);d=w(d,w(b,327680)>>16);c:{d:{if(!(q[a+2320>>2]==(c|0)?q[a+2316>>2]==(b|0):0)){e=cb(a+2432|0,w(b,1e3),c,0);q[a+2320>>2]=c;if(q[a+2316>>2]!=(b|0)){break d}}f=1;if((d|0)==q[a+2328>>2]){break c}}c=q[a+2324>>2]==4;q[a+2384>>2]=(b|0)==8?c?2722:2745:c?2688:2733;if(!f){q[a+2336>>2]=w(b,20);c=(b&-5)==8;q[a+2732>>2]=c?4152:6276;q[a+2340>>2]=c?10:16;c=6448;e:{f:{switch(b-12|0){default:c=6433;if((b|0)==8){break e}ja(6739,6630,89);G();case 0:break f;case 4:break e}}c=6442}q[a+2376>>2]=1;q[a+2380>>2]=c;q[a+4164>>2]=0;o[a+2312|0]=10;q[a+2308>>2]=100;la(a+1284|0,0,1024)}q[a+2328>>2]=d;q[a+2316>>2]=b}reLine truncated
|
||||
|
||||
|
||||
|
||||
function Ce(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52557;K(58240,q[a+12>>2],4,0,-1);ca=a+16|0}function Ae(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52575;K(58264,q[a+12>>2],4,0,-1);ca=a+16|0}function ze(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52589;S(58276,q[a+12>>2],4);ca=a+16|0}function ye(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52595;S(58288,q[a+12>>2],8);ca=a+16|0}function xe(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52706;J(53684,0,q[a+12>>2]);ca=a+16|0}function we(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52950;J(53404,4,q[a+12>>2]);ca=a+16|0}function ve(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52980;J(53364,5,q[a+12>>2]);ca=a+16|0}function ue(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=53218;J(53324,6,q[a+12>>2]);ca=a+16|0}function te(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=53249;J(53284,7,q[a+12>>2]);ca=a+16|0}function qc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53644,0,q[b+12>>2]);ca=b+16|0}function pc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53604,1,q[b+12>>2]);ca=b+16|0}function nc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53564,2,q[b+12>>2]);ca=b+16|0}function mc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53524,3,q[b+12>>2]);ca=b+16|0}function lc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53484,4,q[b+12>>2]);ca=b+16|0}function kc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53444,5,q[b+12>>2]);ca=b+16|0}function re(a){var b=0,c=0;b=We(a)+1|0;c=Ra(b);if(!c){return 0}return ka(c,a,b)}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(qa(a,q[b+8>>2],0)){vb(b,c,d)}}function jd(){var a=0;Ve();a=ca-16|0;ca=a;q[a+12>>2]=58612;rc();ca=a+16|0}function ie(a,b){var c=0;c=ca-16|0;ca=c;q[c+12>>2]=b;oe(a,b);ca=c+16|0}function Md(a){a=a|0;return(a+7>>>0<=7?q[1184-(a<<2)>>2]:1353)|0}function bc(a,b){var c=0,d=0;c=b,d=na(a,6377,8),q[c>>2]=d}function be(a,b,c){a=a|0;b=b|0;c=c|0;return qa(a,b,0)|0}function Ia(a){a=Ra(a?a:1);if(!a){P();G()}return a}function ec(a,b){if(!a){return 0}return ee(a,b)}function Ha(a,b,c){if(!(r[a|0]&32)){Xe(b,c,a)}}function yg(a,b,c,d){a=wg(a,b,c,d);return a}function ge(a){a=a|0;return _(q[a+60>>2])|0}function Ke(a,b){a=a|0;b=b|0;ea[a|0](b)}function Fc(a,b,c,d){Ic(a,b,c,d)}
|
||||
|
||||
|
||||
|
||||
function xc(a){la(a+12|0,0,13992)}function Ue(a){a=a|0;return 52160}function ce(a){a=a|0;return a|0}function Xc(a,b){ma(a,b,6377,8)}function Sa(a){a=a|0;Ca(a)}function tc(a){a=a|0}
|
||||
// EMSCRIPTEN_END_FUNCS
|
||||
a=r;Dg(Ug);var ea=Bg([null,ff,Ue,sc,Te,Se,Re,Qe,Pe,Oe,Ne,Me,Le,Ke,sc,ge,fe,he,ce,Sa,tc,tc,ae,$d,_d,Zd,Sa,be,Sa,Qd,Sd,Yd,Sa,Rd,Td,Xd,Sa,Vd]);function Jg(){return n.byteLength/65536|0}function Kg(Vg){Vg=Vg|0;var fa=Jg()|0;var ga=fa+Vg|0;if(fa<ga&&ga<65536){var ha=new ArrayBuffer(w(ga,65536));var ia=new Int8Array(ha);ia.set(o);o=new Int8Array(ha);p=new Int16Array(ha);q=new Int32Array(ha);r=new Uint8Array(ha);s=new Uint16Array(ha);t=new Uint32Array(ha);u=new Float32Array(ha);v=new Float64Array(ha);n=ha;m.buffer=n;a=r}return fa}return{"w":jd,"x":Md,"y":Ra,"z":Ca,"A":ea,"B":se,"C":rc,"D":Pd}}return Ig(Lg)}
|
||||
|
||||
|
||||
// EMSCRIPTEN_END_ASM
|
||||
|
||||
|
||||
|
||||
|
||||
)(ra)}var sa=Error,WebAssembly={};ma=[];"object"!==typeof WebAssembly&&B("no native wasm support detected");var C,ta=!1;function assert(b,a){b||B("Assertion failed: "+a)}
|
||||
var ua="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
||||
function va(b,a,c){var d=a+c;for(c=a;b[c]&&!(c>=d);)++c;if(16<c-a&&b.subarray&&ua)return ua.decode(b.subarray(a,c));for(d="";a<c;){var e=b[a++];if(e&128){var f=b[a++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var l=b[a++]&63;e=224==(e&240)?(e&15)<<12|f<<6|l:(e&7)<<18|f<<12|l<<6|b[a++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}
|
||||
function xa(b,a,c){var d=D;if(0<c){c=a+c-1;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}if(127>=f){if(a>=c)break;d[a++]=f}else{if(2047>=f){if(a+1>=c)break;d[a++]=192|f>>6}else{if(65535>=f){if(a+2>=c)break;d[a++]=224|f>>12}else{if(a+3>=c)break;d[a++]=240|f>>18;d[a++]=128|f>>12&63}d[a++]=128|f>>6&63}d[a++]=128|f&63}}d[a]=0}}var ya="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
|
||||
function za(b,a){var c=b>>1;for(var d=c+a/2;!(c>=d)&&Aa[c];)++c;c<<=1;if(32<c-b&&ya)return ya.decode(D.subarray(b,c));c="";for(d=0;!(d>=a/2);++d){var e=E[b+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}function Ba(b,a,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)E[a>>1]=b.charCodeAt(e),a+=2;E[a>>1]=0;return a-d}function Ca(b){return 2*b.length}
|
||||
function Da(b,a){for(var c=0,d="";!(c>=a/4);){var e=F[b+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}function Ea(b,a,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}F[a>>2]=f;a+=4;if(a+4>c)break}F[a>>2]=0;return a-d}
|
||||
function Fa(b){for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);55296<=d&&57343>=d&&++c;a+=4}return a}var G,H,D,E,Aa,F,I,Ga,Ha;function Ia(b){G=b;g.HEAP8=H=new Int8Array(b);g.HEAP16=E=new Int16Array(b);g.HEAP32=F=new Int32Array(b);g.HEAPU8=D=new Uint8Array(b);g.HEAPU16=Aa=new Uint16Array(b);g.HEAPU32=I=new Uint32Array(b);g.HEAPF32=Ga=new Float32Array(b);g.HEAPF64=Ha=new Float64Array(b)}var oa=g.INITIAL_MEMORY||16777216;g.wasmMemory?C=g.wasmMemory:C=new na;C&&(G=C.buffer);oa=G.byteLength;Ia(G);
|
||||
var Ja,Ka=[],La=[],Ma=[],Na=[];La.push({ea:function(){Oa()}});function Qa(){var b=g.preRun.shift();Ka.unshift(b)}var J=0,Ra=null,Sa=null;g.preloadedImages={};g.preloadedAudios={};function B(b){if(g.onAbort)g.onAbort(b);la(b);ta=!0;b=new sa("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");ba(b);throw b;}function Ta(b){var a=Ua;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}var Ua="data:application/octet-stream;base64,",Va="opusscript_native_nasm.wasm";
|
||||
if(!Ta(Va)){var Wa=Va;Va=g.locateFile?g.locateFile(Wa,y):y+Wa}
|
||||
function Xa(){var b=Va;try{try{if(b==Va&&ma)new Uint8Array(ma);else if(!A(b))if(z)z(b);else throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(d){B(d)}var a=new pa;var c=new qa}catch(d){throw b=d.toString(),la("failed to compile wasm module: "+b),(0<=b.indexOf("imported Memory")||0<=b.indexOf("memory import"))&&la("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),d;
|
||||
}return[c,a]}var K,Ya;function Za(b){for(;0<b.length;){var a=b.shift();if("function"==typeof a)a(g);else{var c=a.ea;"number"===typeof c?void 0===a.Y?Ja.get(c)():Ja.get(c)(a.Y):c(void 0===a.Y?null:a.Y)}}}function $a(b){this.G=b-16;this.sa=function(a){F[this.G+8>>2]=a};this.pa=function(a){F[this.G+0>>2]=a};this.qa=function(){F[this.G+4>>2]=0};this.oa=function(){H[this.G+12>>0]=0};this.ra=function(){H[this.G+13>>0]=0};this.ia=function(a,c){this.sa(a);this.pa(c);this.qa();this.oa();this.ra()}}
|
||||
var ab=0;function bb(b){switch(b){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+b);}}var cb=void 0;function L(b){for(var a="";D[b];)a+=cb[D[b++]];return a}var M={},N={},db={};function eb(b){if(void 0===b)return"_unknown";b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?"_"+b:b}
|
||||
function fb(b,a){b=eb(b);return(new Function("body","return function "+b+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(a)}function gb(b){var a=Error,c=fb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
|
||||
var O=void 0;function P(b){throw new O(b);}var hb=void 0;function ib(b){throw new hb(b);}function Q(b,a,c){function d(h){h=c(h);h.length!==b.length&&ib("Mismatched type converter count");for(var n=0;n<b.length;++n)R(b[n],h[n])}b.forEach(function(h){db[h]=a});var e=Array(a.length),f=[],l=0;a.forEach(function(h,n){N.hasOwnProperty(h)?e[n]=N[h]:(f.push(h),M.hasOwnProperty(h)||(M[h]=[]),M[h].push(function(){e[n]=N[h];++l;l===f.length&&d(e)}))});0===f.length&&d(e)}
|
||||
function R(b,a,c){c=c||{};if(!("argPackAdvance"in a))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=a.name;b||P('type "'+d+'" must have a positive integer typeid pointer');if(N.hasOwnProperty(b)){if(c.ha)return;P("Cannot register type '"+d+"' twice")}N[b]=a;delete db[b];M.hasOwnProperty(b)&&(a=M[b],delete M[b],a.forEach(function(e){e()}))}function jb(b){return{count:b.count,S:b.S,U:b.U,G:b.G,I:b.I,K:b.K,L:b.L}}
|
||||
function kb(b){P(b.F.I.H.name+" instance already deleted")}var lb=!1;function mb(){}function nb(b){--b.count.value;0===b.count.value&&(b.K?b.L.P(b.K):b.I.H.P(b.G))}function ob(b){if("undefined"===typeof FinalizationGroup)return ob=function(a){return a},b;lb=new FinalizationGroup(function(a){for(var c=a.next();!c.done;c=a.next())c=c.value,c.G?nb(c):console.warn("object already deleted: "+c.G)});ob=function(a){lb.register(a,a.F,a.F);return a};mb=function(a){lb.unregister(a.F)};return ob(b)}
|
||||
var pb=void 0,qb=[];function rb(){for(;qb.length;){var b=qb.pop();b.F.S=!1;b["delete"]()}}function S(){}var ub={};function vb(b,a,c){if(void 0===b[a].J){var d=b[a];b[a]=function(){b[a].J.hasOwnProperty(arguments.length)||P("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+b[a].J+")!");return b[a].J[arguments.length].apply(this,arguments)};b[a].J=[];b[a].J[d.R]=d}}
|
||||
function wb(b,a){g.hasOwnProperty(b)?(P("Cannot register public name '"+b+"' twice"),vb(g,b,b),g.hasOwnProperty(void 0)&&P("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),g[b].J[void 0]=a):g[b]=a}function xb(b,a,c,d,e,f,l,h){this.name=b;this.constructor=a;this.T=c;this.P=d;this.M=e;this.fa=f;this.V=l;this.da=h;this.ka=[]}
|
||||
function yb(b,a,c){for(;a!==c;)a.V||P("Expected null or instance of "+c.name+", got an instance of "+a.name),b=a.V(b),a=a.M;return b}function zb(b,a){if(null===a)return this.Z&&P("null is not a valid "+this.name),0;a.F||P('Cannot pass "'+T(a)+'" as a '+this.name);a.F.G||P("Cannot pass deleted object as a pointer of type "+this.name);return yb(a.F.G,a.F.I.H,this.H)}
|
||||
function Ab(b,a){if(null===a){this.Z&&P("null is not a valid "+this.name);if(this.X){var c=this.la();null!==b&&b.push(this.P,c);return c}return 0}a.F||P('Cannot pass "'+T(a)+'" as a '+this.name);a.F.G||P("Cannot pass deleted object as a pointer of type "+this.name);!this.W&&a.F.I.W&&P("Cannot convert argument of type "+(a.F.L?a.F.L.name:a.F.I.name)+" to parameter type "+this.name);c=yb(a.F.G,a.F.I.H,this.H);if(this.X)switch(void 0===a.F.K&&P("Passing raw pointer to smart pointer is illegal"),this.ta){case 0:a.F.L===
|
||||
this?c=a.F.K:P("Cannot convert argument of type "+(a.F.L?a.F.L.name:a.F.I.name)+" to parameter type "+this.name);break;case 1:c=a.F.K;break;case 2:if(a.F.L===this)c=a.F.K;else{var d=a.clone();c=this.ma(c,Bb(function(){d["delete"]()}));null!==b&&b.push(this.P,c)}break;default:P("Unsupporting sharing policy")}return c}
|
||||
function Cb(b,a){if(null===a)return this.Z&&P("null is not a valid "+this.name),0;a.F||P('Cannot pass "'+T(a)+'" as a '+this.name);a.F.G||P("Cannot pass deleted object as a pointer of type "+this.name);a.F.I.W&&P("Cannot convert argument of type "+a.F.I.name+" to parameter type "+this.name);return yb(a.F.G,a.F.I.H,this.H)}function Db(b){return this.fromWireType(I[b>>2])}function Eb(b,a,c){if(a===c)return b;if(void 0===c.M)return null;b=Eb(b,a,c.M);return null===b?null:c.da(b)}var Fb={};
|
||||
function Gb(b,a){for(void 0===a&&P("ptr should not be undefined");b.M;)a=b.V(a),b=b.M;return Fb[a]}function Hb(b,a){a.I&&a.G||ib("makeClassHandle requires ptr and ptrType");!!a.L!==!!a.K&&ib("Both smartPtrType and smartPtr must be specified");a.count={value:1};return ob(Object.create(b,{F:{value:a}}))}function U(b,a,c,d){this.name=b;this.H=a;this.Z=c;this.W=d;this.X=!1;this.P=this.ma=this.la=this.aa=this.ta=this.ja=void 0;void 0!==a.M?this.toWireType=Ab:(this.toWireType=d?zb:Cb,this.N=null)}
|
||||
function Ib(b,a){g.hasOwnProperty(b)||ib("Replacing nonexistant public symbol");g[b]=a;g[b].R=void 0}function Jb(b,a){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];-1!=b.indexOf("j")?(d=g["dynCall_"+b],d=c&&c.length?d.apply(null,[a].concat(c)):d.call(null,a)):d=Ja.get(a).apply(null,c);return d}}
|
||||
function V(b,a){b=L(b);var c=-1!=b.indexOf("j")?Jb(b,a):Ja.get(a);"function"!==typeof c&&P("unknown function pointer with signature "+b+": "+a);return c}var Kb=void 0;function Lb(b){b=Mb(b);var a=L(b);X(b);return a}function Nb(b,a){function c(f){e[f]||N[f]||(db[f]?db[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};a.forEach(c);throw new Kb(b+": "+d.map(Lb).join([", "]));}
|
||||
function Ob(b){var a=Function;if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=fb(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;b=a.apply(c,b);return b instanceof Object?b:c}function Pb(b){for(;b.length;){var a=b.pop();b.pop()(a)}}
|
||||
function Qb(b,a,c,d,e){var f=a.length;2>f&&P("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==a[1]&&null!==c,h=!1;for(c=1;c<a.length;++c)if(null!==a[c]&&void 0===a[c].N){h=!0;break}var n="void"!==a[0].name,k="",m="";for(c=0;c<f-2;++c)k+=(0!==c?", ":"")+"arg"+c,m+=(0!==c?", ":"")+"arg"+c+"Wired";b="return function "+eb(b)+"("+k+") {\nif (arguments.length !== "+(f-2)+") {\nthrowBindingError('function "+b+" called with ' + arguments.length + ' arguments, expected "+
|
||||
(f-2)+" args!');\n}\n";h&&(b+="var destructors = [];\n");var p=h?"destructors":"null";k="throwBindingError invoker fn runDestructors retType classParam".split(" ");d=[P,d,e,Pb,a[0],a[1]];l&&(b+="var thisWired = classParam.toWireType("+p+", this);\n");for(c=0;c<f-2;++c)b+="var arg"+c+"Wired = argType"+c+".toWireType("+p+", arg"+c+"); // "+a[c+2].name+"\n",k.push("argType"+c),d.push(a[c+2]);l&&(m="thisWired"+(0<m.length?", ":"")+m);b+=(n?"var rv = ":"")+"invoker(fn"+(0<m.length?", ":"")+m+");\n";if(h)b+=
|
||||
"runDestructors(destructors);\n";else for(c=l?1:2;c<a.length;++c)f=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==a[c].N&&(b+=f+"_dtor("+f+"); // "+a[c].name+"\n",k.push(f+"_dtor"),d.push(a[c].N));n&&(b+="var ret = retType.fromWireType(rv);\nreturn ret;\n");k.push(b+"}\n");return Ob(k).apply(null,d)}function Rb(b,a){for(var c=[],d=0;d<b;d++)c.push(F[(a>>2)+d]);return c}var Sb=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
|
||||
function Bb(b){switch(b){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var a=Sb.length?Sb.pop():Y.length;Y[a]={na:1,value:b};return a}}function T(b){if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b}function Tb(b,a){switch(a){case 2:return function(c){return this.fromWireType(Ga[c>>2])};case 3:return function(c){return this.fromWireType(Ha[c>>3])};default:throw new TypeError("Unknown float type: "+b);}}
|
||||
function Ub(b,a,c){switch(a){case 0:return c?function(d){return H[d]}:function(d){return D[d]};case 1:return c?function(d){return E[d>>1]}:function(d){return Aa[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+b);}}for(var Vb=[null,[],[]],Wb=Array(256),Xb=0;256>Xb;++Xb)Wb[Xb]=String.fromCharCode(Xb);cb=Wb;O=g.BindingError=gb("BindingError");hb=g.InternalError=gb("InternalError");
|
||||
S.prototype.isAliasOf=function(b){if(!(this instanceof S&&b instanceof S))return!1;var a=this.F.I.H,c=this.F.G,d=b.F.I.H;for(b=b.F.G;a.M;)c=a.V(c),a=a.M;for(;d.M;)b=d.V(b),d=d.M;return a===d&&c===b};S.prototype.clone=function(){this.F.G||kb(this);if(this.F.U)return this.F.count.value+=1,this;var b=ob(Object.create(Object.getPrototypeOf(this),{F:{value:jb(this.F)}}));b.F.count.value+=1;b.F.S=!1;return b};
|
||||
S.prototype["delete"]=function(){this.F.G||kb(this);this.F.S&&!this.F.U&&P("Object already scheduled for deletion");mb(this);nb(this.F);this.F.U||(this.F.K=void 0,this.F.G=void 0)};S.prototype.isDeleted=function(){return!this.F.G};S.prototype.deleteLater=function(){this.F.G||kb(this);this.F.S&&!this.F.U&&P("Object already scheduled for deletion");qb.push(this);1===qb.length&&pb&&pb(rb);this.F.S=!0;return this};U.prototype.ga=function(b){this.aa&&(b=this.aa(b));return b};
|
||||
U.prototype.$=function(b){this.P&&this.P(b)};U.prototype.argPackAdvance=8;U.prototype.readValueFromPointer=Db;U.prototype.deleteObject=function(b){if(null!==b)b["delete"]()};
|
||||
U.prototype.fromWireType=function(b){function a(){return this.X?Hb(this.H.T,{I:this.ja,G:c,L:this,K:b}):Hb(this.H.T,{I:this,G:b})}var c=this.ga(b);if(!c)return this.$(b),null;var d=Gb(this.H,c);if(void 0!==d){if(0===d.F.count.value)return d.F.G=c,d.F.K=b,d.clone();d=d.clone();this.$(b);return d}d=this.H.fa(c);d=ub[d];if(!d)return a.call(this);d=this.W?d.ba:d.pointerType;var e=Eb(c,this.H,d.H);return null===e?a.call(this):this.X?Hb(d.H.T,{I:d,G:e,L:this,K:b}):Hb(d.H.T,{I:d,G:e})};
|
||||
g.getInheritedInstanceCount=function(){return Object.keys(Fb).length};g.getLiveInheritedInstances=function(){var b=[],a;for(a in Fb)Fb.hasOwnProperty(a)&&b.push(Fb[a]);return b};g.flushPendingDeletes=rb;g.setDelayFunction=function(b){pb=b;qb.length&&pb&&pb(rb)};Kb=g.UnboundTypeError=gb("UnboundTypeError");g.count_emval_handles=function(){for(var b=0,a=5;a<Y.length;++a)void 0!==Y[a]&&++b;return b};g.get_first_emval=function(){for(var b=5;b<Y.length;++b)if(void 0!==Y[b])return Y[b];return null};
|
||||
var Yb=!1;function ia(b){for(var a=[],c=0;c<b.length;c++){var d=b[c];255<d&&(Yb&&assert(!1,"Character code "+d+" ("+String.fromCharCode(d)+") at offset "+c+" not in 0x00-0xFF."),d&=255);a.push(String.fromCharCode(d))}return a.join("")}
|
||||
var Zb="function"===typeof atob?atob:function(b){var a="",c=0;b=b.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));d=d<<2|e>>4;
|
||||
e=(e&15)<<4|f>>2;var h=(f&3)<<6|l;a+=String.fromCharCode(d);64!==f&&(a+=String.fromCharCode(e));64!==l&&(a+=String.fromCharCode(h))}while(c<b.length);return a};
|
||||
function A(b){if(Ta(b)){b=b.slice(Ua.length);if("boolean"===typeof w&&w){try{var a=Buffer.from(b,"base64")}catch(f){a=new Buffer(b,"base64")}var c=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)}else try{var d=Zb(b),e=new Uint8Array(d.length);for(a=0;a<d.length;++a)e[a]=d.charCodeAt(a);c=e}catch(f){throw Error("Converting base64 string to bytes failed.");}return c}}
|
||||
var ra={j:function(b){return $b(b+16)+16},i:function(b,a,c){(new $a(b)).ia(a,c);ab++;throw b;},l:function(b,a,c,d,e){var f=bb(c);a=L(a);R(b,{name:a,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:e},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=H;else if(2===c)h=E;else if(4===c)h=F;else throw new TypeError("Unknown boolean type size: "+a);return this.fromWireType(h[l>>f])},N:null})},v:function(b,a,c,d,e,f,l,h,n,k,m,p,q){m=L(m);f=V(e,f);h&&(h=V(l,h));k&&(k=
|
||||
V(n,k));q=V(p,q);var x=eb(m);wb(x,function(){Nb("Cannot construct "+m+" due to unbound types",[d])});Q([b,a,c],d?[d]:[],function(u){u=u[0];if(d){var wa=u.H;var ja=wa.T}else ja=S.prototype;u=fb(x,function(){if(Object.getPrototypeOf(this)!==Pa)throw new O("Use 'new' to construct "+m);if(void 0===W.O)throw new O(m+" has no accessible constructor");var sb=W.O[arguments.length];if(void 0===sb)throw new O("Tried to invoke ctor of "+m+" with invalid number of parameters ("+arguments.length+") - expected ("+
|
||||
Object.keys(W.O).toString()+") parameters instead!");return sb.apply(this,arguments)});var Pa=Object.create(ja,{constructor:{value:u}});u.prototype=Pa;var W=new xb(m,u,Pa,q,wa,f,h,k);wa=new U(m,W,!0,!1);ja=new U(m+"*",W,!1,!1);var tb=new U(m+" const*",W,!1,!0);ub[b]={pointerType:ja,ba:tb};Ib(x,u);return[wa,ja,tb]})},n:function(b,a,c,d,e,f,l){var h=Rb(c,d);a=L(a);f=V(e,f);Q([],[b],function(n){function k(){Nb("Cannot call "+m+" due to unbound types",h)}n=n[0];var m=n.name+"."+a,p=n.H.constructor;void 0===
|
||||
p[a]?(k.R=c-1,p[a]=k):(vb(p,a,m),p[a].J[c-1]=k);Q([],h,function(q){q=[q[0],null].concat(q.slice(1));q=Qb(m,q,null,f,l);void 0===p[a].J?(q.R=c-1,p[a]=q):p[a].J[c-1]=q;return[]});return[]})},u:function(b,a,c,d,e,f){assert(0<a);var l=Rb(a,c);e=V(d,e);var h=[f],n=[];Q([],[b],function(k){k=k[0];var m="constructor "+k.name;void 0===k.H.O&&(k.H.O=[]);if(void 0!==k.H.O[a-1])throw new O("Cannot register multiple constructors with identical number of parameters ("+(a-1)+") for class '"+k.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");
|
||||
k.H.O[a-1]=function(){Nb("Cannot construct "+k.name+" due to unbound types",l)};Q([],l,function(p){k.H.O[a-1]=function(){arguments.length!==a-1&&P(m+" called with "+arguments.length+" arguments, expected "+(a-1));n.length=0;h.length=a;for(var q=1;q<a;++q)h[q]=p[q].toWireType(n,arguments[q-1]);q=e.apply(null,h);Pb(n);return p[0].fromWireType(q)};return[]});return[]})},e:function(b,a,c,d,e,f,l,h){var n=Rb(c,d);a=L(a);f=V(e,f);Q([],[b],function(k){function m(){Nb("Cannot call "+p+" due to unbound types",
|
||||
n)}k=k[0];var p=k.name+"."+a;h&&k.H.ka.push(a);var q=k.H.T,x=q[a];void 0===x||void 0===x.J&&x.className!==k.name&&x.R===c-2?(m.R=c-2,m.className=k.name,q[a]=m):(vb(q,a,p),q[a].J[c-2]=m);Q([],n,function(u){u=Qb(p,u,k,f,l);void 0===q[a].J?(u.R=c-2,q[a]=u):q[a].J[c-2]=u;return[]});return[]})},t:function(b,a){a=L(a);R(b,{name:a,fromWireType:function(c){var d=Y[c].value;4<c&&0===--Y[c].na&&(Y[c]=void 0,Sb.push(c));return d},toWireType:function(c,d){return Bb(d)},argPackAdvance:8,readValueFromPointer:Db,
|
||||
N:null})},k:function(b,a,c){c=bb(c);a=L(a);R(b,{name:a,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+T(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Tb(a,c),N:null})},c:function(b,a,c,d,e){function f(k){return k}a=L(a);-1===e&&(e=4294967295);var l=bb(c);if(0===d){var h=32-8*c;f=function(k){return k<<h>>>h}}var n=-1!=a.indexOf("unsigned");R(b,{name:a,fromWireType:f,toWireType:function(k,
|
||||
m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+T(m)+'" to '+this.name);if(m<d||m>e)throw new TypeError('Passing a number "'+T(m)+'" from JS side to C/C++ side to an argument of type "'+a+'", which is outside the valid range ['+d+", "+e+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:Ub(a,l,0!==d),N:null})},b:function(b,a,c){function d(f){f>>=2;var l=I;return new e(G,l[f+1],l[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,
|
||||
Float32Array,Float64Array][a];c=L(c);R(b,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{ha:!0})},g:function(b,a){a=L(a);var c="std::string"===a;R(b,{name:a,fromWireType:function(d){var e=I[d>>2];if(c)for(var f=d+4,l=0;l<=e;++l){var h=d+4+l;if(l==e||0==D[h]){f=f?va(D,f,h-f):"";if(void 0===n)var n=f;else n+=String.fromCharCode(0),n+=f;f=h+1}}else{n=Array(e);for(l=0;l<e;++l)n[l]=String.fromCharCode(D[d+4+l]);n=n.join("")}X(d);return n},toWireType:function(d,e){e instanceof ArrayBuffer&&
|
||||
(e=new Uint8Array(e));var f="string"===typeof e;f||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||P("Cannot pass non-string to std::string");var l=(c&&f?function(){for(var k=0,m=0;m<e.length;++m){var p=e.charCodeAt(m);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|e.charCodeAt(++m)&1023);127>=p?++k:k=2047>=p?k+2:65535>=p?k+3:k+4}return k}:function(){return e.length})(),h=$b(4+l+1);I[h>>2]=l;if(c&&f)xa(e,h+4,l+1);else if(f)for(f=0;f<l;++f){var n=e.charCodeAt(f);255<n&&
|
||||
(X(h),P("String has UTF-16 code units that do not fit in 8 bits"));D[h+4+f]=n}else for(f=0;f<l;++f)D[h+4+f]=e[f];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:Db,N:function(d){X(d)}})},f:function(b,a,c){c=L(c);if(2===a){var d=za;var e=Ba;var f=Ca;var l=function(){return Aa};var h=1}else 4===a&&(d=Da,e=Ea,f=Fa,l=function(){return I},h=2);R(b,{name:c,fromWireType:function(n){for(var k=I[n>>2],m=l(),p,q=n+4,x=0;x<=k;++x){var u=n+4+x*a;if(x==k||0==m[u>>h])q=d(q,u-q),void 0===p?
|
||||
p=q:(p+=String.fromCharCode(0),p+=q),q=u+a}X(n);return p},toWireType:function(n,k){"string"!==typeof k&&P("Cannot pass non-string to C++ string type "+c);var m=f(k),p=$b(4+m+a);I[p>>2]=m>>h;e(k,p+4,m+a);null!==n&&n.push(X,p);return p},argPackAdvance:8,readValueFromPointer:Db,N:function(n){X(n)}})},m:function(b,a){a=L(a);R(b,{ua:!0,name:a,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},h:function(){B()},q:function(b,a,c){D.copyWithin(b,a,a+c)},d:function(b){b>>>=0;var a=D.length;
|
||||
if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);d=Math.max(16777216,b,d);0<d%65536&&(d+=65536-d%65536);a:{try{C.grow(Math.min(2147483648,d)-G.byteLength+65535>>>16);Ia(C.buffer);var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},s:function(){return 0},o:function(){},r:function(b,a,c,d){for(var e=0,f=0;f<c;f++){for(var l=F[a+8*f>>2],h=F[a+(8*f+4)>>2],n=0;n<h;n++){var k=D[l+n],m=Vb[b];0===k||10===k?((1===b?ka:la)(va(m,0)),m.length=0):m.push(k)}e+=h}F[d>>
|
||||
2]=e;return 0},a:C,p:function(){}},Z=function(){function b(c){g.asm=c.exports;Ja=g.asm.A;J--;g.monitorRunDependencies&&g.monitorRunDependencies(J);0==J&&(null!==Ra&&(clearInterval(Ra),Ra=null),Sa&&(c=Sa,Sa=null,c()))}var a={a:ra};J++;g.monitorRunDependencies&&g.monitorRunDependencies(J);if(g.instantiateWasm)try{return g.instantiateWasm(a,b)}catch(c){return la("Module.instantiateWasm callback failed with error: "+c),!1}a=Xa();b(a[0],a[1]);return g.asm}(),Oa=g.___wasm_call_ctors=Z.w;
|
||||
g._opus_strerror=Z.x;var $b=g._malloc=Z.y,X=g._free=Z.z,Mb=g.___getTypeName=Z.B;g.___embind_register_native_and_builtin_types=Z.C;g.dynCall_jiji=Z.D;
|
||||
g.setValue=function(b,a,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":H[b>>0]=a;break;case "i8":H[b>>0]=a;break;case "i16":E[b>>1]=a;break;case "i32":F[b>>2]=a;break;case "i64":Ya=[a>>>0,(K=a,1<=+Math.abs(K)?0<K?(Math.min(+Math.floor(K/4294967296),4294967295)|0)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)];F[b>>2]=Ya[0];F[b+4>>2]=Ya[1];break;case "float":Ga[b>>2]=a;break;case "double":Ha[b>>3]=a;break;default:B("invalid type for setValue: "+c)}};
|
||||
g.getValue=function(b,a){a=a||"i8";"*"===a.charAt(a.length-1)&&(a="i32");switch(a){case "i1":return H[b>>0];case "i8":return H[b>>0];case "i16":return E[b>>1];case "i32":return F[b>>2];case "i64":return F[b>>2];case "float":return Ga[b>>2];case "double":return Ha[b>>3];default:B("invalid type for getValue: "+a)}return null};var ac;Sa=function bc(){ac||cc();ac||(Sa=bc)};
|
||||
function cc(){function b(){if(!ac&&(ac=!0,g.calledRun=!0,!ta)){Za(La);Za(Ma);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var a=g.postRun.shift();Na.unshift(a)}Za(Na)}}if(!(0<J)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Qa();Za(Ka);0<J||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);b()},1)):b())}}
|
||||
g.run=cc;if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();noExitRuntime=!0;cc();
|
||||
|
||||
|
||||
return Module
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = Module;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return Module; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["Module"] = Module;
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
|
||||
var Module = (function() {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(Module) {
|
||||
Module = Module || {};
|
||||
|
||||
|
||||
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var aa,ba;g.ready=new Promise(function(b,a){aa=b;ba=a});var r={},t;for(t in g)g.hasOwnProperty(t)&&(r[t]=g[t]);var ca=!1,v=!1,ea=!1,fa=!1;ca="object"===typeof window;v="function"===typeof importScripts;ea="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;fa=!ca&&!ea&&!v;var w="",ha,y,ia,ja;
|
||||
if(ea)w=v?require("path").dirname(w)+"/":__dirname+"/",ha=function(b,a){ia||(ia=require("fs"));ja||(ja=require("path"));b=ja.normalize(b);return ia.readFileSync(b,a?null:"utf8")},y=function(b){b=ha(b,!0);b.buffer||(b=new Uint8Array(b));assert(b.buffer);return b},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),g.inspect=function(){return"[Emscripten Module object]"};else if(fa)"undefined"!=typeof read&&(ha=function(b){return read(b)}),y=function(b){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(b));
|
||||
b=read(b,"binary");assert("object"===typeof b);return b},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(ca||v)v?w=self.location.href:"undefined"!==typeof document&&document.currentScript&&(w=document.currentScript.src),_scriptDir&&(w=_scriptDir),0!==w.indexOf("blob:")?w=w.substr(0,w.lastIndexOf("/")+1):w="",ha=function(b){var a=new XMLHttpRequest;a.open("GET",b,!1);a.send(null);
|
||||
return a.responseText},v&&(y=function(b){var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)});var ka=g.print||console.log.bind(console),z=g.printErr||console.warn.bind(console);for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;var la;g.wasmBinary&&(la=g.wasmBinary);var noExitRuntime;g.noExitRuntime&&(noExitRuntime=g.noExitRuntime);"object"!==typeof WebAssembly&&A("no native wasm support detected");var ma,na=!1;
|
||||
function assert(b,a){b||A("Assertion failed: "+a)}var oa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
||||
function pa(b,a,c){var d=a+c;for(c=a;b[c]&&!(c>=d);)++c;if(16<c-a&&b.subarray&&oa)return oa.decode(b.subarray(a,c));for(d="";a<c;){var e=b[a++];if(e&128){var f=b[a++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var l=b[a++]&63;e=224==(e&240)?(e&15)<<12|f<<6|l:(e&7)<<18|f<<12|l<<6|b[a++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}
|
||||
function qa(b,a,c){var d=B;if(0<c){c=a+c-1;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}if(127>=f){if(a>=c)break;d[a++]=f}else{if(2047>=f){if(a+1>=c)break;d[a++]=192|f>>6}else{if(65535>=f){if(a+2>=c)break;d[a++]=224|f>>12}else{if(a+3>=c)break;d[a++]=240|f>>18;d[a++]=128|f>>12&63}d[a++]=128|f>>6&63}d[a++]=128|f&63}}d[a]=0}}var sa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
|
||||
function ta(b,a){var c=b>>1;for(var d=c+a/2;!(c>=d)&&ua[c];)++c;c<<=1;if(32<c-b&&sa)return sa.decode(B.subarray(b,c));c="";for(d=0;!(d>=a/2);++d){var e=C[b+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}function va(b,a,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)C[a>>1]=b.charCodeAt(e),a+=2;C[a>>1]=0;return a-d}function wa(b){return 2*b.length}
|
||||
function xa(b,a){for(var c=0,d="";!(c>=a/4);){var e=D[b+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}function ya(b,a,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}D[a>>2]=f;a+=4;if(a+4>c)break}D[a>>2]=0;return a-d}
|
||||
function za(b){for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);55296<=d&&57343>=d&&++c;a+=4}return a}var Aa,E,B,C,ua,D,F,Ba,Ca;function Da(){var b=ma.buffer;Aa=b;g.HEAP8=E=new Int8Array(b);g.HEAP16=C=new Int16Array(b);g.HEAP32=D=new Int32Array(b);g.HEAPU8=B=new Uint8Array(b);g.HEAPU16=ua=new Uint16Array(b);g.HEAPU32=F=new Uint32Array(b);g.HEAPF32=Ba=new Float32Array(b);g.HEAPF64=Ca=new Float64Array(b);g.HEAP64=new BigInt64Array(b)}var Ea,Fa=[],Ga=[],Ha=[],Ia=[];Ga.push({ba:function(){Ja()}});
|
||||
function Ka(){var b=g.preRun.shift();Fa.unshift(b)}var G=0,La=null,H=null;g.preloadedImages={};g.preloadedAudios={};function A(b){if(g.onAbort)g.onAbort(b);z(b);na=!0;b=new WebAssembly.RuntimeError("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");ba(b);throw b;}var I="opusscript_native_wasm.wasm";if(String.prototype.startsWith?!I.startsWith("data:application/octet-stream;base64,"):0!==I.indexOf("data:application/octet-stream;base64,")){var Ma=I;I=g.locateFile?g.locateFile(Ma,w):w+Ma}
|
||||
function Na(b){var a=I;try{a:{try{if(a==I&&la){var c=new Uint8Array(la);break a}if(y){c=y(a);break a}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(f){A(f)}c=void 0}var d=new WebAssembly.Module(c);var e=new WebAssembly.Instance(d,b)}catch(f){throw b=f.toString(),z("failed to compile wasm module: "+b),(0<=b.indexOf("imported Memory")||0<=b.indexOf("memory import"))&&z("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),
|
||||
f;}return[e,d]}var J,Pa;function Qa(b){for(;0<b.length;){var a=b.shift();if("function"==typeof a)a(g);else{var c=a.ba;"number"===typeof c?void 0===a.W?Ea.get(c)():Ea.get(c)(a.W):c(void 0===a.W?null:a.W)}}}function Ra(b){this.D=b-16;this.qa=function(a){D[this.D+8>>2]=a};this.na=function(a){D[this.D+0>>2]=a};this.oa=function(){D[this.D+4>>2]=0};this.ma=function(){E[this.D+12>>0]=0};this.pa=function(){E[this.D+13>>0]=0};this.ga=function(a,c){this.qa(a);this.na(c);this.oa();this.ma();this.pa()}}
|
||||
var Sa=0;function Ta(b){switch(b){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+b);}}var Ua=void 0;function K(b){for(var a="";B[b];)a+=Ua[B[b++]];return a}var L={},M={},Va={};function Wa(b){if(void 0===b)return"_unknown";b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?"_"+b:b}
|
||||
function Xa(b,a){b=Wa(b);return(new Function("body","return function "+b+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(a)}function Ya(b){var a=Error,c=Xa(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
|
||||
var N=void 0;function O(b){throw new N(b);}var Za=void 0;function $a(b){throw new Za(b);}function P(b,a,c){function d(h){h=c(h);h.length!==b.length&&$a("Mismatched type converter count");for(var n=0;n<b.length;++n)Q(b[n],h[n])}b.forEach(function(h){Va[h]=a});var e=Array(a.length),f=[],l=0;a.forEach(function(h,n){M.hasOwnProperty(h)?e[n]=M[h]:(f.push(h),L.hasOwnProperty(h)||(L[h]=[]),L[h].push(function(){e[n]=M[h];++l;l===f.length&&d(e)}))});0===f.length&&d(e)}
|
||||
function Q(b,a,c){c=c||{};if(!("argPackAdvance"in a))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=a.name;b||O('type "'+d+'" must have a positive integer typeid pointer');if(M.hasOwnProperty(b)){if(c.fa)return;O("Cannot register type '"+d+"' twice")}M[b]=a;delete Va[b];L.hasOwnProperty(b)&&(a=L[b],delete L[b],a.forEach(function(e){e()}))}function ab(b){return{count:b.count,P:b.P,S:b.S,D:b.D,G:b.G,I:b.I,J:b.J}}
|
||||
function bb(b){O(b.C.G.F.name+" instance already deleted")}var cb=!1;function db(){}function eb(b){--b.count.value;0===b.count.value&&(b.I?b.J.N(b.I):b.G.F.N(b.D))}function R(b){if("undefined"===typeof FinalizationGroup)return R=function(a){return a},b;cb=new FinalizationGroup(function(a){for(var c=a.next();!c.done;c=a.next())c=c.value,c.D?eb(c):console.warn("object already deleted: "+c.D)});R=function(a){cb.register(a,a.C,a.C);return a};db=function(a){cb.unregister(a.C)};return R(b)}
|
||||
var fb=void 0,gb=[];function hb(){for(;gb.length;){var b=gb.pop();b.C.P=!1;b["delete"]()}}function S(){}var ib={};function jb(b,a,c){if(void 0===b[a].H){var d=b[a];b[a]=function(){b[a].H.hasOwnProperty(arguments.length)||O("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+b[a].H+")!");return b[a].H[arguments.length].apply(this,arguments)};b[a].H=[];b[a].H[d.O]=d}}
|
||||
function kb(b,a){g.hasOwnProperty(b)?(O("Cannot register public name '"+b+"' twice"),jb(g,b,b),g.hasOwnProperty(void 0)&&O("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),g[b].H[void 0]=a):g[b]=a}function lb(b,a,c,d,e,f,l,h){this.name=b;this.constructor=a;this.R=c;this.N=d;this.K=e;this.da=f;this.T=l;this.aa=h;this.ia=[]}
|
||||
function ob(b,a,c){for(;a!==c;)a.T||O("Expected null or instance of "+c.name+", got an instance of "+a.name),b=a.T(b),a=a.K;return b}function pb(b,a){if(null===a)return this.X&&O("null is not a valid "+this.name),0;a.C||O('Cannot pass "'+U(a)+'" as a '+this.name);a.C.D||O("Cannot pass deleted object as a pointer of type "+this.name);return ob(a.C.D,a.C.G.F,this.F)}
|
||||
function qb(b,a){if(null===a){this.X&&O("null is not a valid "+this.name);if(this.V){var c=this.ja();null!==b&&b.push(this.N,c);return c}return 0}a.C||O('Cannot pass "'+U(a)+'" as a '+this.name);a.C.D||O("Cannot pass deleted object as a pointer of type "+this.name);!this.U&&a.C.G.U&&O("Cannot convert argument of type "+(a.C.J?a.C.J.name:a.C.G.name)+" to parameter type "+this.name);c=ob(a.C.D,a.C.G.F,this.F);if(this.V)switch(void 0===a.C.I&&O("Passing raw pointer to smart pointer is illegal"),this.ra){case 0:a.C.J===
|
||||
this?c=a.C.I:O("Cannot convert argument of type "+(a.C.J?a.C.J.name:a.C.G.name)+" to parameter type "+this.name);break;case 1:c=a.C.I;break;case 2:if(a.C.J===this)c=a.C.I;else{var d=a.clone();c=this.ka(c,rb(function(){d["delete"]()}));null!==b&&b.push(this.N,c)}break;default:O("Unsupporting sharing policy")}return c}
|
||||
function sb(b,a){if(null===a)return this.X&&O("null is not a valid "+this.name),0;a.C||O('Cannot pass "'+U(a)+'" as a '+this.name);a.C.D||O("Cannot pass deleted object as a pointer of type "+this.name);a.C.G.U&&O("Cannot convert argument of type "+a.C.G.name+" to parameter type "+this.name);return ob(a.C.D,a.C.G.F,this.F)}function tb(b){return this.fromWireType(F[b>>2])}function ub(b,a,c){if(a===c)return b;if(void 0===c.K)return null;b=ub(b,a,c.K);return null===b?null:c.aa(b)}var vb={};
|
||||
function wb(b,a){for(void 0===a&&O("ptr should not be undefined");b.K;)a=b.T(a),b=b.K;return vb[a]}function xb(b,a){a.G&&a.D||$a("makeClassHandle requires ptr and ptrType");!!a.J!==!!a.I&&$a("Both smartPtrType and smartPtr must be specified");a.count={value:1};return R(Object.create(b,{C:{value:a}}))}function V(b,a,c,d){this.name=b;this.F=a;this.X=c;this.U=d;this.V=!1;this.N=this.ka=this.ja=this.Z=this.ra=this.ha=void 0;void 0!==a.K?this.toWireType=qb:(this.toWireType=d?pb:sb,this.L=null)}
|
||||
function yb(b,a){g.hasOwnProperty(b)||$a("Replacing nonexistant public symbol");g[b]=a;g[b].O=void 0}function W(b,a){b=K(b);var c=Ea.get(a);"function"!==typeof c&&O("unknown function pointer with signature "+b+": "+a);return c}var zb=void 0;function Ab(b){b=Bb(b);var a=K(b);X(b);return a}function Cb(b,a){function c(f){e[f]||M[f]||(Va[f]?Va[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};a.forEach(c);throw new zb(b+": "+d.map(Ab).join([", "]));}
|
||||
function Db(b){var a=Function;if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=Xa(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;b=a.apply(c,b);return b instanceof Object?b:c}function Eb(b){for(;b.length;){var a=b.pop();b.pop()(a)}}
|
||||
function Fb(b,a,c,d,e){var f=a.length;2>f&&O("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==a[1]&&null!==c,h=!1;for(c=1;c<a.length;++c)if(null!==a[c]&&void 0===a[c].L){h=!0;break}var n="void"!==a[0].name,k="",m="";for(c=0;c<f-2;++c)k+=(0!==c?", ":"")+"arg"+c,m+=(0!==c?", ":"")+"arg"+c+"Wired";b="return function "+Wa(b)+"("+k+") {\nif (arguments.length !== "+(f-2)+") {\nthrowBindingError('function "+b+" called with ' + arguments.length + ' arguments, expected "+
|
||||
(f-2)+" args!');\n}\n";h&&(b+="var destructors = [];\n");var p=h?"destructors":"null";k="throwBindingError invoker fn runDestructors retType classParam".split(" ");d=[O,d,e,Eb,a[0],a[1]];l&&(b+="var thisWired = classParam.toWireType("+p+", this);\n");for(c=0;c<f-2;++c)b+="var arg"+c+"Wired = argType"+c+".toWireType("+p+", arg"+c+"); // "+a[c+2].name+"\n",k.push("argType"+c),d.push(a[c+2]);l&&(m="thisWired"+(0<m.length?", ":"")+m);b+=(n?"var rv = ":"")+"invoker(fn"+(0<m.length?", ":"")+m+");\n";if(h)b+=
|
||||
"runDestructors(destructors);\n";else for(c=l?1:2;c<a.length;++c)f=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==a[c].L&&(b+=f+"_dtor("+f+"); // "+a[c].name+"\n",k.push(f+"_dtor"),d.push(a[c].L));n&&(b+="var ret = retType.fromWireType(rv);\nreturn ret;\n");k.push(b+"}\n");return Db(k).apply(null,d)}function Gb(b,a){for(var c=[],d=0;d<b;d++)c.push(D[(a>>2)+d]);return c}var Hb=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
|
||||
function rb(b){switch(b){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var a=Hb.length?Hb.pop():Y.length;Y[a]={la:1,value:b};return a}}function U(b){if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b}function Ib(b,a){switch(a){case 2:return function(c){return this.fromWireType(Ba[c>>2])};case 3:return function(c){return this.fromWireType(Ca[c>>3])};default:throw new TypeError("Unknown float type: "+b);}}
|
||||
function Jb(b,a,c){switch(a){case 0:return c?function(d){return E[d]}:function(d){return B[d]};case 1:return c?function(d){return C[d>>1]}:function(d){return ua[d>>1]};case 2:return c?function(d){return D[d>>2]}:function(d){return F[d>>2]};default:throw new TypeError("Unknown integer type: "+b);}}for(var Kb=[null,[],[]],Lb=Array(256),Mb=0;256>Mb;++Mb)Lb[Mb]=String.fromCharCode(Mb);Ua=Lb;N=g.BindingError=Ya("BindingError");Za=g.InternalError=Ya("InternalError");
|
||||
S.prototype.isAliasOf=function(b){if(!(this instanceof S&&b instanceof S))return!1;var a=this.C.G.F,c=this.C.D,d=b.C.G.F;for(b=b.C.D;a.K;)c=a.T(c),a=a.K;for(;d.K;)b=d.T(b),d=d.K;return a===d&&c===b};S.prototype.clone=function(){this.C.D||bb(this);if(this.C.S)return this.C.count.value+=1,this;var b=R(Object.create(Object.getPrototypeOf(this),{C:{value:ab(this.C)}}));b.C.count.value+=1;b.C.P=!1;return b};
|
||||
S.prototype["delete"]=function(){this.C.D||bb(this);this.C.P&&!this.C.S&&O("Object already scheduled for deletion");db(this);eb(this.C);this.C.S||(this.C.I=void 0,this.C.D=void 0)};S.prototype.isDeleted=function(){return!this.C.D};S.prototype.deleteLater=function(){this.C.D||bb(this);this.C.P&&!this.C.S&&O("Object already scheduled for deletion");gb.push(this);1===gb.length&&fb&&fb(hb);this.C.P=!0;return this};V.prototype.ea=function(b){this.Z&&(b=this.Z(b));return b};
|
||||
V.prototype.Y=function(b){this.N&&this.N(b)};V.prototype.argPackAdvance=8;V.prototype.readValueFromPointer=tb;V.prototype.deleteObject=function(b){if(null!==b)b["delete"]()};
|
||||
V.prototype.fromWireType=function(b){function a(){return this.V?xb(this.F.R,{G:this.ha,D:c,J:this,I:b}):xb(this.F.R,{G:this,D:b})}var c=this.ea(b);if(!c)return this.Y(b),null;var d=wb(this.F,c);if(void 0!==d){if(0===d.C.count.value)return d.C.D=c,d.C.I=b,d.clone();d=d.clone();this.Y(b);return d}d=this.F.da(c);d=ib[d];if(!d)return a.call(this);d=this.U?d.$:d.pointerType;var e=ub(c,this.F,d.F);return null===e?a.call(this):this.V?xb(d.F.R,{G:d,D:e,J:this,I:b}):xb(d.F.R,{G:d,D:e})};
|
||||
g.getInheritedInstanceCount=function(){return Object.keys(vb).length};g.getLiveInheritedInstances=function(){var b=[],a;for(a in vb)vb.hasOwnProperty(a)&&b.push(vb[a]);return b};g.flushPendingDeletes=hb;g.setDelayFunction=function(b){fb=b;gb.length&&fb&&fb(hb)};zb=g.UnboundTypeError=Ya("UnboundTypeError");g.count_emval_handles=function(){for(var b=0,a=5;a<Y.length;++a)void 0!==Y[a]&&++b;return b};g.get_first_emval=function(){for(var b=5;b<Y.length;++b)if(void 0!==Y[b])return Y[b];return null};
|
||||
var Ob={i:function(b){return Nb(b+16)+16},h:function(b,a,c){(new Ra(b)).ga(a,c);Sa++;throw b;},k:function(b,a,c,d,e){var f=Ta(c);a=K(a);Q(b,{name:a,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:e},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=E;else if(2===c)h=C;else if(4===c)h=D;else throw new TypeError("Unknown boolean type size: "+a);return this.fromWireType(h[l>>f])},L:null})},t:function(b,a,c,d,e,f,l,h,n,k,m,p,q){m=K(m);f=W(e,f);h&&(h=W(l,h));k&&(k=
|
||||
W(n,k));q=W(p,q);var x=Wa(m);kb(x,function(){Cb("Cannot construct "+m+" due to unbound types",[d])});P([b,a,c],d?[d]:[],function(u){u=u[0];if(d){var ra=u.F;var da=ra.R}else da=S.prototype;u=Xa(x,function(){if(Object.getPrototypeOf(this)!==Oa)throw new N("Use 'new' to construct "+m);if(void 0===T.M)throw new N(m+" has no accessible constructor");var mb=T.M[arguments.length];if(void 0===mb)throw new N("Tried to invoke ctor of "+m+" with invalid number of parameters ("+arguments.length+") - expected ("+
|
||||
Object.keys(T.M).toString()+") parameters instead!");return mb.apply(this,arguments)});var Oa=Object.create(da,{constructor:{value:u}});u.prototype=Oa;var T=new lb(m,u,Oa,q,ra,f,h,k);ra=new V(m,T,!0,!1);da=new V(m+"*",T,!1,!1);var nb=new V(m+" const*",T,!1,!0);ib[b]={pointerType:da,$:nb};yb(x,u);return[ra,da,nb]})},m:function(b,a,c,d,e,f,l){var h=Gb(c,d);a=K(a);f=W(e,f);P([],[b],function(n){function k(){Cb("Cannot call "+m+" due to unbound types",h)}n=n[0];var m=n.name+"."+a,p=n.F.constructor;void 0===
|
||||
p[a]?(k.O=c-1,p[a]=k):(jb(p,a,m),p[a].H[c-1]=k);P([],h,function(q){q=[q[0],null].concat(q.slice(1));q=Fb(m,q,null,f,l);void 0===p[a].H?(q.O=c-1,p[a]=q):p[a].H[c-1]=q;return[]});return[]})},s:function(b,a,c,d,e,f){assert(0<a);var l=Gb(a,c);e=W(d,e);var h=[f],n=[];P([],[b],function(k){k=k[0];var m="constructor "+k.name;void 0===k.F.M&&(k.F.M=[]);if(void 0!==k.F.M[a-1])throw new N("Cannot register multiple constructors with identical number of parameters ("+(a-1)+") for class '"+k.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");
|
||||
k.F.M[a-1]=function(){Cb("Cannot construct "+k.name+" due to unbound types",l)};P([],l,function(p){k.F.M[a-1]=function(){arguments.length!==a-1&&O(m+" called with "+arguments.length+" arguments, expected "+(a-1));n.length=0;h.length=a;for(var q=1;q<a;++q)h[q]=p[q].toWireType(n,arguments[q-1]);q=e.apply(null,h);Eb(n);return p[0].fromWireType(q)};return[]});return[]})},d:function(b,a,c,d,e,f,l,h){var n=Gb(c,d);a=K(a);f=W(e,f);P([],[b],function(k){function m(){Cb("Cannot call "+p+" due to unbound types",
|
||||
n)}k=k[0];var p=k.name+"."+a;h&&k.F.ia.push(a);var q=k.F.R,x=q[a];void 0===x||void 0===x.H&&x.className!==k.name&&x.O===c-2?(m.O=c-2,m.className=k.name,q[a]=m):(jb(q,a,p),q[a].H[c-2]=m);P([],n,function(u){u=Fb(p,u,k,f,l);void 0===q[a].H?(u.O=c-2,q[a]=u):q[a].H[c-2]=u;return[]});return[]})},r:function(b,a){a=K(a);Q(b,{name:a,fromWireType:function(c){var d=Y[c].value;4<c&&0===--Y[c].la&&(Y[c]=void 0,Hb.push(c));return d},toWireType:function(c,d){return rb(d)},argPackAdvance:8,readValueFromPointer:tb,
|
||||
L:null})},j:function(b,a,c){c=Ta(c);a=K(a);Q(b,{name:a,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+U(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Ib(a,c),L:null})},b:function(b,a,c,d,e){function f(k){return k}a=K(a);-1===e&&(e=4294967295);var l=Ta(c);if(0===d){var h=32-8*c;f=function(k){return k<<h>>>h}}var n=-1!=a.indexOf("unsigned");Q(b,{name:a,fromWireType:f,toWireType:function(k,
|
||||
m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+U(m)+'" to '+this.name);if(m<d||m>e)throw new TypeError('Passing a number "'+U(m)+'" from JS side to C/C++ side to an argument of type "'+a+'", which is outside the valid range ['+d+", "+e+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:Jb(a,l,0!==d),L:null})},a:function(b,a,c){function d(f){f>>=2;var l=F;return new e(Aa,l[f+1],l[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,
|
||||
Uint32Array,Float32Array,Float64Array][a];c=K(c);Q(b,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{fa:!0})},f:function(b,a){a=K(a);var c="std::string"===a;Q(b,{name:a,fromWireType:function(d){var e=F[d>>2];if(c)for(var f=d+4,l=0;l<=e;++l){var h=d+4+l;if(l==e||0==B[h]){f=f?pa(B,f,h-f):"";if(void 0===n)var n=f;else n+=String.fromCharCode(0),n+=f;f=h+1}}else{n=Array(e);for(l=0;l<e;++l)n[l]=String.fromCharCode(B[d+4+l]);n=n.join("")}X(d);return n},toWireType:function(d,e){e instanceof
|
||||
ArrayBuffer&&(e=new Uint8Array(e));var f="string"===typeof e;f||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||O("Cannot pass non-string to std::string");var l=(c&&f?function(){for(var k=0,m=0;m<e.length;++m){var p=e.charCodeAt(m);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|e.charCodeAt(++m)&1023);127>=p?++k:k=2047>=p?k+2:65535>=p?k+3:k+4}return k}:function(){return e.length})(),h=Nb(4+l+1);F[h>>2]=l;if(c&&f)qa(e,h+4,l+1);else if(f)for(f=0;f<l;++f){var n=e.charCodeAt(f);
|
||||
255<n&&(X(h),O("String has UTF-16 code units that do not fit in 8 bits"));B[h+4+f]=n}else for(f=0;f<l;++f)B[h+4+f]=e[f];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:tb,L:function(d){X(d)}})},e:function(b,a,c){c=K(c);if(2===a){var d=ta;var e=va;var f=wa;var l=function(){return ua};var h=1}else 4===a&&(d=xa,e=ya,f=za,l=function(){return F},h=2);Q(b,{name:c,fromWireType:function(n){for(var k=F[n>>2],m=l(),p,q=n+4,x=0;x<=k;++x){var u=n+4+x*a;if(x==k||0==m[u>>h])q=d(q,u-q),void 0===
|
||||
p?p=q:(p+=String.fromCharCode(0),p+=q),q=u+a}X(n);return p},toWireType:function(n,k){"string"!==typeof k&&O("Cannot pass non-string to C++ string type "+c);var m=f(k),p=Nb(4+m+a);F[p>>2]=m>>h;e(k,p+4,m+a);null!==n&&n.push(X,p);return p},argPackAdvance:8,readValueFromPointer:tb,L:function(n){X(n)}})},l:function(b,a){a=K(a);Q(b,{sa:!0,name:a,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:function(){A()},n:function(b,a,c){B.copyWithin(b,a,a+c)},c:function(b){b>>>=0;var a=B.length;
|
||||
if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);d=Math.max(16777216,b,d);0<d%65536&&(d+=65536-d%65536);a:{try{ma.grow(Math.min(2147483648,d)-Aa.byteLength+65535>>>16);Da();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},p:function(){return 0},q:function(){},o:function(b,a,c,d){for(var e=0,f=0;f<c;f++){for(var l=D[a+8*f>>2],h=D[a+(8*f+4)>>2],n=0;n<h;n++){var k=B[l+n],m=Kb[b];0===k||10===k?((1===b?ka:z)(pa(m,0)),m.length=0):m.push(k)}e+=h}D[d>>2]=
|
||||
e;return 0}},Z=function(){function b(c){g.asm=c.exports;ma=g.asm.u;Da();Ea=g.asm.z;G--;g.monitorRunDependencies&&g.monitorRunDependencies(G);0==G&&(null!==La&&(clearInterval(La),La=null),H&&(c=H,H=null,c()))}var a={a:Ob};G++;g.monitorRunDependencies&&g.monitorRunDependencies(G);if(g.instantiateWasm)try{return g.instantiateWasm(a,b)}catch(c){return z("Module.instantiateWasm callback failed with error: "+c),!1}a=Na(a);b(a[0],a[1]);return g.asm}(),Ja=g.___wasm_call_ctors=Z.v;g._opus_strerror=Z.w;
|
||||
var Nb=g._malloc=Z.x,X=g._free=Z.y,Bb=g.___getTypeName=Z.A;g.___embind_register_native_and_builtin_types=Z.B;
|
||||
g.setValue=function(b,a,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":E[b>>0]=a;break;case "i8":E[b>>0]=a;break;case "i16":C[b>>1]=a;break;case "i32":D[b>>2]=a;break;case "i64":Pa=[a>>>0,(J=a,1<=+Math.abs(J)?0<J?(Math.min(+Math.floor(J/4294967296),4294967295)|0)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];D[b>>2]=Pa[0];D[b+4>>2]=Pa[1];break;case "float":Ba[b>>2]=a;break;case "double":Ca[b>>3]=a;break;default:A("invalid type for setValue: "+c)}};
|
||||
g.getValue=function(b,a){a=a||"i8";"*"===a.charAt(a.length-1)&&(a="i32");switch(a){case "i1":return E[b>>0];case "i8":return E[b>>0];case "i16":return C[b>>1];case "i32":return D[b>>2];case "i64":return D[b>>2];case "float":return Ba[b>>2];case "double":return Ca[b>>3];default:A("invalid type for getValue: "+a)}return null};var Pb;H=function Qb(){Pb||Rb();Pb||(H=Qb)};
|
||||
function Rb(){function b(){if(!Pb&&(Pb=!0,g.calledRun=!0,!na)){Qa(Ga);Qa(Ha);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var a=g.postRun.shift();Ia.unshift(a)}Qa(Ia)}}if(!(0<G)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Ka();Qa(Fa);0<G||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);b()},1)):b())}}
|
||||
g.run=Rb;if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();noExitRuntime=!0;Rb();
|
||||
|
||||
|
||||
return Module
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = Module;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return Module; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["Module"] = Module;
|
||||
BIN
Binary file not shown.
+93
@@ -0,0 +1,93 @@
|
||||
declare module 'opusscript' {
|
||||
/**
|
||||
* Opus application type
|
||||
*/
|
||||
enum OpusApplication {
|
||||
/**
|
||||
* Voice Over IP
|
||||
*/
|
||||
VOIP = 2048,
|
||||
/**
|
||||
* Audio
|
||||
*/
|
||||
AUDIO = 2049,
|
||||
/**
|
||||
* Restricted Low-Delay
|
||||
*/
|
||||
RESTRICTED_LOWDELAY = 2051
|
||||
}
|
||||
enum OpusError {
|
||||
"OK" = 0,
|
||||
"Bad argument" = -1,
|
||||
"Buffer too small" = -2,
|
||||
"Internal error" = -3,
|
||||
"Invalid packet" = -4,
|
||||
"Unimplemented" = -5,
|
||||
"Invalid state" = -6,
|
||||
"Memory allocation fail" = -7
|
||||
}
|
||||
/**
|
||||
* Valid audio sampling rates
|
||||
*/
|
||||
type VALID_SAMPLING_RATES = 8000 | 12000 | 16000 | 24000 | 48000;
|
||||
/**
|
||||
* Maximum bytes in a frame
|
||||
*/
|
||||
type MAX_FRAME_SIZE = 2880;
|
||||
/**
|
||||
* Maximum bytes in a packet
|
||||
*/
|
||||
type MAX_PACKET_SIZE = 3828;
|
||||
/**
|
||||
* Constructor options for OpusScript
|
||||
*/
|
||||
interface OpusScriptOptions {
|
||||
/**
|
||||
* Whether or not to use the WASM-compiled version of OpusScript. This is true by default.
|
||||
*/
|
||||
wasm?: boolean;
|
||||
}
|
||||
class OpusScript {
|
||||
/**
|
||||
* Different Opus application types
|
||||
*/
|
||||
static Application: typeof OpusApplication;
|
||||
/**
|
||||
* Opus Error codes
|
||||
*/
|
||||
static Error: typeof OpusError;
|
||||
/**
|
||||
* Array of sampling rates that Opus can use
|
||||
*/
|
||||
static VALID_SAMPLING_RATES: [8000, 12000, 16000, 24000, 48000];
|
||||
/**
|
||||
* The maximum size (in bytes) to send in a packet
|
||||
*/
|
||||
static MAX_PACKET_SIZE: MAX_PACKET_SIZE;
|
||||
|
||||
/**
|
||||
* OpusScript options being used
|
||||
*/
|
||||
options: OpusScriptOptions;
|
||||
|
||||
/**
|
||||
* Create a new Opus en/decoder
|
||||
*/
|
||||
constructor(samplingRate: VALID_SAMPLING_RATES, channels?: number, application?: OpusApplication, options?: OpusScriptOptions);
|
||||
/**
|
||||
* Encode a buffer into Opus
|
||||
*/
|
||||
encode(buffer: Buffer, frameSize: number): Buffer;
|
||||
/**
|
||||
* Decode an opus buffer
|
||||
*/
|
||||
decode(buffer: Buffer): Buffer;
|
||||
encoderCTL(ctl: number, arg: number): void;
|
||||
decoderCTL(ctl: number, arg: number): void;
|
||||
/**
|
||||
* Delete the opus object
|
||||
*/
|
||||
delete(): void;
|
||||
}
|
||||
export = OpusScript;
|
||||
}
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
"use strict";
|
||||
|
||||
let opusscript_native_nasm = null;
|
||||
let opusscript_native_wasm = null;
|
||||
|
||||
var OpusApplication = {
|
||||
VOIP: 2048,
|
||||
AUDIO: 2049,
|
||||
RESTRICTED_LOWDELAY: 2051
|
||||
};
|
||||
var OpusError = {
|
||||
"0": "OK",
|
||||
"-1": "Bad argument",
|
||||
"-2": "Buffer too small",
|
||||
"-3": "Internal error",
|
||||
"-4": "Invalid packet",
|
||||
"-5": "Unimplemented",
|
||||
"-6": "Invalid state",
|
||||
"-7": "Memory allocation fail"
|
||||
};
|
||||
var VALID_SAMPLING_RATES = [8000, 12000, 16000, 24000, 48000];
|
||||
var MAX_FRAME_SIZE = 48000 * 60 / 1000;
|
||||
var MAX_PACKET_SIZE = 1276 * 3;
|
||||
|
||||
function OpusScript(samplingRate, channels, application, options) {
|
||||
if(!~VALID_SAMPLING_RATES.indexOf(samplingRate)) {
|
||||
throw new RangeError(`${samplingRate} is an invalid sampling rate.`);
|
||||
}
|
||||
this.options = Object.assign({
|
||||
wasm: true
|
||||
}, options);
|
||||
|
||||
this.samplingRate = samplingRate;
|
||||
this.channels = channels || 1;
|
||||
this.application = application || OpusApplication.AUDIO;
|
||||
|
||||
let opusscript_native = null;
|
||||
if(this.options.wasm) {
|
||||
if(!opusscript_native_wasm) {
|
||||
opusscript_native_wasm = require("./build/opusscript_native_wasm.js")();
|
||||
}
|
||||
opusscript_native = opusscript_native_wasm;
|
||||
} else {
|
||||
if(!opusscript_native_nasm) {
|
||||
opusscript_native_nasm = require("./build/opusscript_native_nasm.js")();
|
||||
}
|
||||
opusscript_native = opusscript_native_nasm;
|
||||
}
|
||||
this.handler = new opusscript_native.OpusScriptHandler(this.samplingRate, this.channels, this.application);
|
||||
|
||||
this.inPCMLength = MAX_FRAME_SIZE * this.channels * 2;
|
||||
this.inPCMPointer = opusscript_native._malloc(this.inPCMLength);
|
||||
this.inPCM = opusscript_native.HEAPU16.subarray(this.inPCMPointer, this.inPCMPointer + this.inPCMLength);
|
||||
|
||||
this.inOpusPointer = opusscript_native._malloc(MAX_PACKET_SIZE);
|
||||
this.inOpus = opusscript_native.HEAPU8.subarray(this.inOpusPointer, this.inOpusPointer + MAX_PACKET_SIZE);
|
||||
|
||||
this.outOpusPointer = opusscript_native._malloc(MAX_PACKET_SIZE);
|
||||
this.outOpus = opusscript_native.HEAPU8.subarray(this.outOpusPointer, this.outOpusPointer + MAX_PACKET_SIZE);
|
||||
|
||||
this.outPCMLength = MAX_FRAME_SIZE * this.channels * 2;
|
||||
this.outPCMPointer = opusscript_native._malloc(this.outPCMLength);
|
||||
this.outPCM = opusscript_native.HEAPU16.subarray(this.outPCMPointer, this.outPCMPointer + this.outPCMLength);
|
||||
};
|
||||
|
||||
OpusScript.prototype.encode = function encode(buffer, frameSize) {
|
||||
this.inPCM.set(buffer);
|
||||
|
||||
var len = this.handler._encode(this.inPCM.byteOffset, buffer.length, this.outOpusPointer, frameSize);
|
||||
if(len < 0) {
|
||||
throw new Error("Encode error: " + OpusError["" + len]);
|
||||
}
|
||||
|
||||
return Buffer.from(this.outOpus.subarray(0, len));
|
||||
};
|
||||
|
||||
OpusScript.prototype.decode = function decode(buffer) {
|
||||
this.inOpus.set(buffer);
|
||||
|
||||
var len = this.handler._decode(this.inOpusPointer, buffer.length, this.outPCM.byteOffset);
|
||||
if(len < 0) {
|
||||
throw new Error("Decode error: " + OpusError["" + len]);
|
||||
}
|
||||
|
||||
return Buffer.from(this.outPCM.subarray(0, len * this.channels * 2));
|
||||
};
|
||||
|
||||
OpusScript.prototype.encoderCTL = function encoderCTL(ctl, arg) {
|
||||
var len = this.handler._encoder_ctl(ctl, arg);
|
||||
if(len < 0) {
|
||||
throw new Error("Encoder CTL error: " + OpusError["" + len]);
|
||||
}
|
||||
};
|
||||
|
||||
OpusScript.prototype.decoderCTL = function decoderCTL(ctl, arg) {
|
||||
var len = this.handler._decoder_ctl(ctl, arg);
|
||||
if(len < 0) {
|
||||
throw new Error("Decoder CTL error: " + OpusError["" + len]);
|
||||
}
|
||||
};
|
||||
|
||||
OpusScript.prototype.delete = function del() {
|
||||
let opusscript_native = this.options.wasm ? opusscript_native_wasm : opusscript_native_nasm;
|
||||
opusscript_native.OpusScriptHandler.destroy_handler(this.handler);
|
||||
opusscript_native._free(this.inPCMPointer);
|
||||
opusscript_native._free(this.inOpusPointer);
|
||||
opusscript_native._free(this.outOpusPointer);
|
||||
opusscript_native._free(this.outPCMPointer);
|
||||
};
|
||||
|
||||
OpusScript.Application = OpusApplication;
|
||||
OpusScript.Error = OpusError;
|
||||
OpusScript.VALID_SAMPLING_RATES = VALID_SAMPLING_RATES;
|
||||
OpusScript.MAX_PACKET_SIZE = MAX_PACKET_SIZE;
|
||||
|
||||
module.exports = OpusScript;
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "opusscript",
|
||||
"version": "0.0.8",
|
||||
"description": "JS bindings for libopus 1.3.1, ported with emscripten",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/abalabahaha/opusscript.git"
|
||||
},
|
||||
"keywords": [
|
||||
"libopus",
|
||||
"encoder",
|
||||
"emscripten"
|
||||
],
|
||||
"author": "abalabahaha",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/abalabahaha/opusscript/issues"
|
||||
},
|
||||
"homepage": "https://github.com/abalabahaha/opusscript#readme",
|
||||
"browser": {
|
||||
"fs": false,
|
||||
"path": false
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user