From a8142b20c39c48925132e1bc84f2edd32c45c86f Mon Sep 17 00:00:00 2001 From: Chinmay Pendharkar Date: Tue, 9 Aug 2016 17:45:35 +0800 Subject: [PATCH] Refactor to remove need for magic constant. - Removed need for magic constant (largest Number) - Refactored code to find minimum samples available. --- lib/mixer.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/mixer.js b/lib/mixer.js index 224d0b5..ec9e400 100644 --- a/lib/mixer.js +++ b/lib/mixer.js @@ -50,13 +50,18 @@ function Mixer(args) { util.inherits(Mixer, Readable); Mixer.prototype._read = function() { + + var samples = 0; - var samples = 9007199254740992; - this.inputs.forEach(function (input) { - var as = input.availSamples(); - if (as < samples) samples = as; - }); - if (samples > 0 && samples != 9007199254740992) { + if (this.inputs.length){ + samples = this.inputs.map(function (input) { + return input.availSamples() || 0; + }).reduce(function(a,b){ + return Math.min(a,b); + }); + } + + if (samples) { var mixedBuffer = new Buffer(samples * this.sampleByteLength * this.channels); mixedBuffer.fill(0);