@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
35 lines (34 loc) • 1.31 kB
TypeScript
import { Store } from './store';
import { DeviceManager } from '../device-manager';
import { HMSRole } from '../interfaces';
import InitialSettings from '../interfaces/settings';
import { HMSUpdateListener } from '../interfaces/update-listener';
import HMSTransport from '../transport';
export default class RoleChangeManager {
private store;
private transport;
private deviceManager;
private publish;
private removeAuxiliaryTrack;
private listener?;
constructor(store: Store, transport: HMSTransport, deviceManager: DeviceManager, publish: (settings: InitialSettings) => Promise<void>, removeAuxiliaryTrack: (trackId: string) => void, listener?: HMSUpdateListener | undefined);
handleLocalPeerRoleUpdate: ({ oldRole, newRole }: {
oldRole: HMSRole;
newRole: HMSRole;
}) => Promise<void>;
diffRolesAndPublishTracks: ({ oldRole, newRole }: {
oldRole: HMSRole;
newRole: HMSRole;
}) => Promise<void>;
private syncDevices;
private removeVideoTracks;
private removeAudioTrack;
private removeScreenTracks;
private removeAuxTracks;
private removeTrack;
private hasSimulcastDifference;
private getSettings;
private getMutedStatus;
private getAudioDeviceSettings;
private getVideoInputDeviceId;
}