import { SignalingUser } from "./base"; import { Profile } from '../types'; import { RtpCapabilities, IceCandidates, DtlsParameters, IceParameters } from "./sdp"; export interface SignalingRes { code: number; error: string; } export interface SignalingAuth { token: string; reconntoken?: number; playerdata?: string; agent: string; sdkversion: string; capsdp: string; msgsn?: number; supportdomain?: boolean; } export interface SignalingAuthRes extends SignalingRes { reconntoken: number; tracks: null | SignalingTrackInfo[]; players: SignalingUser[]; rtpcaps: RtpCapabilities; "merge-option": any; "stun-server-addr": string; "my-pubs"?: { streamid: string; }[]; "my-subs"?: { connid: string; streamid: string; }[]; } export interface SignalingPcRes extends SignalingRes { pcid: string; iceParameters: IceParameters; iceCandidates: IceCandidates[]; dtlsParameters: DtlsParameters; tracks: { trackid: string; localid: string; status: boolean; versionid: number; }[]; } export interface SignalingPublishTrack { localid: string; localmid?: string; kind: string; master: boolean; tag?: string; kbps?: number; } export interface SignalingPublishRes extends SignalingRes { tracks: { trackid: string; localid: string; localmid?: string; status: boolean; versionid: number; }[]; } export interface SignalingStream { streamid: string; playerid: string; "enable-audio": boolean; "enable-video": boolean; "mute-audio": boolean; "mute-video": boolean; tracks: SignalingTrackInfo[]; } export interface SignalingTrackInfo { kind: "audio" | "video"; master: boolean; muted: boolean; playerid: string; tag: string; trackid: string; mid?: string; versionid: number; profiles?: Profile[]; } export interface SignalingCustomMessage { msgid: string; playerid: string; type: string; text: string; msgts: number; msgsn: number; } /** * send-qos-message 信令中发送的数据格式 * 注意 qos 为 json 字符串,转换前数据格式为 QosWsMessageQos */ export interface SignalingSendQosMessage { qos: string; msgid?: string; target?: string[]; } /** * on-qos-messages 信令中收到的数据格式 * 注意 qos 为 json 字符串,转换前数据格式为 QosWsMessageQos */ export interface SignalingQosMessage { msgid: string; playerid: string; msgts: number; msgsn: number; qos: string; }