@vkontakte/calls-sdk 2.8.2-dev.fdec44d.0 → 2.8.2

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.
@@ -27,17 +27,6 @@ import { ScreenCaptureSettings } from '../types/ScreenCaptureSettings';
27
27
  import SignalingMessage from '../types/SignalingMessage';
28
28
  import { WaitingHallResponse } from '../types/WaitingHall';
29
29
  import EventEmitter from './EventEmitter';
30
- export type ParticipantUpdateInfo = {
31
- participantStreamDescription: ParticipantStreamDescription | null;
32
- streamId: string;
33
- rtpTimestamp: number | null;
34
- sequenceNumber: number;
35
- fastScreenShare: boolean;
36
- };
37
- export type ParticipantSuspendInfo = {
38
- participantStreamDescription: ParticipantStreamDescription | null;
39
- suspend: boolean;
40
- };
41
30
  export default class Conversation extends EventEmitter {
42
31
  private readonly _api;
43
32
  private readonly _signaling;
@@ -67,7 +67,7 @@ export declare class MediaSource extends EventEmitter {
67
67
  private _disableScreenCapture;
68
68
  private disableAudioShare;
69
69
  private stopAudioShareTrack;
70
- private getSilentAudioShareTrack;
70
+ protected getSilentAudioShareTrack(): MediaStreamTrack;
71
71
  protected _replaceLocalTrack(newTrack: MediaStreamTrack, sendTrack?: MediaStreamTrack): Promise<void>;
72
72
  private _setEffect;
73
73
  private _stopEffect;
@@ -0,0 +1 @@
1
+ export declare const MAIN_ROOM_ID: number | null;
package/default/Api.d.ts CHANGED
@@ -9,7 +9,7 @@ export default class Api extends BaseApi {
9
9
  private _uuid;
10
10
  private _externalUidsCache;
11
11
  private _callUnsafe;
12
- private _call;
12
+ protected _call(method: string, data?: any, noSession?: boolean): Promise<any>;
13
13
  userId(compositeUserId: ParticipantId): Promise<ExternalParticipantId>;
14
14
  prepareUserIds(ids: OkUserId[]): Promise<void>;
15
15
  authorize(): Promise<void>;
@@ -0,0 +1,11 @@
1
+ import { IApiEnv } from '../types/Params';
2
+ export declare class ApiExternal {
3
+ private readonly _uuid;
4
+ private readonly _apiKey;
5
+ private readonly _callToken;
6
+ private readonly _apiEnv;
7
+ private _sessionKey;
8
+ constructor(apiEvn: IApiEnv, apiKey: string, callToken: string);
9
+ authorize(): Promise<boolean>;
10
+ hangupConversation(conversationId: string): Promise<void>;
11
+ }
@@ -28,7 +28,6 @@ export default class Signaling extends BaseSignaling {
28
28
  private lastStamp;
29
29
  private websocketCommandsQueue;
30
30
  private datachannelCommandsQueue;
31
- private asrCommandsQueue;
32
31
  private incomingCache;
33
32
  private responseHandlers;
34
33
  private reconnectCount;
@@ -46,10 +45,8 @@ export default class Signaling extends BaseSignaling {
46
45
  private participantIdRegistry;
47
46
  private producerNotificationDataChannel;
48
47
  private producerCommandDataChannel;
49
- private asrDataChannel;
50
48
  private producerCommandDataChannelEnabled;
51
49
  private producerCommandSerializationService;
52
- private asrCommandSerializer;
53
50
  private static readonly RECONNECT_DELAY;
54
51
  private static readonly RECONNECT_MAX_DELAY;
55
52
  private static readonly RECONNECT_MAX_COUNT;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.8.2-dev.fdec44d.0",
3
+ "version": "2.8.2",
4
4
  "author": "vk.com",
5
5
  "description": "Library for video calls based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -14,7 +14,7 @@
14
14
  "**/*.d.ts"
15
15
  ],
16
16
  "dependencies": {
17
- "@vkontakte/calls-video-effects": "2.0.1-beta.5",
17
+ "@vkontakte/calls-video-effects": "2.0.1",
18
18
  "@vkontakte/calls-vmoji": "1.0.8-beta.6",
19
19
  "@vkontakte/libvpx": "2.0.9",
20
20
  "bit-buffer": "0.2.5",
@@ -1,7 +1,9 @@
1
+ import { IApiEnv } from '../types/Params';
2
+ export declare function _resolveApiEndpoint(apiEnv?: IApiEnv): Promise<string>;
1
3
  export declare function init(): void;
2
4
  export declare function sendBeakon(method: string, params?: {
3
5
  [key: string]: any;
4
6
  }, noSession?: boolean): Promise<void>;
5
7
  export declare function request(method: string, params?: {
6
8
  [key: string]: any;
7
- }, noSession?: boolean): Promise<unknown>;
9
+ }, noSession?: boolean, customEndpoint?: string): Promise<unknown>;
@@ -20,6 +20,7 @@ import { IOnRemoteMovieData, ISharedMovieInfo, ISharedMovieState, ISharedMovieSt
20
20
  import MuteStates from '../types/MuteStates';
21
21
  import { ParticipantStateMapped } from '../types/Participant';
22
22
  import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from '../types/Room';
23
+ import { IApiEnv } from '../types/Params';
23
24
  import { DebugMessageType } from './Debug';
24
25
  import { ParticipantStatus } from './External';
25
26
  import { JSONObject } from './Json';
@@ -28,15 +29,20 @@ import { FacingMode } from './WebRTCUtils';
28
29
  * Параметры инициализации
29
30
  */
30
31
  export type ParamsObject = {
32
+ /** @hidden */
31
33
  platform: string;
34
+ /** @hidden */
32
35
  clientType: string;
36
+ /** @hidden */
33
37
  externalUserType: string;
38
+ /** @hidden */
34
39
  device: string;
35
40
  /**
36
41
  * API ключ приложения
37
42
  */
38
43
  apiKey: string;
39
- apiEnv: 'AUTO' | 'PROD' | 'PROD_OK' | 'TEST' | 'VIDEOTEST' | string;
44
+ /** @hidden */
45
+ apiEnv: IApiEnv;
40
46
  /** @hidden */
41
47
  apiAuth?: {
42
48
  sessionKey?: string;
@@ -62,18 +68,29 @@ export type ParamsObject = {
62
68
  externalDomain: string;
63
69
  /** @hidden */
64
70
  iceServers: IceServer[];
71
+ /** @hidden */
65
72
  wssBase: string;
73
+ /** @hidden */
66
74
  wssToken: string;
75
+ /** @hidden */
67
76
  signalingReconnectDelay: number;
77
+ /** @hidden */
68
78
  signalingReconnectMaxDelay: number;
79
+ /** @hidden */
69
80
  signalingReconnectMaxCount: number;
81
+ /** @hidden */
70
82
  waitConnectionDelay: number;
83
+ /** @hidden */
71
84
  waitResponseDelay: number;
85
+ /** @hidden */
72
86
  waitMessageDelay: number;
87
+ /** @hidden */
73
88
  waitAnotherTabDelay: number;
89
+ /** @hidden */
74
90
  debugLog: boolean;
75
91
  /**
76
- * Не использовать прямое P2P соединение, чтобы не отправлять в ICE-кандидатах персональные IP-адреса
92
+ * Не отправлять в ICE-кандидатах персональные IP-адреса
93
+ * @see [RTCIceTransportPolicy](https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum)
77
94
  *
78
95
  * _По умолчанию: `false`_
79
96
  */
@@ -133,7 +150,7 @@ export type ParamsObject = {
133
150
  */
134
151
  displaySurface: DisplayCaptureSurfaceType;
135
152
  /**
136
- * Экземпляр класса `VideoEffects` из `@vkontakte/calls-video-effects`
153
+ * Экземпляр класса `VideoEffects` из [`@vkontakte/calls-video-effects`](https://npmjs.com/package/@vkontakte/calls-video-effects)
137
154
  *
138
155
  * Можно установить позднее методом `setVideoEffects`
139
156
  */
@@ -151,7 +168,7 @@ export type ParamsObject = {
151
168
  */
152
169
  videoEffectMaxHeight: number;
153
170
  /**
154
- * Экземпляр класса `Vmoji` из `@vkontakte/calls-vmoji`
171
+ * Экземпляр класса `Vmoji` из [`@vkontakte/calls-vmoji`](https://npmjs.com/package/@vkontakte/calls-vmoji)
155
172
  *
156
173
  * Можно установить позднее методом `setVmoji`
157
174
  */
@@ -159,10 +176,12 @@ export type ParamsObject = {
159
176
  /**
160
177
  * Настройки отрисовки Vmoji.
161
178
  *
162
- * Экземпляр класса `RenderingOptions` из `@vkontakte/calls-vmoji`
179
+ * Экземпляр класса `RenderingOptions` из [`@vkontakte/calls-vmoji`](https://npmjs.com/package/@vkontakte/calls-vmoji)
163
180
  */
164
181
  vmojiRenderingOptions: Partial<Vmoji.RenderingOptions> | null;
182
+ /** @hidden */
165
183
  iceRestartWaitTime: number;
184
+ /** @hidden */
166
185
  transportConnectionWaitTime: number;
167
186
  /**
168
187
  * Частота получения статистики в миллисекундах
@@ -195,10 +214,13 @@ export type ParamsObject = {
195
214
  voiceParams: {
196
215
  [key: string]: number;
197
216
  };
217
+ /** @hidden */
198
218
  specListenerParams: {
199
219
  [key: string]: number;
200
220
  };
221
+ /** @hidden */
201
222
  perfStatReportEnabled: boolean;
223
+ /** @hidden */
202
224
  callStatReportEnabled: boolean;
203
225
  /**
204
226
  * Отдавать приоритет кодеку H264 для исходящего видео
@@ -213,6 +235,7 @@ export type ParamsObject = {
213
235
  * _По умолчанию: `true`_
214
236
  */
215
237
  preferVP9: boolean;
238
+ /** @hidden */
216
239
  audioNack: boolean;
217
240
  /**
218
241
  * Принимать параллельно видео с камеры и трансляцию экрана от одного и того же участника.
@@ -250,6 +273,7 @@ export type ParamsObject = {
250
273
  * @deprecated
251
274
  */
252
275
  producerScreenDataChannel: boolean;
276
+ /** @hidden */
253
277
  asrDataChannel: boolean;
254
278
  /**
255
279
  * Размер пакета для отправки трансляции экрана в датаканал в байтах.
@@ -257,7 +281,9 @@ export type ParamsObject = {
257
281
  * @hidden
258
282
  */
259
283
  consumerScreenDataChannelPacketSize: number;
284
+ /** @hidden */
260
285
  screenShareWebmBuilder: boolean;
286
+ /** @hidden */
261
287
  noiseSuppression: boolean;
262
288
  /**
263
289
  * Количество входящих видео-треков.
@@ -275,7 +301,9 @@ export type ParamsObject = {
275
301
  * _По умолчанию: `30`_
276
302
  */
277
303
  videoTracksCount: number;
304
+ /** @hidden */
278
305
  movieShare: boolean;
306
+ /** @hidden */
279
307
  breakVideoPayloadTypes: boolean;
280
308
  /**
281
309
  * Включить постраничный вывод участников. Работает только если включено videoTracksCount (слоты)
@@ -366,8 +394,11 @@ export type ParamsObject = {
366
394
  * _По умолчанию: `false`_
367
395
  */
368
396
  fastScreenShare: boolean;
397
+ /** @hidden */
369
398
  fastScreenShareFrameRate: number;
399
+ /** @hidden */
370
400
  fastScreenShareWidth: number;
401
+ /** @hidden */
371
402
  fastScreenShareHeight: number;
372
403
  /**
373
404
  * Использовать новые правила allMute для админа
@@ -379,6 +410,17 @@ export type ParamsObject = {
379
410
  * _По умолчанию: `false`_
380
411
  */
381
412
  videoSuspend: boolean;
413
+ /**
414
+ * Задержка обновления списка устройств после подключения/отключения камеры или микрофона
415
+ * @hidden
416
+ */
417
+ enumerateDevicesDelay: number;
418
+ /**
419
+ * Включает логгирование статистики webrtc
420
+ *
421
+ * _По умолчанию: `false`_
422
+ */
423
+ enableLogPerfStatReport: boolean;
382
424
  /**
383
425
  * Получен локальный стрим с камеры/микрофона
384
426
  */
@@ -714,7 +756,7 @@ export default abstract class Params {
714
756
  static set(data: {
715
757
  [key: string]: any;
716
758
  }): void;
717
- static get(name: string): any;
759
+ static get<N extends keyof ParamsObject>(name: N): ParamsObject[N];
718
760
  static get appName(): string;
719
761
  static get appVersion(): number;
720
762
  static get sdkVersion(): string;
@@ -728,8 +770,8 @@ export default abstract class Params {
728
770
  static set externalUserType(value: string);
729
771
  static get device(): string;
730
772
  static get apiKey(): string;
731
- static get apiEnv(): string;
732
- static get apiEndpoint(): string;
773
+ static get apiEnv(): IApiEnv;
774
+ static apiEndpoint(apiEnv?: IApiEnv): string;
733
775
  static get authToken(): string;
734
776
  static set authToken(value: string);
735
777
  static get anonymToken(): string;
@@ -821,5 +863,6 @@ export default abstract class Params {
821
863
  static get fastScreenShareHeight(): number;
822
864
  static get newMuteRules(): boolean;
823
865
  static get videoSuspend(): boolean;
866
+ static get enumerateDevicesDelay(): number;
824
867
  static getScreenFrameRate(fastScreenShare: boolean): number;
825
868
  }
@@ -0,0 +1 @@
1
+ export type IApiEnv = 'AUTO' | 'PROD' | 'PROD_OK' | 'TEST' | 'VIDEOTEST' | string;
@@ -18,6 +18,7 @@ import MediaSettings from './MediaSettings';
18
18
  import { ISharedMovieInfo, ISharedMovieState, ISharedMovieStoppedInfo } from './MovieShare';
19
19
  import MuteStates from './MuteStates';
20
20
  import { CompositeUserId, OkUserId, ParticipantId, ParticipantListMarker as ParticipantParticipantListMarker, ParticipantListMarkers, ParticipantListType as ParticipantParticipantListType } from './Participant';
21
+ import { ParticipantStreamDescription } from './ParticipantStreamDescription';
21
22
  import { IRoomId } from './Room';
22
23
  import VideoSettings from './VideoSettings';
23
24
  import { ChatRoom } from './WaitingHall';
@@ -51,6 +52,17 @@ declare namespace SignalingMessage {
51
52
  }
52
53
  export type ParticipantListType = ParticipantParticipantListType;
53
54
  export type ParticipantListMarker = ParticipantParticipantListMarker;
55
+ export type ParticipantUpdateInfo = {
56
+ participantStreamDescription: ParticipantStreamDescription | null;
57
+ streamId: string;
58
+ rtpTimestamp: number | null;
59
+ sequenceNumber: number;
60
+ fastScreenShare: boolean;
61
+ };
62
+ export type ParticipantSuspendInfo = {
63
+ participantStreamDescription: ParticipantStreamDescription | null;
64
+ suspend: boolean;
65
+ };
54
66
  export interface Participant {
55
67
  id: OkUserId;
56
68
  idType?: UserType;
@@ -372,6 +384,12 @@ declare namespace SignalingMessage {
372
384
  export interface AsrStopNotification extends Notification {
373
385
  roomId?: number;
374
386
  }
387
+ export interface ParticipantSourcesUpdateNotification extends Notification {
388
+ participantUpdateInfos: ParticipantUpdateInfo[];
389
+ }
390
+ export interface ParticipantSourcesSuspendNotification extends Notification {
391
+ participantSuspendInfos: ParticipantSuspendInfo[];
392
+ }
375
393
  export {};
376
394
  }
377
395
  export default SignalingMessage;
@@ -1,3 +0,0 @@
1
- export declare class AsrCommandSerializer {
2
- requestAsr(request: boolean): ArrayBuffer;
3
- }