src/types/transmuxer.ts
- import type { RemuxerResult } from './remuxer';
- import type { HlsChunkPerformanceTiming } from './loader';
- import type { SourceBufferName } from './buffer';
-
- export interface TransmuxerResult {
- remuxResult: RemuxerResult;
- chunkMeta: ChunkMetadata;
- }
-
- export class ChunkMetadata {
- public readonly level: number;
- public readonly sn: number;
- public readonly part: number;
- public readonly id: number;
- public readonly size: number;
- public readonly partial: boolean;
- public readonly transmuxing: HlsChunkPerformanceTiming =
- getNewPerformanceTiming();
- public readonly buffering: {
- [key in SourceBufferName]: HlsChunkPerformanceTiming;
- } = {
- audio: getNewPerformanceTiming(),
- video: getNewPerformanceTiming(),
- audiovideo: getNewPerformanceTiming(),
- };
-
- constructor(
- level: number,
- sn: number,
- id: number,
- size = 0,
- part = -1,
- partial = false
- ) {
- this.level = level;
- this.sn = sn;
- this.id = id;
- this.size = size;
- this.part = part;
- this.partial = partial;
- }
- }
-
- function getNewPerformanceTiming(): HlsChunkPerformanceTiming {
- return { start: 0, executeStart: 0, executeEnd: 0, end: 0 };
- }