Mercurial > hg > webaudioevaluationtool
diff js/core.js @ 2403:52aed03f5db9
Default to using internal decoder for all files. Fallback to WAVE.js for Firefox < 45 for high-bit WAV
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Fri, 27 May 2016 08:56:54 +0100 |
parents | 5e1fb07919e7 |
children | d44b5e04acbc |
line wrap: on
line diff
--- a/js/core.js Thu May 26 16:36:06 2016 +0100 +++ b/js/core.js Fri May 27 08:56:54 2016 +0100 @@ -1270,45 +1270,32 @@ // Use inbuilt WAVE decoder first if (this.status == -1) {return;} var waveObj = new WAVE(); - if (waveObj.open(bufferObj.xmlRequest.response) == 0) - { - bufferObj.buffer = audioContext.createBuffer(waveObj.num_channels,waveObj.num_samples,waveObj.sample_rate); - for (var c=0; c<waveObj.num_channels; c++) - { - var buffer_ptr = bufferObj.buffer.getChannelData(c); - for (var n=0; n<waveObj.num_samples; n++) - { - buffer_ptr[n] = waveObj.decoded_data[c][n]; - } - } - - delete waveObj; - } else { - audioContext.decodeAudioData(bufferObj.xmlRequest.response, function(decodedData) { + audioContext.decodeAudioData(bufferObj.xmlRequest.response, function(decodedData) { bufferObj.buffer = decodedData; bufferObj.status = 2; calculateLoudness(bufferObj,"I"); - }, function(e){ - // Should only be called if there was an error, but sometimes gets called continuously - // Check here if the error is genuine - if (bufferObj.xmlRequest.response == undefined) { - // Genuine error - console.log('FATAL - Error loading buffer on '+audioObj.id); - if (request.status == 404) + }, function(e) { + var waveObj = new WAVE(); + if (waveObj.open(bufferObj.xmlRequest.response) == 0) + { + bufferObj.buffer = audioContext.createBuffer(waveObj.num_channels,waveObj.num_samples,waveObj.sample_rate); + for (var c=0; c<waveObj.num_channels; c++) + { + var buffer_ptr = bufferObj.buffer.getChannelData(c); + for (var n=0; n<waveObj.num_samples; n++) { - console.log('FATAL - Fragment '+audioObj.id+' 404 error'); - console.log('URL: '+audioObj.url); - errorSessionDump('Fragment '+audioObj.id+' 404 error'); + buffer_ptr[n] = waveObj.decoded_data[c][n]; } - this.parent.status = -1; } - }); - } - if (bufferObj.buffer != undefined) - { - bufferObj.status = 2; - calculateLoudness(bufferObj,"I"); - } + + delete waveObj; + } + if (bufferObj.buffer != undefined) + { + bufferObj.status = 2; + calculateLoudness(bufferObj,"I"); + } + }); }; // Create callback for any error in loading