|
@@ -118,7 +118,12 @@ function outputBefore(stream, buffer, endTime, packetSize, cb) {
|
|
|
stream.push(buffer.slice(index, Math.min(buffer.length, index+packetSize)));
|
|
stream.push(buffer.slice(index, Math.min(buffer.length, index+packetSize)));
|
|
|
index += packetSize;
|
|
index += packetSize;
|
|
|
|
|
|
|
|
- setTimeout((index < buffer.length) ? outputPacket: cb, Math.min(Math.max(0.95*packetTime/1000, 1), 50));
|
|
|
|
|
|
|
+ var done = (index < buffer.length) ? outputPacket: cb;
|
|
|
|
|
+ var delay = Math.min(Math.max((0.8*packetTime/1000)-1, 1), 50);
|
|
|
|
|
+ if (delay === 1)
|
|
|
|
|
+ process.nextTick(done);
|
|
|
|
|
+ else
|
|
|
|
|
+ setTimeout(done, delay);
|
|
|
}
|
|
}
|
|
|
outputPacket();
|
|
outputPacket();
|
|
|
}
|
|
}
|