Files
Desktop/ts/types/Calling.ts
Jim Gustafson 90bf0f4eea Update to RingRTC v2.5.1
Co-authored-by: Vladimir Skuratovich <vlad@signal.org>
2020-08-28 15:42:25 -04:00

41 lines
1.2 KiB
TypeScript

// Must be kept in sync with RingRTC.AudioDevice
export interface AudioDevice {
// Device name.
name: string;
// Index of this device, starting from 0.
index: number;
// A unique and somewhat stable identifier of this device.
uniqueId: string;
// If present, the identifier of a localized string to substitute for the device name.
i18nKey?: string;
}
// This must be kept in sync with RingRTC.CallState.
export enum CallState {
Prering = 'init',
Ringing = 'ringing',
Accepted = 'connected',
Reconnecting = 'connecting',
Ended = 'ended',
}
export enum CallingDeviceType {
CAMERA,
MICROPHONE,
SPEAKER,
}
export type MediaDeviceSettings = {
availableMicrophones: Array<AudioDevice>;
selectedMicrophone: AudioDevice | undefined;
availableSpeakers: Array<AudioDevice>;
selectedSpeaker: AudioDevice | undefined;
availableCameras: Array<MediaDeviceInfo>;
selectedCamera: string | undefined;
};
export type ChangeIODevicePayloadType =
| { type: CallingDeviceType.CAMERA; selectedDevice: string }
| { type: CallingDeviceType.MICROPHONE; selectedDevice: AudioDevice }
| { type: CallingDeviceType.SPEAKER; selectedDevice: AudioDevice };