@100mslive/hms-video-store
Version:
@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow
102 lines (101 loc) • 4.2 kB
TypeScript
import { KnownRoles, TrackStateEntry } from './StoreInterfaces';
import { HMSConfig, HMSFrameworkInfo, HMSPoll, HMSSpeaker, HMSWhiteboard } from '../../interfaces';
import { IErrorListener } from '../../interfaces/error-listener';
import { HMSSimulcastLayerDefinition, SimulcastLayer } from '../../interfaces/simulcast-layers';
import { HMSAudioTrack, HMSLocalTrack, HMSRemoteVideoTrack, HMSTrack, HMSTrackSource, HMSVideoTrack } from '../../media/tracks';
import { PolicyParams } from '../../notification-manager';
import { ENV } from '../../utils/support';
import HMSRoom from '../models/HMSRoom';
import { HMSLocalPeer, HMSPeer, HMSRemotePeer } from '../models/peer';
declare class Store {
private TAG;
private room?;
private knownRoles;
private localPeerId?;
private peers;
private tracks;
private templateAppData?;
private peerTrackStates;
private speakers;
private videoLayers?;
private config?;
private errorListener?;
private roleDetailsArrived;
private env;
private simulcastEnabled;
private userAgent;
private polls;
private whiteboards;
getConfig(): HMSConfig | undefined;
setSimulcastEnabled(enabled: boolean): void;
removeRemoteTracks(): void;
getEnv(): ENV;
getPublishParams(): import("../../interfaces").PublishParams | undefined;
getRoom(): HMSRoom | undefined;
getPolicyForRole(role: string): import("../../interfaces").HMSRole;
getKnownRoles(): KnownRoles;
getTemplateAppData(): Record<string, string> | undefined;
getLocalPeer(): HMSLocalPeer | undefined;
getRemotePeers(): HMSRemotePeer[];
getPeers(): HMSPeer[];
getPeerMap(): Record<string, HMSPeer>;
getPeerById(peerId: string): HMSPeer | undefined;
getTracksMap(): Map<HMSTrack, HMSTrack>;
getTracks(): HMSTrack[];
getVideoTracks(): HMSVideoTrack[];
getRemoteVideoTracks(): HMSRemoteVideoTrack[];
getAudioTracks(): HMSAudioTrack[];
getPeerTracks(peerId?: string): HMSTrack[];
getLocalPeerTracks(): HMSLocalTrack[];
hasTrack(track: HMSTrack): boolean;
getTrackById(trackId: string): HMSTrack | import("../../media/tracks").HMSLocalAudioTrack | undefined;
getPeerByTrackId(trackId: string): HMSPeer | undefined;
getSpeakers(): HMSSpeaker[];
getSpeakerPeers(): HMSPeer[];
getUserAgent(): string;
createAndSetUserAgent(frameworkInfo?: HMSFrameworkInfo): void;
setRoom(room: HMSRoom): void;
setKnownRoles(params: PolicyParams): void;
hasRoleDetailsArrived(): boolean;
setConfig(config: HMSConfig): void;
addPeer(peer: HMSPeer): void;
/**
* @param {HMSTrack} track the published track that has to be added
*
* Note: Only use this method to add published tracks not preview traks
*/
addTrack(track: HMSTrack): void;
getTrackState(trackId: string): TrackStateEntry;
setTrackState(trackStateEntry: TrackStateEntry): void;
removeTrackState(trackId: string): void;
removePeer(peerId: string): void;
removeTrack(track: HMSTrack): void;
updateSpeakers(speakers: HMSSpeaker[]): void;
updateAudioOutputVolume(value: number): Promise<void>;
updateAudioOutputDevice(device: MediaDeviceInfo): Promise<void>;
getSimulcastLayers(source: HMSTrackSource): SimulcastLayer[];
/**
* Convert maxBitrate from kbps to bps
* @internal
* @param simulcastLayers
* @returns {SimulcastLayers}
*/
private convertSimulcastLayers;
getSimulcastDefinitionsForPeer(peer: HMSPeer, source: HMSTrackSource): HMSSimulcastLayerDefinition[];
setPoll(poll: HMSPoll): void;
getPoll(id: string): HMSPoll | undefined;
setWhiteboard(whiteboard: HMSWhiteboard): void;
getWhiteboards(): Map<string, HMSWhiteboard>;
getWhiteboard(id?: string): HMSWhiteboard | undefined;
getErrorListener(): IErrorListener | undefined;
cleanup(): void;
setErrorListener(listener: IErrorListener): void;
private updatePeersPolicy;
private addPluginsToRoles;
private addPermissionToRole;
private addWhiteboardPluginToRole;
private addTranscriptionsPluginToRole;
private handleNoiseCancellationPlugin;
private setEnv;
}
export { Store };