/** * @typedef {Object} DemuxResult * @property {VideoTrack} videoTrack * @property {AudioTrack} audioTrack * @property {MetadataTrack} metadataTrack */ export class FlvDemuxer { static AUDIO_RATE: number[]; /** * @param { Uint8Array } data * @returns {boolean} */ static probe(data: Uint8Array): boolean; /** * @param {VideoTrack} [videoTrack] * @param {AudioTrack} [audioTrack] * @param {MetadataTrack} [metadataTrack] */ constructor(videoTrack?: VideoTrack, audioTrack?: AudioTrack, metadataTrack?: MetadataTrack); _headerParsed: boolean; _remainingData: null; _gopId: number; _needAddMetaBeforeKeyFrameNal: boolean; videoTrack: VideoTrack; audioTrack: AudioTrack; metadataTrack: MetadataTrack; _fixer: FlvFixer; /** * @param {Uint8Array} data * @param {boolean} [discontinuity=false] 切流 * @param {boolean} [contiguous=true] * @returns {DemuxResult} */ demux(data: Uint8Array, discontinuity?: boolean, contiguous?: boolean, seamlessLoadingSwitching: any): DemuxResult; seamlessLoadingSwitching: boolean | undefined; /** * @param {number} [startTime=0] * @param {boolean} [discontinuity=false] * @param {boolean} [contiguous=true] * @returns {DemuxResult} */ fix(startTime?: number, discontinuity?: boolean, contiguous?: boolean): DemuxResult; /** * @param {Uint8Array} data * @param {boolean} [discontinuity=false] * @param {boolean} [contiguous=true] * @param {number} [startTime=0] * @returns {DemuxResult} */ demuxAndFix(data: Uint8Array, discontinuity?: boolean, contiguous?: boolean, startTime?: number, seamlessLoadingSwitching: any): DemuxResult; /** * @param {Uint8Array} data * @param {number} pts * @private */ private _parseAudio; /** * @param {Uint8Array} data * @param {number} pts * @private */ private _parseOpus; /** * @param {Uint8Array} data * @param {number} pts * @param {import('./soundFormat').FlvSoundFormat} format */ _parseG711(data: Uint8Array, pts: number, format: any): void; _parseAac(data: any, pts: any): void; _parseVideo(data: any, dts: any): void; _checkAddMetaNalToUnits(hevc: any, units: any, track: any): any; _parseScript(data: any, pts: any): void; } export type DemuxResult = { videoTrack: VideoTrack; audioTrack: AudioTrack; metadataTrack: MetadataTrack; }; import { VideoTrack } from '../model'; import { AudioTrack } from '../model'; import { MetadataTrack } from '../model'; import { FlvFixer } from './fixer';