@simplito/privmx-webendpoint
Version:
PrivMX Web Endpoint library
68 lines (67 loc) • 1.64 kB
TypeScript
import { NewPublisherEvent } from "../service/WebRtcInterface";
import { StreamRoomId } from "./types/ApiTypes";
export declare class RTCRtpScriptTransform {
constructor(worker: any, options: any);
transform: (frame: any, controller: any) => void;
}
export interface PeerCredentials {
username: string;
password: string;
expirationTime: number;
}
export interface EncKey {
key: Buffer;
iv: Buffer;
}
export interface InitOptions {
signalingServer: string;
appServer: string;
mediaServer: string;
turnUrls?: string[];
iceTransportPolicy?: RTCIceTransportPolicy;
encKey?: string;
}
export interface VideoStream {
stream: MediaStream;
isLocal: boolean;
id: string;
}
export type PluginHandleId = number & {
_pluginHandleId: never;
};
export type PluginId = string & {
_pluginId: never;
};
export type SessionId = number & {
_sessionId: never;
};
export interface JanusPluginHandle {
id: PluginHandleId;
pluginId: PluginId;
}
export interface JanusSession {
id: SessionId;
}
export interface Publisher extends NewPublisherEvent {
attached: boolean;
room: StreamRoomId;
}
export type EncPair = {
readable: ReadableStream<any>;
writable: WritableStream<any>;
id: string;
publisherId: number;
posted: boolean;
};
export interface RTCEncodedStream {
readable: ReadableStream<EncodedAudioChunk | EncodedVideoChunk>;
writable: WritableStream<EncodedAudioChunk | EncodedVideoChunk>;
}
export interface QueueItem {
taskId: number;
_room: StreamRoomId;
jsep?: {
sdp: string;
type: string;
};
}