@jxstjh/jhvideo
Version:
HTML5 jhvideo base on MPEG2-TS Stream Player
38 lines (30 loc) • 1.54 kB
text/typescript
import MediaInfo from '../core/media-info';
import { PESPrivateData, PESPrivateDataDescriptor } from './pes-private-data';
type OnErrorCallback = (type: string, info: string) => void;
type OnMediaInfoCallback = (mediaInfo: MediaInfo) => void;
type OnMetaDataArrivedCallback = (metadata: any) => void;
type OnTrackMetadataCallback = (type: string, metadata: any) => void;
type OnDataAvailableCallback = (videoTrack: any, audioTrack: any) => void;
type OnPESPrivateDataCallback = (private_data: PESPrivateData) => void;
type OnPESPrivateDataDescriptorCallback = (private_data_descriptor: PESPrivateDataDescriptor) => void;
export default abstract class BaseDemuxer {
public onError: OnErrorCallback;
public onMediaInfo: OnMediaInfoCallback;
public onMetaDataArrived: OnMetaDataArrivedCallback;
public onTrackMetadata: OnTrackMetadataCallback;
public onDataAvailable: OnDataAvailableCallback;
public onPESPrivateData: OnPESPrivateDataCallback;
public onPESPrivateDataDescriptor: OnPESPrivateDataDescriptorCallback;
public onInformation: OnPESPrivateDataDescriptorCallback;
public constructor() {}
public destroy(): void {
this.onError = null;
this.onMediaInfo = null;
this.onMetaDataArrived = null;
this.onTrackMetadata = null;
this.onDataAvailable = null;
this.onPESPrivateData = null;
this.onPESPrivateDataDescriptor = null;
}
abstract parseChunks(chunk: ArrayBuffer, byteStart: number): number;
}