import OFormat from "./OFormat.ts"; import FlvHeader from "./flv/FlvHeader.ts"; import FlvScriptTag from "./flv/FlvScriptTag.ts"; import type { AVOFormatContext } from "../AVFormatContext.ts"; import { AVFormat, AVCodecID, type AVPacket } from "@libmedia/avutil"; export interface OFlvFormatOptions { addKeyframePositions?: boolean; live?: boolean; enableNanoTimestamp?: boolean; useLegacyHevc?: boolean; } export default class OFlvFormat extends OFormat { type: AVFormat; private context; header: FlvHeader; script: FlvScriptTag; options: OFlvFormatOptions; private annexb2AvccFilter; private avpacket; private headerWriter; private headerBuffers; constructor(options?: OFlvFormatOptions); private getDefaultStream; private isEnhancedStream; init(formatContext: AVOFormatContext): number; destroy(formatContext: AVOFormatContext): Promise; private writeMetadata; private writeMultichannelConfig; writeHeader(formatContext: AVOFormatContext): number; private isNewExtradata; writeAVPacket(formatContext: AVOFormatContext, avpacket: pointer): number; writeTrailer(formatContext: AVOFormatContext): number; flush(context: AVOFormatContext): number; getCapabilities(): AVCodecID[]; static Capabilities: AVCodecID[]; }