@rongcloud/plugin-wechat-rtc
Version:
@rongcloud/plugin-wechat-rtc
77 lines • 3.43 kB
TypeScript
import { IPublishedResource, ISubParams } from '../interfaces';
import { RCRemoteStream } from '../RCRemoteStream';
import { IExchangeSub } from '../service/interface';
import RCMediaService from '../service/RCMediaService';
import Store from '../store';
import { CommandExecuteContext } from './CommandExecuteContext';
import { IPullRTCRoomUsersData, IRoomStatus, IRTCUsers } from '../codec/interface';
import { Invoker } from '../invoker';
export declare const getSubscribeList: (store: Store, subParams: ISubParams[] | RCRemoteStream[]) => IExchangeSub[];
/**
* 判断 subParams 是否包含 subItem
*/
export declare const isNewSubItem: (subItem: ISubParams, subParams: ISubParams[]) => boolean;
/**
* 去掉 msId 被包含在 newSubParams 的订阅参数
*/
export declare const isRestSubItem: (subItem: ISubParams, newSubParams: ISubParams[]) => boolean;
/**
* 远端人员发布资源处理
* @param publishedList 一组新发布的 IPublishedResource 数据
*/
export declare const handlePublishList: (ctx: CommandExecuteContext, publishedList: IPublishedResource[], userId: string) => Promise<void>;
/**
* 远端人员取消发布处理
* @param unpublishedList 一组取消发布的 IPublishedResource 数据
*/
export declare const handleUnpublishList: (ctx: CommandExecuteContext, unpublishedList: IPublishedResource[], userId: string) => Promise<void>;
/**
* 远端资源变更处理(无需和 mediaServer 做交互)
* @param modifiedList 一组资源状态被改变的 IPublishedResource 数据
*/
export declare const handleModifiedList: (ctx: CommandExecuteContext, modifiedList: IPublishedResource[], userId: string) => void;
export declare const handleLeftUsers: (left: string[], store: Store, executeCtx: CommandExecuteContext) => Promise<void>;
/**
* 和 mediaServer 交互
*/
export declare const mediaServerExchange: (store: Store, mediaServer: RCMediaService, newSubParams: ISubParams[] | RCRemoteStream[], isUnpub?: boolean) => Promise<{
code: import("../..").RCRTCCode;
data?: import("../service/interface").IExchangeResponse | undefined;
}>;
/**
* 处理房间全量数据
* 重连或拉取房间数据
*/
export declare function handleFullRoomData(usersData: IRTCUsers, store: Store, executeCtx: CommandExecuteContext, invoker: Invoker, CDNUris?: string, traceId?: string): Promise<void>;
/**
* 通知拉取到的增量房间数据格式为 IRoomStatus
* 把 IRoomStatus 转化为通用解析资源方法(ParseRemoteResCommand)需要的数据
*/
export declare function transPullDataToResMsgCont(data: IRoomStatus): {
userId: string;
content: {
uris: any;
cdn_uris: any;
};
} | undefined;
/**
* 通知拉取到的增量房间数据格式为 IRoomStatus
* 把 IRoomStatus 转化为通用处理人员方法(_stateHandle)需要的数据
*/
export declare function transPullDataToStateMsgCont(data: IRoomStatus): {
users: {
userId: string;
extra: string;
state: import("../enums/inner/PullRoomStatusEvent").PullRoomStatusEvent;
switchRoleType: 0;
}[];
};
/**
* 通知拉取到的全量房间数据格式为 IPullRTCRoomUsersData
* 把 IPullRTCRoomUsersData 转化为通用解析所有房间数据方法(parseRoomData)需要的数据
*/
export declare function transPullFullUsersData(usersData: IPullRTCRoomUsersData[]): {
urisData: IRTCUsers;
CDNUris: string;
};
//# sourceMappingURL=help.d.ts.map