Comparing version
# CHANGELOG | ||
## v4.1.1 (2019-09-11) | ||
- Fix: encode() should always return a even number of samples | ||
## v4.1.0 (2019-09-06) | ||
@@ -4,0 +7,0 @@ - No clicks or time changes when compressing/decompressing |
@@ -108,3 +108,7 @@ 'use strict'; | ||
} | ||
return adpcmSamples.slice(0, (samples.length/2) + 512); | ||
let samplesLength = (samples.length / 2); | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
} | ||
@@ -111,0 +115,0 @@ |
@@ -104,3 +104,7 @@ /* | ||
} | ||
return adpcmSamples.slice(0, (samples.length/2) + 512); | ||
let samplesLength = (samples.length / 2); | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
} | ||
@@ -107,0 +111,0 @@ |
@@ -8,3 +8,3 @@ /* | ||
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]);return a.slice(0,b.length/2+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}({}); | ||
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}({}); |
@@ -110,3 +110,7 @@ (function (global, factory) { | ||
} | ||
return adpcmSamples.slice(0, (samples.length/2) + 512); | ||
let samplesLength = (samples.length / 2); | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
} | ||
@@ -113,0 +117,0 @@ |
@@ -109,3 +109,7 @@ /* | ||
} | ||
return adpcmSamples.slice(0, (samples.length/2) + 512); | ||
let samplesLength = (samples.length / 2); | ||
if (samplesLength % 2) { | ||
samplesLength--; | ||
} | ||
return adpcmSamples.slice(0, samplesLength + 512); | ||
} | ||
@@ -112,0 +116,0 @@ |
{ | ||
"name": "imaadpcm", | ||
"version": "4.1.0", | ||
"version": "4.1.1", | ||
"description": "IMA ADPCM codec in JavaScript.", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/rochars/imaadpcm", |
47178
1.05%1301
1.25%