import { Processor } from '../core/processor'; import { Packet, PacketSymbol } from '../core/packet'; import { InputSocket, SocketDescriptor, SocketType } from '../core/socket'; export declare enum MP4MuxProcessorSupportedCodecs { AVC = "avc", AAC = "mp4a", MP3 = "mp3", VP6 = "vp6f" } export declare type MP4MuxProcessorOptions = { fragmentedMode: boolean; fragmentMinDurationSeconds: number; embedCodecDataOnKeyFrames: boolean; forceMp3: boolean; maxAudioFramesPerChunk: number; maxVideoFramesPerChunk: number; flushOnKeyFrame: boolean; }; export declare class MP4MuxProcessor extends Processor { static getName(): string; private mp4Muxer_; private mp4MovieMetadata_; private codecInfo_; private flushCounter_; private _queuedVideoBitstreamHeader; private videoBitstreamHeader_; private audioPacketQueue_; private videoPacketQueue_; private options_; private socketToTrackIndexHash_; private videoTrackIndex_; private audioTrackIndex_; constructor(options?: Partial); templateSocketDescriptor(st: SocketType): SocketDescriptor; protected processTransfer_(inputSocket: InputSocket, p: Packet, inputIndex: number): boolean; protected handleSymbolicPacket_(symbol: PacketSymbol): boolean; private _haveTrackMetadataForSocketIndex; private _getTrackMetadataForSocketIdx; private _processVideoPacket; private _processAudioPacket; private _onInputCreated; private _initMovieMetadata; private _resetMuxer; private _getNextTrackId; private _processQueues; private _flush; private _addAudioTrack; private _addVideoTrack; private onMp4MuxerData_; private onMp4MuxerCodecInfo_; }