@vkontakte/calls-sdk 2.5.2-beta.3 → 2.5.2-beta.4
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.
- package/CallsSDK.d.ts +9 -9
- package/abstract/BaseSignaling.d.ts +7 -7
- package/calls-sdk.cjs.js +8 -8
- package/calls-sdk.esm.js +8 -8
- package/classes/Conversation.d.ts +13 -12
- package/classes/DebugInfo.d.ts +2 -2
- package/classes/SpeakerDetector.d.ts +2 -2
- package/classes/SpecListener.d.ts +3 -3
- package/classes/screenshare/BaseStreamBuilder.d.ts +3 -3
- package/classes/screenshare/ScreenCaptureReceiver.d.ts +2 -2
- package/classes/screenshare/StreamBuilder.d.ts +2 -2
- package/classes/screenshare/WebmBuilder.d.ts +2 -2
- package/classes/transport/DirectTransport.d.ts +2 -2
- package/classes/transport/ServerTransport.d.ts +2 -2
- package/classes/transport/Statistics.d.ts +2 -2
- package/classes/transport/Transport.d.ts +5 -5
- package/default/Api.d.ts +1 -1
- package/default/Signaling.d.ts +7 -7
- package/package.json +1 -1
- package/static/External.d.ts +18 -18
- package/static/Params.d.ts +21 -20
- package/static/Utils.d.ts +12 -4
- package/types/ConversationParams.d.ts +1 -0
- package/types/ConversationResponse.d.ts +4 -0
- package/types/ExternalId.d.ts +17 -1
- package/types/Participant.d.ts +11 -3
- package/types/ParticipantLayout.d.ts +2 -6
- package/types/ParticipantPriority.d.ts +3 -3
- package/types/ParticipantStreamDescription.d.ts +2 -2
- package/types/SignalingMessage.d.ts +25 -17
package/static/Utils.d.ts
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
import { BigInteger } from 'big-integer';
|
|
2
2
|
import UserType from '../enums/UserType';
|
|
3
3
|
import { ExternalParticipant } from '../types/ExternalId';
|
|
4
|
-
import { CompositeUserId, OkUserId, Participant, ParticipantStateMapped } from '../types/Participant';
|
|
4
|
+
import { CompositeUserId, OkUserId, Participant, ParticipantId, ParticipantStateMapped } from '../types/Participant';
|
|
5
5
|
import SignalingMessage from '../types/SignalingMessage';
|
|
6
6
|
import VideoSettings from '../types/VideoSettings';
|
|
7
|
+
export declare const PARAMETERS_SEPARATOR = ":";
|
|
8
|
+
export declare const DEVICE_IDX_PARAMETER = "d";
|
|
7
9
|
declare namespace Utils {
|
|
8
10
|
function patchSDP(sdp: string, preferH264: boolean, brokenH264: boolean, preferVP9: boolean, isAudioNack?: boolean): string;
|
|
9
11
|
function getPeerIdString(peerId: SignalingMessage.PeerId): string;
|
|
10
12
|
function comparePeerId(peerId1: SignalingMessage.PeerId, peerId2: SignalingMessage.PeerId): boolean;
|
|
11
13
|
function getPeerConnectionHostInfo(pc: RTCPeerConnection): Promise<any>;
|
|
12
|
-
function
|
|
13
|
-
function composeParticipantId(
|
|
14
|
-
function
|
|
14
|
+
function composeUserId(id: CompositeUserId | OkUserId, type: UserType): CompositeUserId;
|
|
15
|
+
function composeParticipantId(id: CompositeUserId | OkUserId, type: UserType, deviceIdx: number): ParticipantId;
|
|
16
|
+
function compose(compositeId: CompositeUserId, deviceIdx: number): ParticipantId;
|
|
17
|
+
function composeId(participant: SignalingMessage.Participant): ParticipantId;
|
|
18
|
+
function composeMessageId(message: SignalingMessage): ParticipantId;
|
|
15
19
|
function decomposeId(compositeId: CompositeUserId | OkUserId): {
|
|
16
20
|
id: OkUserId;
|
|
17
21
|
type: UserType;
|
|
18
22
|
};
|
|
23
|
+
function decomposeParticipantId(participantId: ParticipantId): {
|
|
24
|
+
compositeUserId: CompositeUserId;
|
|
25
|
+
deviceIdx: number;
|
|
26
|
+
};
|
|
19
27
|
function uuid(): string;
|
|
20
28
|
function throttle(func: Function, ms: number): (this: any) => void;
|
|
21
29
|
function sdpFingerprint(sdp: string): BigInteger;
|
package/types/ExternalId.d.ts
CHANGED
|
@@ -22,6 +22,13 @@ export declare namespace ExternalIdUtils {
|
|
|
22
22
|
function compare(id1: ExternalId, id2: ExternalId): boolean;
|
|
23
23
|
}
|
|
24
24
|
export declare type ExternalIdString = string;
|
|
25
|
+
export declare namespace ExternalParticipantIdUtils {
|
|
26
|
+
function fromId(id: string, type?: ExternalIdType, deviceIdx?: number): ExternalParticipantId;
|
|
27
|
+
function toString(externalId: ExternalParticipantId): ExternalParticipantIdString;
|
|
28
|
+
function fromSignaling(signalingId: SignalingMessage.ExternalId, deviceIdx: number): ExternalParticipantId;
|
|
29
|
+
function getDeviceIdx(externalId: string | ExternalParticipantId | null): number;
|
|
30
|
+
}
|
|
31
|
+
export declare type ExternalParticipantIdString = string;
|
|
25
32
|
/**
|
|
26
33
|
* Идентификатор внешнего пользователя
|
|
27
34
|
*/
|
|
@@ -35,6 +42,15 @@ export interface ExternalId {
|
|
|
35
42
|
*/
|
|
36
43
|
type: ExternalIdType;
|
|
37
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Идентификатор участника звонка
|
|
47
|
+
*/
|
|
48
|
+
export interface ExternalParticipantId extends ExternalId {
|
|
49
|
+
/**
|
|
50
|
+
* Индекс устройства (позволяет отличать участников, которые присоединяются к звонку под одной учётной записью с разных устройств)
|
|
51
|
+
*/
|
|
52
|
+
deviceIdx: number;
|
|
53
|
+
}
|
|
38
54
|
/**
|
|
39
55
|
* Участник звонка
|
|
40
56
|
*/
|
|
@@ -42,7 +58,7 @@ export interface ExternalParticipant {
|
|
|
42
58
|
/**
|
|
43
59
|
* Идентификатор пользователя
|
|
44
60
|
*/
|
|
45
|
-
uid:
|
|
61
|
+
uid: ExternalParticipantId;
|
|
46
62
|
/**
|
|
47
63
|
* Данные стрима
|
|
48
64
|
*/
|
package/types/Participant.d.ts
CHANGED
|
@@ -3,10 +3,18 @@ import ParticipantState from '../enums/ParticipantState';
|
|
|
3
3
|
import UserRole from '../enums/UserRole';
|
|
4
4
|
import { ParticipantStatus } from '../static/External';
|
|
5
5
|
import MediaSettings from '../types/MediaSettings';
|
|
6
|
-
import {
|
|
6
|
+
import { ExternalParticipantId } from './ExternalId';
|
|
7
7
|
import MuteStates from './MuteStates';
|
|
8
8
|
import ParticipantLayout from './ParticipantLayout';
|
|
9
|
+
/**
|
|
10
|
+
* Уникально идентифицирует пользователя или группу
|
|
11
|
+
*/
|
|
9
12
|
export declare type CompositeUserId = string;
|
|
13
|
+
/**
|
|
14
|
+
* Уникально идентифицирует участника звонка
|
|
15
|
+
* (одному пользователю могут соответствовать несколько участников, в случае если пользователь зашёл в звонок с нескольких устройств)
|
|
16
|
+
*/
|
|
17
|
+
export declare type ParticipantId = string;
|
|
10
18
|
export declare type OkUserId = number;
|
|
11
19
|
/**
|
|
12
20
|
* Стейт участника звонка
|
|
@@ -18,8 +26,8 @@ export interface ParticipantStateMapped {
|
|
|
18
26
|
};
|
|
19
27
|
}
|
|
20
28
|
export interface Participant {
|
|
21
|
-
id:
|
|
22
|
-
externalId:
|
|
29
|
+
id: ParticipantId;
|
|
30
|
+
externalId: ExternalParticipantId;
|
|
23
31
|
mediaSettings: MediaSettings;
|
|
24
32
|
state: ParticipantState;
|
|
25
33
|
status: ParticipantStatus | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExternalParticipantId } from './ExternalId';
|
|
2
2
|
import { MediaType } from './ParticipantStreamDescription';
|
|
3
3
|
/**
|
|
4
4
|
* Лейаут собеседника в звонке
|
|
@@ -21,10 +21,6 @@ export declare type Layout = {
|
|
|
21
21
|
* Поддерживаемые значения: `cv` и `cn`, что соответствует CSS `cover` и `contain`
|
|
22
22
|
*/
|
|
23
23
|
fit: string;
|
|
24
|
-
/**
|
|
25
|
-
* Запрос опорного кадра, нужно не злоупотреблять, негативно влияет на качество видео
|
|
26
|
-
*/
|
|
27
|
-
keyFrame: boolean;
|
|
28
24
|
};
|
|
29
25
|
/**
|
|
30
26
|
* Запрос остановки стрима
|
|
@@ -42,7 +38,7 @@ export declare type ParticipantLayout = (Layout | StopStream) & {
|
|
|
42
38
|
/**
|
|
43
39
|
* Внешний ID пользователя
|
|
44
40
|
*/
|
|
45
|
-
uid:
|
|
41
|
+
uid: ExternalParticipantId | string;
|
|
46
42
|
/**
|
|
47
43
|
* Тип медиа (видео с камеры, картинка с экрана, лайв или мувик)
|
|
48
44
|
*/
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExternalParticipantId } from './ExternalId';
|
|
2
2
|
/**
|
|
3
3
|
* Приоритет собеседника в звонке
|
|
4
4
|
*/
|
|
5
5
|
declare type ParticipantPriority = {
|
|
6
6
|
/**
|
|
7
|
-
* Внешний ID
|
|
7
|
+
* Внешний ID участника звонка
|
|
8
8
|
*/
|
|
9
|
-
uid:
|
|
9
|
+
uid: ExternalParticipantId | string;
|
|
10
10
|
/**
|
|
11
11
|
* Приоритет [-1..MAX_INT]
|
|
12
12
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ParticipantId } from './Participant';
|
|
2
2
|
/**
|
|
3
3
|
* Тип пользовательского медиа
|
|
4
4
|
*/
|
|
@@ -11,7 +11,7 @@ export declare enum MediaType {
|
|
|
11
11
|
export declare function serializeParticipantStreamDescription(description: ParticipantStreamDescription): string;
|
|
12
12
|
export declare function parseParticipantStreamDescription(descriptionString: string): ParticipantStreamDescription;
|
|
13
13
|
export declare type ParticipantStreamDescription = {
|
|
14
|
-
participantId:
|
|
14
|
+
participantId: ParticipantId;
|
|
15
15
|
mediaType: MediaType | null;
|
|
16
16
|
streamName?: string;
|
|
17
17
|
};
|
|
@@ -10,12 +10,12 @@ import UserType from '../enums/UserType';
|
|
|
10
10
|
import MediaModifiers from './MediaModifiers';
|
|
11
11
|
import MediaSettings from './MediaSettings';
|
|
12
12
|
import MuteStates from './MuteStates';
|
|
13
|
-
import {
|
|
13
|
+
import { OkUserId, ParticipantId } from './Participant';
|
|
14
14
|
import VideoSettings from './VideoSettings';
|
|
15
15
|
import { WaitingParticipant } from './WaitingHall';
|
|
16
16
|
declare type SignalingMessage = Record<string, any>;
|
|
17
17
|
export declare type RecordInfo = {
|
|
18
|
-
initiator:
|
|
18
|
+
initiator: ParticipantId;
|
|
19
19
|
recordMovieId: number;
|
|
20
20
|
recordStartTime: number;
|
|
21
21
|
recordType: 'STREAM' | 'RECORD';
|
|
@@ -34,6 +34,7 @@ declare namespace SignalingMessage {
|
|
|
34
34
|
export interface Participant {
|
|
35
35
|
id: OkUserId;
|
|
36
36
|
idType?: UserType;
|
|
37
|
+
deviceIdx?: number;
|
|
37
38
|
externalId?: ExternalId;
|
|
38
39
|
state: ParticipantState;
|
|
39
40
|
responders?: OkUserId[];
|
|
@@ -61,7 +62,7 @@ declare namespace SignalingMessage {
|
|
|
61
62
|
multichatId: string | null;
|
|
62
63
|
tamtamMultichatId: string | null;
|
|
63
64
|
recordInfo: RecordInfo | null;
|
|
64
|
-
pinnedParticipantId:
|
|
65
|
+
pinnedParticipantId: ParticipantId | null;
|
|
65
66
|
options: ConversationOption[];
|
|
66
67
|
muteStates?: MuteStates;
|
|
67
68
|
}
|
|
@@ -73,12 +74,14 @@ declare namespace SignalingMessage {
|
|
|
73
74
|
export interface TransmittedData extends Notification {
|
|
74
75
|
participantId: OkUserId;
|
|
75
76
|
participantType: UserType;
|
|
77
|
+
deviceIdx?: number;
|
|
76
78
|
peerId: PeerId;
|
|
77
79
|
data: any;
|
|
78
80
|
}
|
|
79
81
|
export interface RegisteredPeer extends Notification {
|
|
80
82
|
participantId: OkUserId;
|
|
81
83
|
participantType: UserType;
|
|
84
|
+
deviceIdx?: number;
|
|
82
85
|
peerId: PeerId;
|
|
83
86
|
platform: string;
|
|
84
87
|
clientType: string;
|
|
@@ -86,12 +89,14 @@ declare namespace SignalingMessage {
|
|
|
86
89
|
export interface AcceptedCall extends Notification {
|
|
87
90
|
participantId: OkUserId;
|
|
88
91
|
participantType: UserType;
|
|
92
|
+
deviceIdx?: number;
|
|
89
93
|
peerId: PeerId;
|
|
90
94
|
mediaSettings: Partial<MediaSettings>;
|
|
91
95
|
}
|
|
92
96
|
export interface Hungup extends Notification {
|
|
93
97
|
participantId: OkUserId;
|
|
94
98
|
participantType: UserType;
|
|
99
|
+
deviceIdx?: number;
|
|
95
100
|
peerId: PeerId;
|
|
96
101
|
reason: HangupType;
|
|
97
102
|
}
|
|
@@ -101,12 +106,14 @@ declare namespace SignalingMessage {
|
|
|
101
106
|
export interface MediaSettingsChanged extends Notification {
|
|
102
107
|
participantId: OkUserId;
|
|
103
108
|
participantType: UserType;
|
|
109
|
+
deviceIdx?: number;
|
|
104
110
|
peerId: PeerId;
|
|
105
111
|
mediaSettings: Partial<MediaSettings>;
|
|
106
112
|
}
|
|
107
113
|
export interface ParticipantStateChanged extends Notification {
|
|
108
114
|
participantId: OkUserId;
|
|
109
115
|
participantType: UserType;
|
|
116
|
+
deviceIdx?: number;
|
|
110
117
|
peerId: PeerId;
|
|
111
118
|
mediaSettings: Partial<MediaSettings>;
|
|
112
119
|
participantState: {
|
|
@@ -115,13 +122,13 @@ declare namespace SignalingMessage {
|
|
|
115
122
|
};
|
|
116
123
|
}
|
|
117
124
|
export interface RolesChanged extends Notification {
|
|
118
|
-
adminId:
|
|
119
|
-
participantId:
|
|
125
|
+
adminId: ParticipantId;
|
|
126
|
+
participantId: ParticipantId;
|
|
120
127
|
roles?: UserRole[];
|
|
121
128
|
}
|
|
122
129
|
export interface MuteParticipant extends Notification {
|
|
123
|
-
adminId?:
|
|
124
|
-
participantId?:
|
|
130
|
+
adminId?: ParticipantId;
|
|
131
|
+
participantId?: ParticipantId;
|
|
125
132
|
muteStates: MuteStates;
|
|
126
133
|
unmuteOptions?: MediaOption[];
|
|
127
134
|
mediaOptions: MediaOption[];
|
|
@@ -129,7 +136,7 @@ declare namespace SignalingMessage {
|
|
|
129
136
|
muteAll?: boolean;
|
|
130
137
|
}
|
|
131
138
|
export interface PinParticipant extends Notification {
|
|
132
|
-
participantId:
|
|
139
|
+
participantId: ParticipantId;
|
|
133
140
|
unpin?: boolean;
|
|
134
141
|
}
|
|
135
142
|
export interface ParticipantAdded extends Notification {
|
|
@@ -153,6 +160,7 @@ declare namespace SignalingMessage {
|
|
|
153
160
|
topology: TransportTopology;
|
|
154
161
|
offerTo: OkUserId[];
|
|
155
162
|
offerToTypes: UserType[];
|
|
163
|
+
offerToDeviceIdxs: number[];
|
|
156
164
|
}
|
|
157
165
|
export interface RateCallData extends Notification {
|
|
158
166
|
maxRateForQuestion: number;
|
|
@@ -169,12 +177,10 @@ declare namespace SignalingMessage {
|
|
|
169
177
|
reason: string;
|
|
170
178
|
}
|
|
171
179
|
export interface RecordStarted extends Notification {
|
|
172
|
-
idType: UserType;
|
|
173
|
-
id: OkUserId;
|
|
174
180
|
recordInfo: RecordInfo;
|
|
175
181
|
}
|
|
176
182
|
export interface RecordStopped extends Notification {
|
|
177
|
-
participant:
|
|
183
|
+
participant: ParticipantId;
|
|
178
184
|
recordMovieId: number;
|
|
179
185
|
}
|
|
180
186
|
export interface ReallocCon extends Notification {
|
|
@@ -184,6 +190,7 @@ declare namespace SignalingMessage {
|
|
|
184
190
|
export interface ChatMessage extends Notification {
|
|
185
191
|
participantId: OkUserId;
|
|
186
192
|
participantType: UserType;
|
|
193
|
+
deviceIdx?: number;
|
|
187
194
|
direct: boolean;
|
|
188
195
|
message: string;
|
|
189
196
|
}
|
|
@@ -196,13 +203,13 @@ declare namespace SignalingMessage {
|
|
|
196
203
|
settings: Record<string, any>;
|
|
197
204
|
}
|
|
198
205
|
export interface StalledActivity extends Notification {
|
|
199
|
-
stalledParticipants:
|
|
206
|
+
stalledParticipants: ParticipantId[];
|
|
200
207
|
}
|
|
201
208
|
export interface AudioActivity extends Notification {
|
|
202
|
-
activeParticipants:
|
|
209
|
+
activeParticipants: ParticipantId[];
|
|
203
210
|
}
|
|
204
211
|
export interface SpeakerChanged extends Notification {
|
|
205
|
-
speaker:
|
|
212
|
+
speaker: ParticipantId;
|
|
206
213
|
}
|
|
207
214
|
export interface OptionsChanged extends Notification {
|
|
208
215
|
options: ConversationOption[];
|
|
@@ -211,7 +218,7 @@ declare namespace SignalingMessage {
|
|
|
211
218
|
statuses: Record<string, number>;
|
|
212
219
|
}
|
|
213
220
|
export interface PromotionApproved extends Notification {
|
|
214
|
-
adminId:
|
|
221
|
+
adminId: ParticipantId;
|
|
215
222
|
}
|
|
216
223
|
export interface PromoteParticipant extends Notification {
|
|
217
224
|
demote: boolean;
|
|
@@ -222,8 +229,8 @@ declare namespace SignalingMessage {
|
|
|
222
229
|
eventType: ChatRoomEventType;
|
|
223
230
|
totalCount: number;
|
|
224
231
|
firstParticipants: WaitingParticipant[];
|
|
225
|
-
addedParticipantIds:
|
|
226
|
-
removedParticipantIds:
|
|
232
|
+
addedParticipantIds: ParticipantId[];
|
|
233
|
+
removedParticipantIds: ParticipantId[];
|
|
227
234
|
feedback: Record<string, any>[];
|
|
228
235
|
}
|
|
229
236
|
export interface VideoQualityUpdate extends Notification {
|
|
@@ -235,6 +242,7 @@ declare namespace SignalingMessage {
|
|
|
235
242
|
export interface CustomData extends Notification {
|
|
236
243
|
participantId: OkUserId;
|
|
237
244
|
participantType: UserType;
|
|
245
|
+
deviceIdx?: number;
|
|
238
246
|
data: Record<string, any>;
|
|
239
247
|
}
|
|
240
248
|
export interface SwitchMicro extends Notification {
|