Mercurial > hg > webaudioevaluationtool
changeset 752:fab881bdeeac
Offline Context no longer promise type for Safari OSX support.
author | Nicholas Jillings <nicholas.jillings@eecs.qmul.ac.uk> |
---|---|
date | Mon, 21 Dec 2015 13:54:49 +0000 |
parents | 3b8069ea47d2 |
children | 56ee920d5d85 |
files | loudness.js |
diffstat | 1 files changed, 10 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/loudness.js Mon Dec 21 13:17:45 2015 +0000 +++ b/loudness.js Mon Dec 21 13:54:49 2015 +0000 @@ -8,6 +8,10 @@ var interval_cal_loudness_event = null; +if (typeof OfflineAudioContext == "undefined"){ + var OfflineAudioContext = webkitOfflineAudioContext; +} + function calculateLoudness(buffer, timescale, target, offlineContext) { // This function returns the EBU R 128 specification loudness model and sets the linear gain required to match -23 LUFS @@ -50,8 +54,11 @@ KFilter.connect(HPFilter); HPFilter.connect(offlineContext.destination); processSource.start(); - offlineContext.startRendering().then(function(renderedBuffer) { + offlineContext.oncomplete = function(renderedBuffer) { // Have the renderedBuffer information, now continue processing + if (typeof renderedBuffer.renderedBuffer == 'object') { + renderedBuffer = renderedBuffer.renderedBuffer; + } switch(timescale) { case "I": @@ -95,10 +102,8 @@ var overallRelLoudness = calculateOverallLoudnessFromChannelBlocks(relgateEnergy); buffer.lufs = overallRelLoudness; } - }).catch(function(err) { - console.log(err); - buffer.lufs = 1; - }); + }; + offlineContext.startRendering(); } function calculateProcessedLoudness(buffer, winDur, overlap)