/**
* @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 ;
}