UNPKG

mediasfu-reactjs

Version:

mediasfu-reactjs – React 18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Plug-in prebuilt rooms or build fully custom UIs.

138 lines 5.44 kB
export interface PrepopulateParticipantLike { name?: string; islevel?: string; ScreenID?: string; ScreenOn?: boolean; [key: string]: any; } export interface PrepopulateStreamLike { producerId?: string; stream?: any; [key: string]: any; } export interface BuildPrepopulateUserMediaPlanOptions<P extends PrepopulateParticipantLike, S extends PrepopulateStreamLike> { participants: P[]; allVideoStreams: S[]; member: string; islevel: string; shared: boolean; shareScreenStarted: boolean; eventType: string; screenId?: string; whiteboardStarted: boolean; whiteboardEnded: boolean; remoteScreenStream: S[]; localStreamScreen: any; checkOrientation: () => string; isWideScreen: boolean; forceFullDisplay: boolean; includeWhiteboardAsScreenFlow?: boolean; } export interface PrepopulateUserMediaPlan<P extends PrepopulateParticipantLike> { screenFlowActive: boolean; shouldReturnEarly: boolean; shouldUpdateAdminOnMainScreen: boolean; screenForceFullDisplay: boolean; host: P | null; hostStream: any; adminOnMainScreen: boolean; mainScreenPerson: string; } export interface ResolveMainHostRenderModeOptions { islevel: string; localUIMode: boolean; videoAlreadyOn: boolean; audioAlreadyOn: boolean; hostVideoOn: boolean; hostMuted?: boolean; } export type MainHostRenderMode = 'adminVideo' | 'audio' | 'mini' | 'video'; export interface ResolveHostVideoStreamOptions<TStreamLike = PrepopulateStreamLike> { islevel: string; keepBackground: boolean; virtualStream: any; localStreamVideo: any; oldAllStreams: TStreamLike[]; hostVideoID?: string; } export interface BuildMainScreenStateOptions { filled: boolean; adminOnMainScreen: boolean; mainScreenPerson: string; } export interface MainScreenState { filled: boolean; adminOnMainScreen: boolean; mainScreenPerson: string; } export interface BuildMainHostCardPlanOptions<TStreamLike = PrepopulateStreamLike> { islevel: string; localUIMode: boolean; videoAlreadyOn: boolean; audioAlreadyOn: boolean; hostVideoOn: boolean; hostMuted?: boolean; hostIsAdmin: boolean; hostName: string; hostVideoID?: string; fallbackName: string; member: string; keepBackground: boolean; virtualStream: any; localStreamVideo: any; oldAllStreams: TStreamLike[]; } export interface MainHostCardPlan { kind: 'video' | 'audio' | 'mini'; key: string; name: string; initials?: string; remoteProducerId?: string; videoStream?: any; doMirror?: boolean; state: MainScreenState; } export interface BuildScreenShareHostCardPlanOptions { hostName: string; hostScreenID?: string; hostIsAdmin: boolean; shared: boolean; hostStream: any; screenForceFullDisplay: boolean; annotateScreenStream: boolean; } export interface ScreenShareHostCardPlan { key: string; name: string; remoteProducerId: string; videoStream: any; forceFullDisplay: boolean; doMirror: false; state: MainScreenState; } /** * ReactJS-local mirror helper for resolving host render mode in non-screen-share flow. */ export declare function resolveMainHostRenderMode({ islevel, localUIMode, videoAlreadyOn, audioAlreadyOn, hostVideoOn, hostMuted, }: ResolveMainHostRenderModeOptions): MainHostRenderMode; /** * ReactJS-local mirror for resolving host video stream source in non-screen-share flow. */ export declare function resolveHostVideoStream<TStreamLike extends PrepopulateStreamLike = PrepopulateStreamLike>({ islevel, keepBackground, virtualStream, localStreamVideo, oldAllStreams, hostVideoID, }: ResolveHostVideoStreamOptions<TStreamLike>): any; /** * ReactJS-local mirror for normalizing main-screen state updates. */ export declare function buildMainScreenState({ filled, adminOnMainScreen, mainScreenPerson, }: BuildMainScreenStateOptions): MainScreenState; /** * ReactJS-local mirror for resolving the non-screen-share host card plan. */ export declare function buildMainHostCardPlan<TStreamLike extends PrepopulateStreamLike = PrepopulateStreamLike>({ islevel, localUIMode, videoAlreadyOn, audioAlreadyOn, hostVideoOn, hostMuted, hostIsAdmin, hostName, hostVideoID, fallbackName, member, keepBackground, virtualStream, localStreamVideo, oldAllStreams, }: BuildMainHostCardPlanOptions<TStreamLike>): MainHostCardPlan; /** * ReactJS-local mirror for resolving the screen-share host card plan. */ export declare function buildScreenShareHostCardPlan({ hostName, hostScreenID, hostIsAdmin, shared, hostStream, screenForceFullDisplay, annotateScreenStream, }: BuildScreenShareHostCardPlanOptions): ScreenShareHostCardPlan; /** * ReactJS-local mirror of shared prepopulateUserMedia planning logic. * Keep this aligned with mediasfu-shared/src/consumers/gridLayout/prepopulateUserMedia.engine.ts. */ export declare function buildPrepopulateUserMediaPlan<P extends PrepopulateParticipantLike, S extends PrepopulateStreamLike>({ participants, allVideoStreams, member, shared, shareScreenStarted, eventType, screenId, whiteboardStarted, whiteboardEnded, remoteScreenStream, localStreamScreen, checkOrientation, isWideScreen, forceFullDisplay, includeWhiteboardAsScreenFlow, }: BuildPrepopulateUserMediaPlanOptions<P, S>): PrepopulateUserMediaPlan<P>; //# sourceMappingURL=prepopulateUserMedia.engine.d.ts.map