@msquared/pixel-streaming-client
Version:
Browser client for viewing pixel-streamed content from MSquared events
119 lines • 3.86 kB
TypeScript
export interface Zone {
name: string;
address: string;
}
export interface ServerVersionEntity {
name?: string;
buildVersion?: string;
buildDateTime?: string;
zoneVersion?: string;
protocolMinorVersion?: number;
protocolMajorVersion?: number;
}
export declare enum ServerType {
Unknown = -1,
Nimbus = 0,
GameStream = 1,
GameStreamRoamingProxy = 2,
CloudStation = 3,
QuadroStation = 4,
PassThrough = 51,
Playback = 52,
SecureSignallingPassThrough = 53
}
export declare enum TerminationErrorCode {
Success = 15859712,
ServerDisconnectedIntended = 15868704,// Game client terminated.
ServerDisconnectedUserIdle = 15868708,// No input received from user.
ServerDisconnectedAnotherClient = 15868714,// User started another client.
ServerDisconnectedConcurrentSessionLimitExceeded = 15868740,// User started another session.
ServerDisconnectedMultipleLogin = 15868744,// User started another session.
ServerDisconnectedMaintenanceMode = 15868745,// Service is entering maintenance.
ServerDisconnectedMultipleTab = 15868752,// User started another session in another tab.
NoNetwork = 3237089281,// No network detected.
NetworkError = 3237089282,// Network connection failed.
RequestLimitExceeded = 3237093642,// User started too many streams.
SessionLimitExceeded = 3237093643,// User started too many streams.
Maintenance = 3237093656,// Service is in maintenance.
AppPatching = 3237093673,// The application is being updated.
RegionBanned = 3237093685,// The user is in an unsupported region.
GuestModeCampaignDisabled = 3237093705,// The application does not support guest mode.
InvalidVideoElement = 3237094400,// The supplied video element is invalid.
InvalidAudioElement = 3237094401
}
export interface ZoneTable {
[key: string]: Zone;
}
export interface MonitorSettingsEntity {
monitorId?: number;
positionX?: number;
positionY?: number;
widthInPixels?: number;
heightInPixels?: number;
dpi?: number;
framesPerSecond?: number;
sdrHdrMode?: number;
}
export interface ServerInfo {
version: ServerVersionEntity;
vpcId: string;
serverType: ServerType;
defaultZone: Zone;
zones: ZoneTable;
monitorSettings: MonitorSettingsEntity[];
}
declare class Settings {
constructor(descriptor?: {
clientId?: string;
catalogClientId?: string;
partnerId?: string;
serviceUrl?: string;
});
}
export declare class API {
readonly Settings: typeof Settings;
auth: {
guestUser: {
idToken: string;
} | null;
loginWithNonce(nonce: string, appId: number): Promise<void>;
};
server: {
getServerInfo: (serviceUrl?: string, skipLatencyBasedRouting?: boolean) => Promise<ServerInfo>;
};
settings: {
vpcId: string;
};
streamer: {
detectStreamingResolution: () => {
width: number;
height: number;
};
start: (params: {
server: Zone | string;
appId: number;
windowElementId?: string;
streamParams: {
width: number;
height: number;
fps: number;
};
}) => Promise<void>;
stop: () => void;
on: {
(event: "started", callback: () => void): void;
(event: "terminated", callback: (e: {
reason: number;
code?: number;
}) => void): void;
(event: "diagnostic", callback: (e: {
level?: number;
code?: number;
message?: string;
}) => void): void;
};
};
initialize(settings: Settings): Promise<void>;
}
export {};
//# sourceMappingURL=types.d.ts.map