import type { RtpCapabilities, MediaKind, RtpCodecCapability, RtpParameters, RtpCodecParameters, ExtendedRtpCapabilities } from './RtpParameters'; import type { SctpCapabilities, SctpStreamParameters } from './SctpParameters'; /** * Validates RtpCapabilities. It may modify given data by adding missing * fields with default values. * It throws if invalid. */ export declare function validateAndNormalizeRtpCapabilities(caps: RtpCapabilities): void; /** * Validates RtpParameters. It may modify given data by adding missing * fields with default values. * It throws if invalid. */ export declare function validateAndNormalizeRtpParameters(params: RtpParameters): void; /** * Validates SctpStreamParameters. It may modify given data by adding missing * fields with default values. * It throws if invalid. */ export declare function validateAndNormalizeSctpStreamParameters(params: SctpStreamParameters): void; /** * Validates SctpCapabilities. * It throws if invalid. */ export declare function validateSctpCapabilities(caps: SctpCapabilities): void; /** * Generate extended RTP capabilities for sending and receiving. * * Resulting codecs keep order preferred by local or remote capabilities * depending on `preferLocalCodecsOrder`. */ export declare function getExtendedRtpCapabilities(localCaps: RtpCapabilities, remoteCaps: RtpCapabilities, preferLocalCodecsOrder: boolean): ExtendedRtpCapabilities; /** * Generate RTP capabilities for receiving media based on the given extended * RTP capabilities. */ export declare function getRecvRtpCapabilities(extendedRtpCapabilities: ExtendedRtpCapabilities): RtpCapabilities; /** * Generate RTP capabilities for sending media based on the given extended * RTP capabilities. */ export declare function getSendRtpCapabilities(extendedRtpCapabilities: ExtendedRtpCapabilities): RtpCapabilities; /** * Generate RTP parameters of the given kind for sending media. * NOTE: mid, encodings and rtcp fields are left empty. */ export declare function getSendingRtpParameters(kind: MediaKind, extendedRtpCapabilities: ExtendedRtpCapabilities): RtpParameters; /** * Generate RTP parameters of the given kind suitable for the remote SDP answer. */ export declare function getSendingRemoteRtpParameters(kind: MediaKind, extendedRtpCapabilities: ExtendedRtpCapabilities): RtpParameters; /** * Reduce given codecs by returning an array of codecs "compatible" with the * given capability codec. If no capability codec is given, take the first * one(s). * * Given codecs must be generated by ortc.getSendingRtpParameters() or * ortc.getSendingRemoteRtpParameters(). * * The returned array of codecs also include a RTX codec if available. */ export declare function reduceCodecs(codecs: RtpCodecParameters[], capCodec?: RtpCodecCapability): RtpCodecParameters[]; /** * Create RTP parameters for a Consumer for the RTP probator. */ export declare function generateProbatorRtpParameters(videoRtpParameters: RtpParameters): RtpParameters; /** * Whether media can be sent based on the given RTP capabilities. */ export declare function canSend(kind: MediaKind, rtpCapabilities: RtpCapabilities): boolean; /** * Whether the given RTP parameters can be received with the given RTP * capabilities. */ export declare function canReceive(rtpParameters: RtpParameters, rtpCapabilities: RtpCapabilities): boolean; //# sourceMappingURL=ortc.d.ts.map