Initial group calling support
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
// Copyright 2020 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
export enum CallMode {
|
||||
None,
|
||||
Direct,
|
||||
Group,
|
||||
}
|
||||
|
||||
// Ideally, we would import many of these directly from RingRTC. But because Storybook
|
||||
// cannot import RingRTC (as it runs in the browser), we have these copies. That also
|
||||
// means we have to convert the "real" enum to our enum in some cases.
|
||||
|
||||
// Must be kept in sync with RingRTC.CallState
|
||||
export enum CallState {
|
||||
Prering = 'init',
|
||||
@@ -31,6 +41,36 @@ export enum CallEndedReason {
|
||||
CallerIsNotMultiring = 'CallerIsNotMultiring',
|
||||
}
|
||||
|
||||
// Must be kept in sync with RingRTC's ConnectionState
|
||||
export enum GroupCallConnectionState {
|
||||
NotConnected = 0,
|
||||
Connecting = 1,
|
||||
Connected = 2,
|
||||
Reconnecting = 3,
|
||||
}
|
||||
|
||||
// Must be kept in sync with RingRTC's JoinState
|
||||
export enum GroupCallJoinState {
|
||||
NotJoined = 0,
|
||||
Joining = 1,
|
||||
Joined = 2,
|
||||
}
|
||||
|
||||
// Should match RingRTC's CanvasVideoRenderer
|
||||
interface Ref<T> {
|
||||
readonly current: T | null;
|
||||
}
|
||||
export interface CanvasVideoRenderer {
|
||||
setCanvas(canvas: Ref<HTMLCanvasElement> | undefined): void;
|
||||
enable(source: VideoFrameSource): void;
|
||||
disable(): void;
|
||||
}
|
||||
|
||||
// Should match RingRTC's VideoFrameSource
|
||||
export interface VideoFrameSource {
|
||||
receiveVideoFrame(buffer: ArrayBuffer): [number, number] | undefined;
|
||||
}
|
||||
|
||||
// Must be kept in sync with RingRTC.AudioDevice
|
||||
export interface AudioDevice {
|
||||
// Device name.
|
||||
|
Reference in New Issue
Block a user