/**
 * @archivo búfer.js
 * búfer @módulo
 * /
importar { createTimeRange } desde './time-ranges.js';

/ **
 * Calcule el porcentaje de los medios que se han almacenado en el búfer.
 *
 * @param {TimeRange} almacenado en búfer
 * El objeto `TimeRange` actual que representa rangos de tiempo almacenados en búfer
 *
 * @param {número} duración
 * Duración total de los medios
 *
 * @return {número}
 * Porcentaje amortiguado de la duración total en forma decimal.
 * /
función de exportación bufferedPercent(buffered, duration) {
  let bufferedDuration = 0;
  vamos a empezar;
  dejar terminar;

  si (! duración) {
    devolver 0;
  }

  if (!buffered || !buffered.length) {
    almacenado en búfer = createTimeRange(0, 0);
  }

  para (sea i = 0; i < buffered.length; i++) {
    inicio = almacenado en búfer. inicio (i);
    final = almacenado en búfer. final (i);

    // el final almacenado en el búfer puede ser mayor que la duración en una fracción muy pequeña
    si (fin > duración) {
      fin = duración;
    }

    bufferedDuration += final - inicio;
  }

  return bufferedDuration / duración;
}