/**
 * @file buffer.js
 * @module buffer
 */
import { createTimeRange } from './time-ranges.js' ;

/**
 * Calculer le pourcentage du média qui a été mis en mémoire tampon.
 *
 * @param {TimeRange} buffered
 *        L'objet `TimeRange` actuel représentant les plages de temps mises en mémoire tampon
 *
 * @param {number} duration
 *        Durée totale du média
 *
 * @return {number}
 *         Pourcentage de la durée totale mis en mémoire tampon, sous forme décimale.
 */
export function bufferedPercent(buffered, duration) {
  let bufferedDuration = 0 ;
  commençons ;
  let end ;

  if (!duration) {
    retour 0 ;
  }

  if (!buffered || !buffered.length) {
    buffered = createTimeRange(0, 0) ;
  }

  for (let i = 0 ; i < buffered.length ; i++) {
    start = buffered.start(i) ;
    end = buffered.end(i) ;

    // la fin de la mise en mémoire tampon peut être plus grande que la durée par une très petite fraction
    if (end > duration) {
      fin = durée ;
    }

    bufferedDuration += end - start ;
  }

  return bufferedDuration / duration ;
}