Home Reference Source

src/types/fragment-tracker.ts

// eslint-disable-next-line import/no-duplicates
import type Fragment from '../loader/fragment';
// eslint-disable-next-line import/no-duplicates
import type { Part } from '../loader/fragment';
import type { SourceBufferName } from './buffer';
import type { FragLoadedData } from './events';

export interface FragmentEntity {
  body: Fragment;
  part: Part | null;
  loaded: FragLoadedData | null;
  backtrack: FragLoadedData | null;
  buffered: boolean;
  range: { [key in SourceBufferName]: FragmentBufferedRange };
}

export interface FragmentTimeRange {
  startPTS: number;
  endPTS: number;
}

export interface FragmentBufferedRange {
  time: Array<FragmentTimeRange>;
  partial: boolean;
}