Refactor to remove need for magic constant.

- Removed need for magic constant (largest Number)
- Refactored code to find minimum samples available.
This commit is contained in:
Chinmay Pendharkar 2016-08-09 17:45:35 +08:00 committed by GitHub
parent 72d7965521
commit a8142b20c3
1 changed files with 11 additions and 6 deletions

View File

@ -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);