Comparing version 4.1.1 to 4.1.2
# CHANGELOG | ||
## v4.1.2 (2019-09-12) | ||
- Fix: output array in correct size | ||
## v4.1.1 (2019-09-11) | ||
@@ -4,0 +7,0 @@ - Fix: encode() should always return a even number of samples |
@@ -100,2 +100,4 @@ 'use strict'; | ||
let fileIndex = 0; | ||
/** @type {number} */ | ||
let blockCount = 0; | ||
for (let i=0; i<samples.length; i++) { | ||
@@ -106,10 +108,11 @@ if ((i % 505 == 0 && i != 0)) { | ||
block = []; | ||
blockCount++; | ||
} | ||
block.push(samples[i]); | ||
} | ||
let samplesLength = (samples.length / 2); | ||
let samplesLength = samples.length / 2; | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
samplesLength++; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
return adpcmSamples.slice(0, samplesLength + 512 + blockCount * 4); | ||
} | ||
@@ -116,0 +119,0 @@ |
@@ -96,2 +96,4 @@ /* | ||
let fileIndex = 0; | ||
/** @type {number} */ | ||
let blockCount = 0; | ||
for (let i=0; i<samples.length; i++) { | ||
@@ -102,10 +104,11 @@ if ((i % 505 == 0 && i != 0)) { | ||
block = []; | ||
blockCount++; | ||
} | ||
block.push(samples[i]); | ||
} | ||
let samplesLength = (samples.length / 2); | ||
let samplesLength = samples.length / 2; | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
samplesLength++; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
return adpcmSamples.slice(0, samplesLength + 512 + blockCount * 4); | ||
} | ||
@@ -112,0 +115,0 @@ |
@@ -6,5 +6,5 @@ /* | ||
*/ | ||
window.imaadpcm=function(m){function q(b){var a=b[0];n(a);var c=[];c.push(a&255);c.push(a>>8&255);c.push(k);c.push(0);for(a=3;a<b.length;a+=2){var d=n(b[a]),f=n(b[a+1]);c.push(f<<4|d)}return c}function r(b){var a=b[1]<<8|b[0];e=32768<a?a-65536:a;g=b[2];l=p[g];a=[e,e];for(var c=4;c<b.length;c++){var d=b[c],f=d>>4;a.push(t(f<<4^d));a.push(t(f))}return a}function n(b){var a=b-h;0<=a?b=0:(b=8,a=-a);var c=p[k],d=c>>3;a>c&&(b|=4,a-=c,d+=c);c>>=1;a>c&&(b|=2,a-=c,d+=c);c>>=1;a>c&&(b|=1,d+=c);a=b;h=a&8?h- | ||
d:h+d;-32768>h?h=-32768:32767<h&&(h=32767);k+=u[a&7];0>k?k=0:88<k&&(k=88);return b}function t(b){var a=0;b&4&&(a+=l);b&2&&(a+=l>>1);b&1&&(a+=l>>2);a+=l>>3;b&8&&(a=-a);e+=a;32767<e?e=32767:-32767>e&&(e=-32767);g+=u[b];0>g?g=0:88<g&&(g=88);l=p[g];return e}var u=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],p=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411, | ||
1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],h=0,k=0,e=0,g=0,l=7;m.encode=function(b){for(var a=new Uint8Array(b.length),c=[],d=0,f=0;f<b.length;f++)0==f%505&&0!=f&&(a.set(q(c),d),d+=256,c=[]),c.push(b[f]);b=b.length/2;b%2&&b--;return a.slice(0,b+512)};m.decode=function(b,a){a=void 0===a?256:a;for(var c=new Int16Array(2*b.length),d=[],f=0,e=0;e<b.length;e++)0==e%a&& | ||
0!=e&&(d=r(d),c.set(d,f),f+=d.length,d=[]),d.push(b[e]);return c};m.encodeBlock=q;m.decodeBlock=r;return m}({}); | ||
window.imaadpcm=function(n){function r(b){var a=b[0];p(a);var c=[];c.push(a&255);c.push(a>>8&255);c.push(l);c.push(0);for(a=3;a<b.length;a+=2){var d=p(b[a]),f=p(b[a+1]);c.push(f<<4|d)}return c}function t(b){var a=b[1]<<8|b[0];g=32768<a?a-65536:a;h=b[2];m=q[h];a=[g,g];for(var c=4;c<b.length;c++){var d=b[c],f=d>>4;a.push(u(f<<4^d));a.push(u(f))}return a}function p(b){var a=b-k;0<=a?b=0:(b=8,a=-a);var c=q[l],d=c>>3;a>c&&(b|=4,a-=c,d+=c);c>>=1;a>c&&(b|=2,a-=c,d+=c);c>>=1;a>c&&(b|=1,d+=c);a=b;k=a&8?k- | ||
d:k+d;-32768>k?k=-32768:32767<k&&(k=32767);l+=v[a&7];0>l?l=0:88<l&&(l=88);return b}function u(b){var a=0;b&4&&(a+=m);b&2&&(a+=m>>1);b&1&&(a+=m>>2);a+=m>>3;b&8&&(a=-a);g+=a;32767<g?g=32767:-32767>g&&(g=-32767);h+=v[b];0>h?h=0:88<h&&(h=88);m=q[h];return g}var v=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],q=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411, | ||
1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],k=0,l=0,g=0,h=0,m=7;n.encode=function(b){for(var a=new Uint8Array(b.length),c=[],d=0,f=0,e=0;e<b.length;e++)0==e%505&&0!=e&&(a.set(r(c),d),d+=256,c=[],f++),c.push(b[e]);b=b.length/2;b%2&&b++;return a.slice(0,b+512+4*f)};n.decode=function(b,a){a=void 0===a?256:a;for(var c=new Int16Array(2*b.length),d=[],f=0,e=0;e<b.length;e++)0== | ||
e%a&&0!=e&&(d=t(d),c.set(d,f),f+=d.length,d=[]),d.push(b[e]);return c};n.encodeBlock=r;n.decodeBlock=t;return n}({}); |
@@ -102,2 +102,4 @@ (function (global, factory) { | ||
let fileIndex = 0; | ||
/** @type {number} */ | ||
let blockCount = 0; | ||
for (let i=0; i<samples.length; i++) { | ||
@@ -108,10 +110,11 @@ if ((i % 505 == 0 && i != 0)) { | ||
block = []; | ||
blockCount++; | ||
} | ||
block.push(samples[i]); | ||
} | ||
let samplesLength = (samples.length / 2); | ||
let samplesLength = samples.length / 2; | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
samplesLength++; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
return adpcmSamples.slice(0, samplesLength + 512 + blockCount * 4); | ||
} | ||
@@ -118,0 +121,0 @@ |
@@ -101,2 +101,4 @@ /* | ||
let fileIndex = 0; | ||
/** @type {number} */ | ||
let blockCount = 0; | ||
for (let i=0; i<samples.length; i++) { | ||
@@ -107,10 +109,11 @@ if ((i % 505 == 0 && i != 0)) { | ||
block = []; | ||
blockCount++; | ||
} | ||
block.push(samples[i]); | ||
} | ||
let samplesLength = (samples.length / 2); | ||
let samplesLength = samples.length / 2; | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
samplesLength++; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
return adpcmSamples.slice(0, samplesLength + 512 + blockCount * 4); | ||
} | ||
@@ -117,0 +120,0 @@ |
{ | ||
"name": "imaadpcm", | ||
"version": "4.1.1", | ||
"version": "4.1.2", | ||
"description": "IMA ADPCM codec in JavaScript.", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/rochars/imaadpcm", |
47595
1313