zego-express-engine-webrtc
Version:
zego webrtc express sdk
106 lines (105 loc) • 4.82 kB
TypeScript
import { StateCenter } from './stateCenter';
import { ENUM_STREAM_UPDATE_TYPE, ERRO, ZegoResponse, ZegoRoomInfo, CdnPushConfig, ZReporter, MiniStreamDispatchRequest, ZegoLogger } from './zego.entity';
import { ZegoExpressWebRTM } from '../rtm';
import { ZegoStreamCenter } from './streamCenter';
export interface ServerRoomStreamInfo {
stream_id: string;
anchor_id_name?: string;
id_name?: string;
user_id?: string;
}
export declare class StreamHandler {
private _zgp_logger;
private _zgp_stateCenter;
private rtm;
private _zgp_streamCenter;
private _zgp_roomID;
private _zgp_minStreamSeq;
private _zgp_streamSeq;
private _zgp_maxFullStreamSeq;
private _zgp_streamQuerying;
private _zgp_streamSeqMergeMap;
private _zgp_streamSeqMergeTimer;
private _zgp_streamListHBMergeInterval;
private _zgp_streamListMergeInterval;
room?: ZegoRoomInfo;
mixStreamTaskList: {
[index: string]: {
mixStatusVer: number;
requestId: string;
};
};
mixRequestIdList: string[];
mixStreamHbList: {
[index: string]: {
timer?: any;
};
};
roomID: string;
stateCenter: StateCenter;
logger: ZegoLogger;
private get _zgp_reporter();
get reporter(): ZReporter;
constructor(_zgp_logger: ZegoLogger, _zgp_stateCenter: StateCenter, rtm: ZegoExpressWebRTM, _zgp_streamCenter: ZegoStreamCenter, _zgp_roomID: string);
private _setCDNInfo;
onStreamUpdated(roomid: string, type: ENUM_STREAM_UPDATE_TYPE, streamList: any[]): void;
onStreamExtraInfoUpdated(roomid: string, streamList: any[]): void;
onStreamAttrUpdated(roomid: string, streamList: any[]): void;
handleStreamStart(msg: any, room: ZegoRoomInfo): void;
onFullUpdateStream(newStreamList: Array<ServerRoomStreamInfo>): void;
onPublishStateUpdate(type: number, streamId: string, error: ERRO, extendedData?: string): void;
_updateStreamInfo(streamid: string, cmd: string | number, stream_extra_info?: string, success?: Function, error?: Function, stream_attr_opts?: {
stream_resource?: number;
stream_codec?: number;
}): void;
updateStreamInfo(streamid: string, cmd: string | number, stream_extra_info?: string, success?: Function, error?: Function, stream_attr_opts?: {
stream_resource?: number;
stream_codec?: number;
}): void;
handleStreamUpdateRsp(msg: any, streamid?: string, cmd?: number | string): void;
handleStreamSync(msg: any, streamID: string, cmd?: string | number): void;
handleStreamRsp(room: ZegoRoomInfo, streamID: string, streamInfo: any, cmd?: string | number): void;
handleFetchStreamListRsp(msg: any, updateStreamID?: string): void;
syncPublishStreamList(): void;
handleFullUpdateStream(serverStreamSeq: number, serverStreamList: any[], isLoginRsp?: boolean): void;
handlePushStreamUpdateMsg(msg: any): void;
private _zgp_handleAddedStreamList;
private _zgp_handleDeletedStreamList;
private _handleUpdatedStreamList;
fetchStreamList(streamID?: string): void;
private _handleReconnectStream;
makeCallbackStreamList(streamList: any[]): any;
sendHttpPBRequest(httpURLs: {
interfaceID: number;
resID?: string;
protoCmd?: string;
}, reqBody: Uint8Array, suc: Function, err: Function, options?: {
timeout?: number;
}): void;
sendMixRequest(httpURLs: {
interfaceID: number;
resID?: string;
protoCmd?: string;
}, reqBody: Uint8Array, suc: Function, err: Function, retryCount?: number): void;
sendRTMPRequest(app: string, requestInfo: MiniStreamDispatchRequest, success: (res: any) => void, fail: (res: any) => void): void;
_publishTarget(cdnPushConfig: CdnPushConfig, success: (result: {
errorCode: number;
extendedData: string;
}) => void, error: (err: {
code: number;
message: string;
}, externMsg?: string) => void): void;
updateStreamExtraInfo(streamid: string, extraInfo: string, success: Function, error: Function): void;
getMixStreamStatus(transResults: any): void;
setStreamExtraInfo(streamID: string, extraInfo: string, success: Function, error: (err: {
code: number;
message: string;
}, errMsg: string) => void): void;
_publishTargetWeb(cdnPushConfig: any, success: (result: ZegoResponse) => void, error: (err: ERRO, externMsg?: string) => void): void;
patchStreamList(msg: any): void;
getStreamSeq(): number;
mergeStreamByStreamSeq(cmd: number, streamSeq: number, streamList: any[]): void;
handleMergeTimeout(): void;
mergeStream(streamSeqList: any[]): void;
reset(): void;
}