quickvo-sdk-js 1.3.2 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,8 +18,16 @@ export interface CallsWebSocketOptions {
18
18
  export declare class CallsWebSocket {
19
19
  #private;
20
20
  prws: PrWebSocket;
21
- state: 'connecting' | 'connected' | 'closed';
21
+ activeTimeStamp: number;
22
22
  constructor(_options?: CallsWebSocketOptions);
23
+ /**
24
+ * fetchUrl
25
+ */
26
+ getUrl: (env?: "local" | "dev" | "prod") => Promise<void>;
27
+ /**
28
+ * afreshSend
29
+ */
30
+ afreshSends: () => void;
23
31
  clearEvents: (sns?: string[]) => void;
24
32
  /**
25
33
  * 连接
@@ -34,7 +42,7 @@ export declare class CallsWebSocket {
34
42
  * 发送消息
35
43
  * @param message Message
36
44
  */
37
- sendMessage: <T = any>(_message: Message, createEvent?: boolean) => Promise<SendMessageRevolve<T>>;
45
+ sendMessage: <T = any>(_message: Message, onback?: boolean) => Promise<SendMessageRevolve<T>>;
38
46
  /**
39
47
  * 触发广播事件
40
48
  * @param event 事件名称
@@ -1,20 +1,147 @@
1
+ import { K_mediaType } from '../enums/mediaType';
2
+ import { PrResolves } from './PrResolves';
3
+ import { UserTrack } from '../types';
4
+ import { PeerAnalyzeStats } from './PeerAnalyzeStats';
1
5
  export declare class P2P {
2
- peerIns: RTCPeerConnection;
3
- constructor();
6
+ prResolves: PrResolves;
7
+ phoneyStreams: Map<K_mediaType, MediaStream>;
8
+ recv_peer_ins: RTCPeerConnection;
9
+ recv_icecandidates: RTCIceCandidate[];
10
+ recv_candidate_collected: boolean;
11
+ recv_transceiverMap: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
12
+ recvPeerAnalyzeStatsIns: PeerAnalyzeStats;
13
+ send_peer_ins: RTCPeerConnection;
14
+ send_icecandidates: RTCIceCandidate[];
15
+ send_candidate_collected: boolean;
16
+ send_transceiverMap: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
17
+ sendPeerAnalyzeStatsIns: PeerAnalyzeStats;
18
+ tracks: MediaStreamTrack[];
19
+ reports: any[];
20
+ getPeerStatsTimer: number;
21
+ constructor(phoneyStreams: Map<K_mediaType, MediaStream>);
22
+ onSendPeerNetwork: (_e: any) => void;
23
+ onRecvPeerNetwork: (_e: any) => void;
24
+ getPhoneyStreams: (mediaType: K_mediaType) => MediaStream;
4
25
  /**
5
- * initOffer
26
+ * sendIceConnected
6
27
  */
7
- initOffer: () => Promise<unknown>;
28
+ sendIceConnected: () => Promise<unknown>;
8
29
  /**
9
- * initAnswer
30
+ * recvIceConnected
10
31
  */
11
- initAnswer: (offer: RTCSessionDescriptionInit, offer_candidates: RTCIceCandidateInit[]) => Promise<unknown>;
32
+ recvIceConnected: () => Promise<unknown>;
33
+ /**
34
+ * sendCandidateCollected
35
+ */
36
+ sendCandidateCollected: () => Promise<unknown>;
37
+ /**
38
+ * recvCandidateCollected
39
+ */
40
+ recvCandidateCollected: () => Promise<unknown>;
41
+ /**
42
+ * getSendIcecandidates
43
+ */
44
+ getSendIcecandidates: () => Promise<RTCIceCandidate[]>;
45
+ /**
46
+ * getRecvIcecandidates
47
+ */
48
+ getRecvIcecandidates: () => Promise<RTCIceCandidate[]>;
49
+ /**
50
+ * setOffered
51
+ */
52
+ setOffered: () => Promise<unknown>;
53
+ /**
54
+ * initSender
55
+ */
56
+ initSenderPc: () => Promise<void>;
57
+ /**
58
+ * clearSenderPc
59
+ */
60
+ clearSenderPc: () => Promise<void>;
61
+ /**
62
+ * initRecvPc
63
+ */
64
+ initRecvPc: () => Promise<void>;
65
+ /**
66
+ * clearSenderPc
67
+ */
68
+ clearRecvPc: () => Promise<void>;
69
+ /**
70
+ * initSenders
71
+ */
72
+ initSenders: (tracks?: {
73
+ mid: string;
74
+ type: number;
75
+ }[]) => Promise<void>;
76
+ /**
77
+ * addSenders
78
+ */
79
+ addSenders: (mediaTypes?: K_mediaType[]) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
80
+ /**
81
+ * addRecvs
82
+ */
83
+ addRecvs: (mediaTypes?: K_mediaType[]) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
84
+ /**
85
+ * getSenderTracks
86
+ */
87
+ getSenderTracks: (mediaTypes?: K_mediaType[]) => Promise<UserTrack[]>;
88
+ /**
89
+ * getRecvTracks
90
+ */
91
+ getRecvTracks: (mediaTypes?: K_mediaType[]) => Promise<{
92
+ type: number;
93
+ enabled: boolean;
94
+ trackName: string;
95
+ location: string;
96
+ mid: string | null;
97
+ key: string;
98
+ }[]>;
99
+ /**
100
+ * createOffer
101
+ */
102
+ createOffer: () => Promise<RTCSessionDescriptionInit>;
103
+ /**
104
+ * setOffer
105
+ */
106
+ setOffer: (offer: RTCSessionDescriptionInit) => Promise<void>;
107
+ /**
108
+ * createAnswer
109
+ */
110
+ createAnswer: () => Promise<RTCSessionDescriptionInit>;
111
+ /**
112
+ * addCandidates
113
+ */
114
+ addCandidates: (remote_candidates: RTCIceCandidate[]) => Promise<void>;
12
115
  /**
13
116
  * setAnswer
14
117
  */
15
- setAnswer: (answer: RTCSessionDescriptionInit, answer_candidates: RTCIceCandidateInit[]) => Promise<unknown>;
118
+ setAnswer: (answer: RTCSessionDescriptionInit, answer_candidates: RTCIceCandidateInit[]) => Promise<void>;
119
+ /**
120
+ * getTrack
121
+ */
122
+ getTrack: (mediaType: K_mediaType) => MediaStreamTrack | undefined;
123
+ /**
124
+ * getSendPeerNetwork
125
+ */
126
+ getSendPeerNetwork: () => {
127
+ inboundBytes: number;
128
+ outboundBytes: number;
129
+ lostRate: string;
130
+ roundTripTime: string;
131
+ jitter: string;
132
+ quality: number;
133
+ averageQuality: number;
134
+ };
16
135
  /**
17
- * close
136
+ * getRecvPeerNetwork
18
137
  */
19
- close: () => void;
138
+ getRecvPeerNetwork: () => {
139
+ inboundBytes: number;
140
+ outboundBytes: number;
141
+ lostRate: string;
142
+ roundTripTime: string;
143
+ jitter: string;
144
+ quality: number;
145
+ averageQuality: number;
146
+ };
20
147
  }
@@ -0,0 +1,40 @@
1
+ export declare class PeerAnalyzeStats {
2
+ pc: RTCPeerConnection | undefined;
3
+ network: {
4
+ inboundBytes: number;
5
+ outboundBytes: number;
6
+ lostRate: string;
7
+ roundTripTime: string;
8
+ jitter: string;
9
+ quality: number;
10
+ averageQuality: number;
11
+ };
12
+ reports: any[];
13
+ averageQualitys: number[];
14
+ timer: number;
15
+ constructor();
16
+ onNetwork: (_e: typeof this.network) => void;
17
+ getNetwork: () => {
18
+ inboundBytes: number;
19
+ outboundBytes: number;
20
+ lostRate: string;
21
+ roundTripTime: string;
22
+ jitter: string;
23
+ quality: number;
24
+ averageQuality: number;
25
+ };
26
+ getAverageQuality: () => number;
27
+ /**
28
+ * start
29
+ */
30
+ start: (pc: RTCPeerConnection) => void;
31
+ analyzeStats: () => Promise<void>;
32
+ /**
33
+ * getReports
34
+ */
35
+ getReports: (mids?: string[]) => Promise<any[]>;
36
+ /**
37
+ * stop
38
+ */
39
+ stop: () => void;
40
+ }
@@ -0,0 +1,19 @@
1
+ type ResolveInfo = Map<string, {
2
+ resolve: Function;
3
+ timer: number;
4
+ }>;
5
+ export declare class PrResolves {
6
+ resolvesMap: Map<string, ResolveInfo>;
7
+ index: number;
8
+ constructor();
9
+ /**
10
+ *
11
+ * @param eventKey 唯一key
12
+ * @param checkFun 检测函数
13
+ * @param timeout 超时时间 ms
14
+ * @returns
15
+ */
16
+ add: (eventKey: string, checkFun?: Function, timeout?: number) => Promise<unknown>;
17
+ emit: (eventKey: string) => Promise<void>;
18
+ }
19
+ export {};
@@ -1,27 +1,37 @@
1
1
  import { K_roomState } from '../enums/roomState';
2
- import { QuickOptions, Report_Log_Type, RoomOptions, RoomUser, UserTrack } from '../types';
2
+ import { QuickOptions, Report_Log_Type, RoomOptions, RoomUser, UserTrack, UserTracks } from '../types';
3
3
  import { CallsWebSocket, CallsWebSocketOptions } from './CallsWebSocket';
4
4
  import { K_mediaType } from '../enums/mediaType';
5
5
  import { NetworkQualityTester } from './NetworkQualityTester';
6
6
  import { StreamRecorder } from './StreamRecorder';
7
7
  import { PrAsyncQueue } from 'pr-async-queue';
8
8
  import { P2P } from './P2P';
9
+ import { K_iceState } from '../enums/iceState';
10
+ import { PrResolves } from './PrResolves';
9
11
  type Options = QuickOptions & RoomOptions & CallsWebSocketOptions & {
10
12
  earlyId?: string;
11
13
  };
12
14
  export declare class RoomBase {
13
15
  options: Options;
16
+ sfuPush: number;
17
+ sfuPull: number;
18
+ p2pPush: number;
19
+ p2pPull: number;
20
+ prResolves: PrResolves;
14
21
  sdk_service_version: string;
15
22
  sdk_session: string;
16
- prohibitNotify: boolean;
17
23
  isEarly: boolean;
18
24
  isInRoom: boolean;
19
25
  asyncQueue: PrAsyncQueue;
26
+ await_remote_publish_users: UserTracks[];
20
27
  roomState: K_roomState;
28
+ iceState: K_iceState;
21
29
  createAt: number;
22
30
  cwsIns: CallsWebSocket;
23
31
  peerIns: RTCPeerConnection;
32
+ sfuOffsetAverageQuality: number;
24
33
  transceiverMap: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
34
+ transceiverTrackMap: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", UserTrack>;
25
35
  sendChannel: RTCDataChannel;
26
36
  receiveChannel: RTCDataChannel;
27
37
  userMap: Map<string, RoomUser>;
@@ -37,6 +47,8 @@ export declare class RoomBase {
37
47
  screenSharing_audio: string;
38
48
  };
39
49
  constructor(options: QuickOptions);
50
+ hasAsyncTask: (key: string) => boolean;
51
+ createUserUpdateStreams: (mediaTypes?: K_mediaType[]) => any;
40
52
  /**
41
53
  * reportLogs
42
54
  */
@@ -67,10 +79,15 @@ export declare class RoomBase {
67
79
  * setRoomState
68
80
  */
69
81
  setRoomState: (state: K_roomState) => void;
82
+ /**
83
+ * setIceState
84
+ */
85
+ setIceState: (state: K_iceState) => void;
70
86
  /**
71
87
  * setOptions
72
88
  */
73
- setOptions: (options: Partial<Options>) => Promise<void>;
89
+ setOptions: (options: Partial<Options>) => Options;
90
+ getOptions: () => Options;
74
91
  /**
75
92
  * stopStream
76
93
  */
@@ -1,5 +1,5 @@
1
1
  import { K_mediaType } from '../enums/mediaType';
2
- import { QuickOptions, RoomOptions, RoomUser, Streams } from '../types';
2
+ import { QuickOptions, RoomOptions, RoomUser, Streams, UserMediaTypes } from '../types';
3
3
  import { RoomPeer } from './RoomPeer';
4
4
  export declare class RoomCalls extends RoomPeer {
5
5
  #private;
@@ -18,7 +18,7 @@ export declare class RoomCalls extends RoomPeer {
18
18
  * @param mediaDeviceKind "audioinput" | "audiooutput" | "videoinput"
19
19
  * @param deviceId string
20
20
  */
21
- setMediaDeviceKind: (mediaDeviceKind: MediaDeviceKind, deviceId: string) => Promise<boolean | Streams>;
21
+ setMediaDeviceKind: (mediaDeviceKind: MediaDeviceKind, deviceId: string) => Promise<unknown>;
22
22
  /**
23
23
  * changeScreenSharing
24
24
  * @param mediaDeviceKind "audioinput" | "audiooutput" | "videoinput"
@@ -60,38 +60,24 @@ export declare class RoomCalls extends RoomPeer {
60
60
  * @example quickvo.checkInRoom()
61
61
  */
62
62
  checkInRoom: () => Promise<Boolean>;
63
+ /**
64
+ * senderActived
65
+ */
66
+ senderActived: (timeout: number) => Promise<void>;
63
67
  /**
64
68
  * 发布流
65
69
  * @param mediaTypes MediaType[]
66
70
  * @example quickvo.publish(['microphoneCamera_audio', 'microphoneCamera_video'], 3)
67
- * @returns Promise<RoomUser>
71
+ * @returns Promise<boolean>
68
72
  */
69
- publish: (mediaTypes: K_mediaType[]) => Promise<unknown>;
73
+ publish: (mediaTypes: K_mediaType[]) => Promise<boolean>;
70
74
  /**
71
75
  * stopPublish
72
76
  * @param trackNames string[] = []
73
77
  * @example quickvo.stopPublish(['microphoneCamera_audio'])
74
- * @returns Promise<RoomUser>
75
- */
76
- stopPublish: (mediaTypes?: K_mediaType[]) => Promise<unknown>;
77
- /**
78
- * subscribe
79
- * @param trackNames strig[]
80
- * @param count number
81
- * @example quickvo.subscribe(['trackName1','trackName2'])
82
- * @returns Promise<RoomUser[]>
83
- */
84
- subscribe: (trackNames?: string[], count?: number) => Promise<unknown>;
85
- /**
86
- * renegotiate
87
- */
88
- renegotiate: () => Promise<unknown>;
89
- /**
90
- * stopSubscribe
91
- * @param trackNames string[] = []
92
- * @example quickvo.subscribe(['trackName1'])
78
+ * @returns Promise<boolean>
93
79
  */
94
- stopSubscribe: (trackNames?: string[]) => Promise<unknown>;
80
+ stopPublish: (mediaTypes?: K_mediaType[]) => Promise<boolean>;
95
81
  /**
96
82
  * inactiveTracks
97
83
  * @param mediaTypes MediaType[]
@@ -99,6 +85,20 @@ export declare class RoomCalls extends RoomPeer {
99
85
  * @example quickvo.inactiveTracks(['microphoneCamera_audio'], false)
100
86
  */
101
87
  inactiveTracks: (mediaTypes: K_mediaType[], enabled: boolean) => Promise<boolean>;
88
+ /**
89
+ * subscribe
90
+ * @param userMediaTypes: UserMediaTypes[] = []
91
+ * @example quickvo.subscribe([{ userId: '123', mediaTypes: ['mediaTypes', 'microphoneCamera_video'] }])
92
+ * @returns Promise<boolean>
93
+ */
94
+ subscribe: (userMediaTypes?: UserMediaTypes[]) => Promise<unknown>;
95
+ /**
96
+ * stopSubscribe
97
+ * @param userMediaTypes: UserMediaTypes[] = []
98
+ * @example quickvo.stopSubscribe([{ userId: '123', mediaTypes: ['mediaTypes', 'microphoneCamera_video'] }])
99
+ * @returns Promise<boolean>
100
+ */
101
+ stopSubscribe: (userMediaTypes?: UserMediaTypes[]) => Promise<boolean>;
102
102
  /**
103
103
  * setBanBehaviors
104
104
  */
@@ -107,23 +107,61 @@ export declare class RoomCalls extends RoomPeer {
107
107
  banBehaviors: { [key in K_mediaType]?: boolean; };
108
108
  }>) => Promise<unknown>;
109
109
  /**
110
- * pubChannel
110
+ * debugger
111
111
  */
112
- pubChannel: () => Promise<Boolean>;
112
+ debugger: () => Promise<import('..').SendMessageRevolve<any>>;
113
113
  /**
114
- * subChannel
114
+ * shutdown
115
115
  */
116
- subChannel: (userChannels?: any[]) => Promise<Boolean>;
117
- debugger: () => Promise<any>;
118
- shutdown: () => Promise<any>;
116
+ shutdown: () => Promise<import('..').SendMessageRevolve<any>>;
119
117
  /**
120
- * reconstruct
118
+ * restoreRoom
119
+ */
120
+ restoreRoom: () => Promise<void>;
121
+ /**
122
+ * restoreICE
123
+ */
124
+ restoreICE: () => Promise<void>;
125
+ /**
126
+ * initHeartbeat
121
127
  */
122
- reconstruct: () => Promise<void>;
123
128
  initHeartbeat: () => void;
129
+ /**
130
+ * stopHeartbeat
131
+ */
124
132
  stopHeartbeat: () => void;
125
133
  /**
126
134
  * setSession
127
135
  */
128
136
  setSession: () => void;
137
+ /**
138
+ * wsConnected
139
+ */
140
+ cwsConnected: () => Promise<unknown>;
141
+ p2p: {
142
+ /**
143
+ * open
144
+ */
145
+ open: (remoteUserId: string, mediaTypes?: K_mediaType[]) => Promise<unknown>;
146
+ /**
147
+ * replaceSenderStreams
148
+ */
149
+ replaceSenderStreams: (remoteUserIds: string[], mediaTypes: K_mediaType[] | undefined, isReal: Boolean) => Promise<void>;
150
+ /**
151
+ * reportNetwork
152
+ */
153
+ reportNetwork: () => Promise<unknown>;
154
+ /**
155
+ * reportP2PConnect
156
+ */
157
+ reportP2PConnect: (recvUserId: string, sendUserId: string, state: "success" | "fail" | "ignore" | "disconnect" | "poor_network", reason?: string, pushUserIds?: string[], connectedTime?: number) => Promise<import('..').SendMessageRevolve<any>>;
158
+ /**
159
+ * closeSend
160
+ */
161
+ closeSend: (userIds?: string[], mediaTypes?: K_mediaType[]) => Promise<void>;
162
+ /**
163
+ * closeRecv
164
+ */
165
+ closeRecv: (userIds?: string[], mediaTypes?: K_mediaType[]) => Promise<void>;
166
+ };
129
167
  }
@@ -22,12 +22,12 @@ export declare class RoomMedias extends RoomBase {
22
22
  */
23
23
  emitNotifyUpdateUsersStreams: (notifys: Array<{
24
24
  userId: string;
25
- updateStreams: { [key in K_mediaType]?: boolean; };
25
+ updateStreams: { [key in K_mediaType]?: string; };
26
26
  }>) => Promise<void>;
27
27
  /**
28
28
  * initUserMediaStreamContext
29
29
  */
30
- initUserMediaStreamContext: (userId: string, mediaType: K_mediaType, stream: MediaStream) => Promise<void>;
30
+ initUserMediaStreamContext: (userId: string, mediaType: K_mediaType, stream: MediaStream, clear: boolean) => Promise<void>;
31
31
  /**
32
32
  * getUserMediaStreamContext
33
33
  */
@@ -2,31 +2,27 @@ import { K_callStrategy } from '../enums/callStrategy';
2
2
  import { K_mediaType } from '../enums/mediaType';
3
3
  import { QuickOptions, UserTrack } from '../types';
4
4
  import { RoomUsers } from './RoomUsers';
5
+ import { PeerAnalyzeStats } from './PeerAnalyzeStats';
5
6
  export declare class RoomPeer extends RoomUsers {
6
7
  #private;
7
- getPeerStatsTimer: number;
8
- reports: any[];
9
- candidates: any[];
10
- peerNetwork: {
11
- inboundBytes: number;
12
- outboundBytes: number;
13
- lostRate: string;
14
- roundTripTime: string;
15
- jitter: string;
16
- };
8
+ peerAnalyzeStatsIns: PeerAnalyzeStats;
9
+ offset_inboundBytes: number;
10
+ offset_outboundBytes: number;
17
11
  constructor(options: QuickOptions);
18
12
  /**
19
- * initPeer
20
- */
21
- initPeer: () => void;
22
- /**
23
- * initSendChannel
13
+ * saveBoundBytes
24
14
  */
25
- initSendChannel: (label: string | undefined, id: number) => void;
15
+ saveBoundBytes: (type: "superfluous" | "missing") => void;
16
+ getTrafficUse: () => {
17
+ sfuPush: number;
18
+ sfuPull: number;
19
+ p2pPush: number;
20
+ p2pPull: number;
21
+ };
26
22
  /**
27
- * initReceiveChannel
23
+ * initPeer
28
24
  */
29
- initReceiveChannel: (label: string | undefined, id: number) => void;
25
+ initPeer: () => void;
30
26
  /**
31
27
  * replaceSenderStream
32
28
  */
@@ -34,14 +30,7 @@ export declare class RoomPeer extends RoomUsers {
34
30
  /**
35
31
  * getSenderTracks
36
32
  */
37
- getSenderTracks: (mediaTypes?: K_mediaType[]) => Promise<{
38
- type: number;
39
- enabled: boolean;
40
- trackName: string;
41
- location: string;
42
- mid: string | null;
43
- key: string;
44
- }[]>;
33
+ getSenderTracks: (mediaTypes?: K_mediaType[]) => Promise<UserTrack[]>;
45
34
  /**
46
35
  * addSenders
47
36
  */
@@ -51,9 +40,9 @@ export declare class RoomPeer extends RoomUsers {
51
40
  */
52
41
  removeSenders: (mediaTypes?: K_mediaType[]) => Promise<void>;
53
42
  /**
54
- * onSubscribeUserTracks
43
+ * stopSenders
55
44
  */
56
- onSubscribeUserTracks: (users: any[]) => Promise<unknown>;
45
+ stopSenders: (mediaTypes?: K_mediaType[]) => void;
57
46
  /**
58
47
  * iceConnected
59
48
  */
@@ -61,7 +50,7 @@ export declare class RoomPeer extends RoomUsers {
61
50
  /**
62
51
  * closeUserTracks
63
52
  */
64
- closeUserTracks: (userId: string, closeTracks?: UserTrack[], remove?: boolean) => Promise<void>;
53
+ stopTransceivers: (mids: string[]) => Promise<void>;
65
54
  createOffer: () => Promise<void>;
66
55
  createAnswer: () => Promise<void>;
67
56
  getSdp: () => string | undefined;
@@ -79,31 +68,33 @@ export declare class RoomPeer extends RoomUsers {
79
68
  */
80
69
  setRTCRtpSenderParameters: (parameters: RTCRtpSendParameters) => void;
81
70
  /**
82
- * getReportsByMid
83
- */
84
- getReportsByMid: (mids?: string[]) => Promise<any[]>;
85
- /**
86
- * getRoomNetwork
71
+ * getPeerNetwork
87
72
  */
88
- getRoomNetwork: () => {
73
+ getPeerNetwork: () => {
89
74
  inboundBytes: number;
90
75
  outboundBytes: number;
91
76
  lostRate: string;
92
77
  roundTripTime: string;
93
78
  jitter: string;
79
+ quality: number;
80
+ averageQuality: number;
94
81
  };
95
82
  /**
96
- * getPeerNetwork
83
+ * getRoomNetwork
97
84
  */
98
- getPeerNetwork: () => {
85
+ getRoomNetwork: () => {
99
86
  inboundBytes: number;
100
87
  outboundBytes: number;
101
88
  lostRate: string;
102
89
  roundTripTime: string;
103
90
  jitter: string;
91
+ quality: number;
92
+ averageQuality: number;
104
93
  };
105
94
  /**
106
- * stopGetPeerStats
95
+ * getReportsByMid
107
96
  */
97
+ getReportsByMid: (mids?: string[]) => Promise<any[]>;
98
+ startGetPeerStats: () => void;
108
99
  stopGetPeerStats: () => void;
109
100
  }
@@ -1,9 +1,10 @@
1
1
  import { K_mediaType } from '../enums/mediaType';
2
- import { QuickOptions, RoomUser, UserTrack } from '../types';
2
+ import { QuickOptions, RoomUser, UserMediaTypes, UserTrack, UserTracks } from '../types';
3
3
  import { RoomMedias } from './RoomMedias';
4
+ import { P2P } from './P2P';
4
5
  export declare class RoomUsers extends RoomMedias {
5
6
  constructor(options: QuickOptions);
6
- createP2P: () => Promise<void>;
7
+ getP2PIns: (userId: string) => Promise<P2P | undefined>;
7
8
  /**
8
9
  * getMaxVolumeUser
9
10
  */
@@ -100,9 +101,24 @@ export declare class RoomUsers extends RoomMedias {
100
101
  */
101
102
  getUserTrackByTrackName: (trackNames: string[]) => Promise<UserTrack[]>;
102
103
  /**
103
- * getUserTrackFromMid
104
+ * getUserTrackByMid
104
105
  */
105
- getUserTrackFromMid: (mid: string) => Promise<UserTrack | undefined>;
106
+ getUserTrackByMid: (mid: string) => Promise<UserTrack | undefined>;
107
+ /**
108
+ * getUsersMediaTypeBytrackNames
109
+ */
110
+ getUsersMediaTypeBytrackNames: (trackNames: string[]) => Promise<{
111
+ userId: string;
112
+ mediaTypes: ("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[];
113
+ }[]>;
114
+ /**
115
+ * getUserTrackByUserMediaTypes
116
+ */
117
+ getUserTrackByUserMediaTypes: (usersMediaTypes?: UserMediaTypes[], lastRetry?: boolean) => Promise<UserTracks[]>;
118
+ /**
119
+ * getAllUserMediaTypes
120
+ */
121
+ getAllUserMediaTypes: () => Promise<UserMediaTypes[]>;
106
122
  /**
107
123
  * checkUserInRoom
108
124
  */
@@ -120,10 +136,6 @@ export declare class RoomUsers extends RoomMedias {
120
136
  * setUserUpdateStreams
121
137
  */
122
138
  setUserUpdateStreams: (userId: string, mediaType: K_mediaType, state?: boolean) => Promise<void>;
123
- /**
124
- * updateUserChannels
125
- */
126
- updateUserChannels: (userId: string, channels: any[] | undefined, merge: Boolean) => Promise<void>;
127
139
  /**
128
140
  * updateUsertracks
129
141
  */
@@ -147,6 +159,10 @@ export declare class RoomUsers extends RoomMedias {
147
159
  * updateUserPermissions
148
160
  */
149
161
  updateUserPermissions: (userId: string, permissions: number | undefined) => Promise<void>;
162
+ /**
163
+ * updateUserUseP2P
164
+ */
165
+ updateUserUseP2P: (userId: string, useP2P: boolean) => Promise<void>;
150
166
  /**
151
167
  * updateUserBase
152
168
  */