X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=node_modules%2Fvideo.js%2Fes5%2Futils%2Fbuffer.js;fp=node_modules%2Fvideo.js%2Fes5%2Futils%2Fbuffer.js;h=229a0ad3605dd699ad5bd31d90990df3d4d3b6f7;hp=0000000000000000000000000000000000000000;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad diff --git a/node_modules/video.js/es5/utils/buffer.js b/node_modules/video.js/es5/utils/buffer.js new file mode 100644 index 000000000..229a0ad36 --- /dev/null +++ b/node_modules/video.js/es5/utils/buffer.js @@ -0,0 +1,49 @@ +'use strict'; + +exports.__esModule = true; +exports.bufferedPercent = bufferedPercent; + +var _timeRanges = require('./time-ranges.js'); + +/** + * Compute the percentage of the media that has been buffered. + * + * @param {TimeRange} buffered + * The current `TimeRange` object representing buffered time ranges + * + * @param {number} duration + * Total duration of the media + * + * @return {number} + * Percent buffered of the total duration in decimal form. + */ +function bufferedPercent(buffered, duration) { + var bufferedDuration = 0; + var start = void 0; + var end = void 0; + + if (!duration) { + return 0; + } + + if (!buffered || !buffered.length) { + buffered = (0, _timeRanges.createTimeRange)(0, 0); + } + + for (var i = 0; i < buffered.length; i++) { + start = buffered.start(i); + end = buffered.end(i); + + // buffered end can be bigger than duration by a very small fraction + if (end > duration) { + end = duration; + } + + bufferedDuration += end - start; + } + + return bufferedDuration / duration; +} /** + * @file buffer.js + * @module buffer + */