@phenixrts/sdk
Version:
JavaScript SDK
41 lines (40 loc) • 1.36 kB
TypeScript
import { ISetRemoteDescriptionRequest } from './SetRemoteDescription';
export type SubscribeStatus = 'ok' | 'no-stream' | 'not-found' | 'geo-restricted' | 'geo-blocked' | 'unauthorized' | 'capacity' | 'rate-limited' | 'timeout' | 'forbidden-tag' | 'port-in-range-not-found' | 'failed';
export interface ISubscribeRequest {
apiVersion: number;
clientVersion: string;
bearerToken: string;
failureCount: number;
httpRoundTripTime: number;
}
export interface ISubscribeWithOfferRequest extends ISubscribeRequest {
setRemoteDescription: ISetRemoteDescriptionRequest;
createAnswerDescription: {
apiVersion: number;
};
}
export interface ISubscribeWithoutOfferRequest extends ISubscribeRequest {
createOfferDescription: {
apiVersion: number;
};
}
export interface ISubscribeSuccessResponse {
status: 'ok';
streamId: string;
sharedSecret: string;
lag: number;
rtcConfiguration?: RTCConfiguration;
setRemoteDescriptionResponse?: {
sessionDescription: RTCSessionDescription;
};
createOfferDescriptionResponse?: {
sessionDescription: RTCSessionDescription;
};
createAnswerDescriptionResponse?: {
sessionDescription: RTCSessionDescription;
};
[key: string]: unknown;
}
export interface ISubscribeFailureResponse {
status: SubscribeStatus;
}