3 exports.__esModule = true;
4 exports.bufferedPercent = bufferedPercent;
6 var _timeRanges = require('./time-ranges.js');
9 * Compute the percentage of the media that has been buffered.
11 * @param {TimeRange} buffered
12 * The current `TimeRange` object representing buffered time ranges
14 * @param {number} duration
15 * Total duration of the media
18 * Percent buffered of the total duration in decimal form.
20 function bufferedPercent(buffered, duration) {
21 var bufferedDuration = 0;
29 if (!buffered || !buffered.length) {
30 buffered = (0, _timeRanges.createTimeRange)(0, 0);
33 for (var i = 0; i < buffered.length; i++) {
34 start = buffered.start(i);
35 end = buffered.end(i);
37 // buffered end can be bigger than duration by a very small fraction
42 bufferedDuration += end - start;
45 return bufferedDuration / duration;