# HG changeset patch # User Nicholas Jillings # Date 1450706089 0 # Node ID fab881bdeeacb20acaf5efe44d9481a7bd12720c # Parent 3b8069ea47d23a995287513f7d643cab18f1c1d1 Offline Context no longer promise type for Safari OSX support. diff -r 3b8069ea47d2 -r fab881bdeeac loudness.js --- 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)