SyncStage data interfaces
interface IHostInfo {
port: number;
address: string;
audioServerId: string;
streamingUrl: string;
}
interface IConnectionInfo {
connectionId: string;
createdAt: string;
updatedAt: string;
userId: string;
isMuted: boolean;
displayName?: string | null;
hostInfo?: IHostInfo | null;
connection(): Connection;
}
interface IMeasurements {
networkDelayMs: number;
networkJitterMs: number;
quality: number;
}
interface IServerInstance {
zoneId: string;
zoneName: string;
studioServerId: string;
}
interface ISessionIdentifier {
sessionId: string;
sessionCode: string;
createdAt: string;
}
interface ISession {
sessionId: string;
sessionCode: string | null;
createdAt: string;
updatedAt: string;
transmitter?: IConnection | null;
receivers: Array<IConnection>;
isRecording: boolean;
}
interface IConnection {
identifier: string;
userId: string;
displayName?: string | null;
isMuted: boolean;
createdAt: string;
updatedAt: string;
}
interface ISessionInfo {
sessionId: string;
sessionCode: string | null;
sessionStatus: string;
serverIsReady: boolean;
websocketUrl: string;
transmitter?: IConnectionInfo | null;
receivers: Array<IConnectionInfo>;
createdAt: string;
updatedAt: string;
recordingStatus: string;
}
export interface IZoneLatency {
name: string;
latency: string;
}
interface ISessionSettings {
inputDevices: Array<{
identifier: number;
name: string;
selected: boolean;
}>;
outputDevices: Array<{
identifier: number;
name: string;
selected: boolean;
}>;
latencyOptimizationLevel: number;
noiseCancellationEnabled: boolean;
disableGain: boolean;
directMonitorEnabled: boolean;
}