UNPKG

@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
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; }