UNPKG

@jxstjh/jhvideo

Version:

HTML5 jhvideo base on MPEG2-TS Stream Player

68 lines (57 loc) 1.39 kB
interface ProgramToPMTPIDMap { [program: number]: number; } export class PAT { version_number: number; network_pid: number; // program_number -> pmt_pid program_pmt_pid: ProgramToPMTPIDMap = {}; } export enum StreamType { kMPEG1Audio = 0x03, kMPEG2Audio = 0x04, kPESPrivateData = 0x06, kADTSAAC = 0x0F, kID3 = 0x15, kH264 = 0x1b, kH265 = 0x24 } interface PIDToStreamTypeMap { [pid: number]: StreamType; } export class PMT { program_number: number; version_number: number; pcr_pid: number; // pid -> stream_type pid_stream_type: PIDToStreamTypeMap = {}; common_pids: { h264: number | undefined, adts_aac: number | undefined } = { h264: undefined, adts_aac: undefined }; pes_private_data_pids: { [pid: number]: boolean } = {}; } export interface ProgramToPMTMap { [program: number]: PMT; } export class PESData { pid: number; data: Uint8Array; stream_type: StreamType; file_position: number; random_access_indicator: number; } export class PESSliceQueue { slices: Uint8Array[] = []; total_length: number = 0; file_position: number = 0; random_access_indicator: 0; } export interface PIDToPESSliceQueues { [pid: number]: PESSliceQueue; }