aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEhsan Akhgari <ehsan.akhgari@gmail.com>2013-03-13 23:26:25 -0400
committerAlon Zakai <alonzakai@gmail.com>2013-03-15 11:53:16 -0700
commitc1b2061c7a703b1665dcb2196d0f8b17b85601b7 (patch)
tree7b158f70e0b35806d3146f5661cbc580caf363c2
parent0c14f7d6aa068aadc98142fea20fa749bf03105b (diff)
Fix the pointer math and floating point conversion in alBufferData
-rw-r--r--src/library_openal.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/library_openal.js b/src/library_openal.js
index 730cb544..5215bfc3 100644
--- a/src/library_openal.js
+++ b/src/library_openal.js
@@ -245,12 +245,12 @@ var LibraryOpenAL = {
for (var j = 0; j < channels; ++j) {
switch (bytes) {
case 1:
- var val = {{{ makeGetValue('data', 'i+j', 'i8') }}};
+ var val = {{{ makeGetValue('data', 'i*channels+j', 'i8') }}};
buf[j][i] = -1.0 + val * (2/256);
break;
case 2:
- var val = {{{ makeGetValue('data', 'i+j', 'i16') }}};
- buf[j][i] = -1.0 + (val + -32768) * (2/65536);
+ var val = {{{ makeGetValue('data', '2*(i*channels+j)', 'i16') }}};
+ buf[j][i] = val/32768;
break;
}
}