@signalwire/js
Version:
117 lines • 3.68 kB
TypeScript
import type { VideoPositions } from '@signalwire/core';
import { BaseConnectionState, VideoRoomDeviceEventParams, VideoRoomDeviceEventNames } from '@signalwire/core';
export interface ConnectionOptions {
/** @internal */
destinationNumber?: string;
/** @internal */
remoteCallerName?: string;
/** @internal */
remoteCallerNumber?: string;
/** @internal */
callerName?: string;
/** @internal */
callerNumber?: string;
/** @internal */
remoteSdp?: string;
/** @internal */
localStream?: MediaStream;
/** @internal */
remoteStream?: MediaStream;
/** List of ICE servers. */
iceServers?: RTCIceServer[];
/** Disable ICE UDP transport policy */
disableUdpIceServers?: boolean;
/** Audio constraints to use when joining the room. Default: `true`. */
audio?: MediaStreamConstraints['audio'];
/** Video constraints to use when joining the room. Default: `true`. */
video?: MediaStreamConstraints['video'];
/** @internal */
attach?: boolean;
/** @internal */
useStereo?: boolean;
/** @internal */
micId?: string;
/** @internal */
micLabel?: string;
/** @internal */
camId?: string;
/** @internal */
camLabel?: string;
/** Id of the speaker device to use for audio output. If undefined, picks a default speaker. */
speakerId?: string;
/** @internal */
userVariables?: {
[key: string]: any;
};
/** @internal */
screenShare?: boolean;
/** @internal */
additionalDevice?: boolean;
/** @internal */
recoverCall?: boolean;
/** @internal */
googleMaxBitrate?: number;
/** @internal */
googleMinBitrate?: number;
/** @internal */
googleStartBitrate?: number;
/** @internal */
negotiateAudio?: boolean;
/** @internal */
negotiateVideo?: boolean;
/** @internal */
sfu?: boolean;
/** @internal */
simulcast?: boolean;
/** @internal */
msStreamsNumber?: number;
/** @internal */
requestTimeout?: number;
/** @internal */
shakenCheck?: string;
/** @internal */
shakenResult?: string;
/** @internal */
autoApplyMediaParams?: boolean;
/** @internal */
rtcPeerConfig?: {
[key: string]: any;
};
/** @internal */
iceGatheringTimeout?: number;
/** @internal */
maxIceGatheringTimeout?: number;
/** @internal */
maxConnectionStateTimeout?: number;
/** @internal */
watchMediaPackets?: boolean;
/** @internal */
watchMediaPacketsTimeout?: number;
/** @internal */
pingSupported?: boolean;
/** @internal */
prevCallId?: string;
/** @internal */
nodeId?: string;
layout?: string;
positions?: VideoPositions;
}
export interface EmitDeviceUpdatedEventsParams {
newTrack: MediaStreamTrack;
prevAudioTrack?: MediaStreamTrack | null;
prevVideoTrack?: MediaStreamTrack | null;
}
export type UpdateMediaOptionsParams = Pick<ConnectionOptions, 'video' | 'audio' | 'negotiateVideo' | 'negotiateAudio'>;
export interface OnVertoByeParams {
byeCause: string;
byeCauseCode: string;
rtcPeerId: string;
redirectDestination?: string;
}
export type MediaEventNames = 'media.connected' | 'media.reconnecting' | 'media.disconnected';
type BaseConnectionEventsHandlerMap = Record<BaseConnectionState, (params: any) => void> & Record<MediaEventNames, () => void> & Record<VideoRoomDeviceEventNames, (params: VideoRoomDeviceEventParams) => void>;
export type BaseConnectionEvents = {
[k in keyof BaseConnectionEventsHandlerMap]: BaseConnectionEventsHandlerMap[k];
};
export {};
//# sourceMappingURL=interfaces.d.ts.map