@vkontakte/calls-sdk 2.8.6-dev.a5d3a18a.0 → 2.8.6-dev.a8c6b28a.0

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.
Files changed (44) hide show
  1. package/CallsSDK.d.ts +11 -8
  2. package/abstract/BaseApi.d.ts +1 -0
  3. package/abstract/BaseSignaling.d.ts +1 -0
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +13 -5
  7. package/classes/Logger.d.ts +3 -0
  8. package/classes/MediaSource.d.ts +4 -0
  9. package/classes/ParticipantIdRegistry.d.ts +1 -0
  10. package/classes/SignalingActor.d.ts +9 -0
  11. package/classes/codec/IEncoder.d.ts +0 -1
  12. package/classes/screenshare/BaseStreamBuilder.d.ts +1 -1
  13. package/classes/transport/ServerTransport.d.ts +5 -0
  14. package/classes/transport/Statistics.d.ts +23 -10
  15. package/default/Api.d.ts +1 -0
  16. package/default/Signaling.d.ts +16 -9
  17. package/enums/ChatRoomEventType.d.ts +1 -1
  18. package/enums/ConversationOption.d.ts +3 -3
  19. package/enums/RecordRole.d.ts +1 -1
  20. package/enums/SignalingTransportStat.d.ts +17 -0
  21. package/enums/Stat.d.ts +35 -23
  22. package/package.json +2 -1
  23. package/static/ApiTransport.d.ts +1 -1
  24. package/static/External.d.ts +2 -2
  25. package/static/Params.d.ts +62 -24
  26. package/static/SimulcastInfo.d.ts +1 -1
  27. package/static/Utils.d.ts +1 -1
  28. package/types/Conversation.d.ts +3 -0
  29. package/types/ConversationParams.d.ts +2 -0
  30. package/types/ConversationResponse.d.ts +4 -0
  31. package/types/ExternalId.d.ts +2 -0
  32. package/types/FastStart.d.ts +46 -0
  33. package/types/ServerSettings.d.ts +2 -0
  34. package/types/SignalingMessage.d.ts +4 -2
  35. package/types/Streams.d.ts +1 -0
  36. package/types/WebTransport.d.ts +25 -0
  37. package/utils/LengthPrefixed.d.ts +48 -0
  38. package/utils/Lz4.d.ts +1 -1
  39. package/utils/MsgPackerBufferUtils.d.ts +1 -1
  40. package/utils/VariableLengthInteger.d.ts +18 -0
  41. package/worker/LibVPxDecoderWorker.d.ts +0 -1
  42. package/worker/LibVPxEncoderWorker.d.ts +0 -1
  43. package/worker/WebCodecsDecoderWorker.d.ts +0 -1
  44. package/worker/WebCodecsEncoderWorker.d.ts +0 -1
@@ -30,12 +30,14 @@ import EventEmitter from './EventEmitter';
30
30
  export default class Conversation extends EventEmitter {
31
31
  private readonly _api;
32
32
  private readonly _signaling;
33
+ private readonly _signalingActor;
33
34
  private _mediaSource;
34
35
  private _conversation;
35
36
  private _myLastRequestedLayouts;
36
37
  private _state;
37
38
  private _participantState;
38
39
  private _participants;
40
+ private _pendingParticipants;
39
41
  private _transport;
40
42
  private _debugInfo;
41
43
  private _volumesDetector;
@@ -65,7 +67,7 @@ export default class Conversation extends EventEmitter {
65
67
  static current(): Conversation | null;
66
68
  static hangupAfterInit(): void;
67
69
  static id(): string | null;
68
- onStart({ opponentIds, opponentType, mediaOptions, payload, joiningAllowed, requireAuthToJoin, onlyAdminCanShareMovie, externalIds }: ConversationOnStartParams): Promise<ConversationData>;
70
+ onStart({ opponentIds, opponentType, mediaOptions, payload, joiningAllowed, requireAuthToJoin, onlyAdminCanShareMovie, externalIds, onFastStart, }: ConversationOnStartParams): Promise<ConversationData>;
69
71
  onJoin(joinArgs: {
70
72
  conversationId?: string;
71
73
  mediaOptions: MediaOption[];
@@ -77,7 +79,7 @@ export default class Conversation extends EventEmitter {
77
79
  private _onJoinPart2;
78
80
  private _extractExternalRooms;
79
81
  private _extractExternalRoomsData;
80
- onPush(conversationId: string, type?: UserType, peerId?: number, conversationParams?: string): Promise<void>;
82
+ onPush(conversationId: string, type?: UserType, peerId?: number, conversationParams?: string, wsEndpoint?: string): Promise<void>;
81
83
  private _isInWaitingHall;
82
84
  private _isRestricted;
83
85
  private _isAudienceMode;
@@ -96,7 +98,7 @@ export default class Conversation extends EventEmitter {
96
98
  updateStatisticsInterval(): void;
97
99
  private _openTransport;
98
100
  private _close;
99
- destroy(): void;
101
+ destroy(): Promise<void>;
100
102
  private _getConversationParams;
101
103
  private _setConversationParams;
102
104
  private _addGeoParamsToEndpoint;
@@ -219,6 +221,7 @@ export default class Conversation extends EventEmitter {
219
221
  private _onUrlSharingInfoUpdated;
220
222
  private _onFeaturesPerRoleChanged;
221
223
  private _waitForStreamIfNeeded;
224
+ private _getStreamDescriptionById;
222
225
  private _matchStreamDescription;
223
226
  private _getWaitingTime;
224
227
  private _isCallAdmin;
@@ -228,7 +231,7 @@ export default class Conversation extends EventEmitter {
228
231
  startAsr(params: IAsrStartParams): Promise<void>;
229
232
  stopAsr(params?: IAsrStopParams): Promise<void>;
230
233
  requestAsr(request: boolean): Promise<void>;
231
- muteParticipant(participantId: string | null | undefined, muteStates: MuteStates, requestedMedia?: MediaOption[], roomId?: number | null): Promise<void>;
234
+ muteParticipant(participantId: (ParticipantId | null) | undefined, muteStates: MuteStates, requestedMedia?: MediaOption[], roomId?: number | null): Promise<void>;
232
235
  enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
233
236
  pinParticipant(participantId: ParticipantId, unpin: boolean, roomId?: number | null): Promise<void>;
234
237
  updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<void>;
@@ -265,7 +268,7 @@ export default class Conversation extends EventEmitter {
265
268
  switchRoom(toRoomId: number | null, participantId?: ParticipantId): Promise<void>;
266
269
  removeRooms(roomIds: number[]): Promise<void>;
267
270
  startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise<undefined>;
268
- stopStream(roomId?: number | null): Promise<undefined>;
271
+ stopStream(roomId?: number | null, remove?: boolean): Promise<undefined>;
269
272
  publishStream(roomId?: number | null): Promise<undefined>;
270
273
  recordSetConf(king?: ParticipantId, pawns?: ParticipantId[], hideParticipantCount?: boolean, roomId?: number | null): Promise<void>;
271
274
  getStreamInfo(): Promise<{
@@ -312,6 +315,7 @@ export default class Conversation extends EventEmitter {
312
315
  private _onChatMessage;
313
316
  private _onCustomData;
314
317
  private _onRecordInfo;
318
+ private _onStopRecordInfo;
315
319
  private _changePinnedParticipantForRoom;
316
320
  _changeRecordInfoForRoom(): Promise<void>;
317
321
  private _changeAsrInfoForRoom;
@@ -344,6 +348,7 @@ export default class Conversation extends EventEmitter {
344
348
  private _onAnimojiError;
345
349
  private _onPeerConnectionClosed;
346
350
  private _changeFeatureSet;
351
+ private _changeFeaturesPerRole;
347
352
  private _changeNeedRate;
348
353
  private _onVolumesDetected;
349
354
  private _onSpeakerChanged;
@@ -383,6 +388,9 @@ export default class Conversation extends EventEmitter {
383
388
  private _getMuteStatesForCurrentRoom;
384
389
  private _setMuteStatesForRoomId;
385
390
  private _forceOpenTransportForAloneInCall;
391
+ private _registerParticipant;
392
+ private _getParticipants;
393
+ private _getParticipant;
386
394
  }
387
395
  export declare class UpdateDisplayLayoutError extends Error {
388
396
  readonly participantErrors: {
@@ -11,7 +11,10 @@ export default class Logger extends BaseLogger {
11
11
  private _batchTimeout;
12
12
  private _serverTimeDelta;
13
13
  private static _instance;
14
+ private static _conversationIdProvider;
14
15
  constructor(api: BaseApi, externalLogger: BaseLogger | null);
16
+ static setConversationIdProvider(provider: () => string | null): void;
17
+ private _getConversationId;
15
18
  private _sendLogItems;
16
19
  private _sendClientStats;
17
20
  private _sendClientEvents;
@@ -35,6 +35,7 @@ export declare class MediaSource extends EventEmitter {
35
35
  protected _stream: MediaStream | null;
36
36
  private _screenTrack;
37
37
  private _audioShareTrack;
38
+ private _screenShareTrack;
38
39
  /** Трек для отправки в медиа-канал. Может отличаться при скриншаринге в дата-канал */
39
40
  private _sendVideoTrack;
40
41
  /** Трек с камеры. В стриме будет другой трек при включенных видео эффектах */
@@ -52,6 +53,7 @@ export declare class MediaSource extends EventEmitter {
52
53
  private _animojiEnabled;
53
54
  /** вычисляем низкую производительность видео эффектов */
54
55
  private readonly _videoEffectsFpsLimiter?;
56
+ private _deviceChangeListener;
55
57
  constructor();
56
58
  request(mediaOptions?: MediaOption[], needEmptyTracks?: boolean): Promise<void>;
57
59
  getStream(): MediaStream | null;
@@ -84,6 +86,7 @@ export declare class MediaSource extends EventEmitter {
84
86
  private stopAudioShareTrack;
85
87
  private _applyAudioEffect;
86
88
  protected getSilentAudioShareTrack(): MediaStreamTrack;
89
+ protected getBlackScreenShareTrack(): MediaStreamTrack;
87
90
  protected _replaceLocalTrack(newTrack: MediaStreamTrack, sendTrack?: MediaStreamTrack): Promise<void>;
88
91
  private _setEffect;
89
92
  private _stopEffect;
@@ -106,5 +109,6 @@ export declare class MediaSource extends EventEmitter {
106
109
  private handleVideoEffectsLowFps;
107
110
  private get _frameRate();
108
111
  private _applyVideoConstraints;
112
+ getScreenShareTrack(): MediaStreamTrack | null;
109
113
  }
110
114
  export {};
@@ -6,5 +6,6 @@ export declare class ParticipantIdRegistry {
6
6
  getStreamDescription(compactedId: number): ParticipantStreamDescription | undefined;
7
7
  getCompactId(streamDescription: string): number | undefined;
8
8
  handleMessage(data: ArrayBuffer): SignalingMessage | null;
9
+ private _decodeMediaType;
9
10
  private _createParticipantSourcesUpdateNotification;
10
11
  }
@@ -0,0 +1,9 @@
1
+ import SignalingMessage from '../types/SignalingMessage';
2
+ export declare class SignalingActor {
3
+ private processor;
4
+ private queue;
5
+ private isProcessing;
6
+ constructor(processor: (message: SignalingMessage) => Promise<unknown> | unknown);
7
+ add(message: SignalingMessage): void;
8
+ private processQueue;
9
+ }
@@ -1,4 +1,3 @@
1
- /// <reference types="web" />
2
1
  import type { MessageType } from './Types';
3
2
  export default interface IEncoder {
4
3
  init(): Promise<void>;
@@ -15,7 +15,7 @@ export declare abstract class BaseStreamBuilder {
15
15
  destroy(): void;
16
16
  protected abstract _processFrame(frame: FrameData): void;
17
17
  private _processFrameData;
18
- static getFrameSize(frameData: Uint8Array): {
18
+ static getFrameSize(frameData: Uint8Array<ArrayBuffer>): {
19
19
  width: number;
20
20
  height: number;
21
21
  };
@@ -27,6 +27,7 @@ export default class ServerTransport extends BaseTransport {
27
27
  private _lastStat;
28
28
  private _serverSettings;
29
29
  private _prevConsumerSettings;
30
+ private _prevConsumerFastSharingSettings;
30
31
  private _asrTrack;
31
32
  private _captureSender;
32
33
  private _captureReceiver;
@@ -77,7 +78,10 @@ export default class ServerTransport extends BaseTransport {
77
78
  private _findFirstSimTransceiver;
78
79
  private _setupSimulcastTransceiver;
79
80
  private _acceptProducer;
81
+ private _replaceScreenShareTrack;
80
82
  private _handleTracks;
83
+ private _handleAudioShareTrack;
84
+ private _handleScreenShareTrack;
81
85
  private _onSignalingNotification;
82
86
  private _onAsrTranscription;
83
87
  private _onProducerUpdated;
@@ -85,6 +89,7 @@ export default class ServerTransport extends BaseTransport {
85
89
  static _onSignalingStateChange(pc: RTCPeerConnection, event: any): void;
86
90
  private _onConnectionStateChange;
87
91
  private _onReplacedTrack;
92
+ private _onSourcesChanged;
88
93
  getStreamWaitingTimeMs(streamId: string, targetRtpTimestamp: number): number;
89
94
  private _changeSimulcastInfo;
90
95
  }
@@ -1,25 +1,38 @@
1
1
  import { ParticipantId } from '../../types/Participant';
2
2
  import { StatItem, StatRtp, StatTransport } from '../../types/Statistics';
3
3
  export declare const NO_STAT_REQUEST_DELAY = 1000;
4
- export declare function distinctById(items: RTCStats[]): RTCStats[];
5
- export declare function rtcStatsToArray(stats: RTCStatsReport[]): RTCStats[];
4
+ declare function distinctById(items: RTCStats[]): RTCStats[];
5
+ declare function rtcStatsToArray(stats: RTCStatsReport[]): RTCStats[];
6
6
  /**
7
7
  * Extracts transport statistics from the gives stats
8
8
  * @hidden
9
9
  */
10
- export declare function extractTransport(stats: RTCStats[]): StatTransport;
10
+ declare function extractTransport(stats: RTCStats[]): StatTransport;
11
11
  /**
12
12
  * Extracts media statistics from the given stats
13
13
  * @hidden
14
14
  */
15
- export declare function extractRtps(stats: RTCStats[], ssrcMap: Record<string, string>, needToExtractRemote?: boolean): StatRtp[];
15
+ declare function extractRtps(stats: RTCStats[], ssrcMap: Record<string, string>, needToExtractRemote?: boolean): StatRtp[];
16
16
  /**
17
17
  * Computes delta (the difference) between two stat reports.
18
18
  * @hidden
19
19
  */
20
- export declare function delta(current: StatItem, previous: StatItem, needToExtractRemote?: boolean): StatItem;
21
- export declare function collectStats(pc: RTCPeerConnection, previous: StatItem | null, ssrcMap?: Record<string, string>, needToExtractRemote?: boolean): Promise<StatItem>;
22
- export declare function setMark(name: string): void;
23
- export declare function clearMark(name: string): void;
24
- export declare function measureMark(name: string): null | number;
25
- export declare function getMarkNameScreenshareFirstFrame(uid: ParticipantId): string;
20
+ declare function delta(current: StatItem, previous: StatItem, needToExtractRemote?: boolean): StatItem;
21
+ declare function collectStats(pc: RTCPeerConnection, previous: StatItem | null, ssrcMap?: Record<string, string>, needToExtractRemote?: boolean): Promise<StatItem>;
22
+ declare function setMark(name: string): void;
23
+ declare function clearMark(name: string): void;
24
+ declare function measureMark(name: string): null | number;
25
+ declare function getMarkNameScreenshareFirstFrame(uid: ParticipantId): string;
26
+ declare const _default: {
27
+ distinctById: typeof distinctById;
28
+ rtcStatsToArray: typeof rtcStatsToArray;
29
+ extractTransport: typeof extractTransport;
30
+ extractRtps: typeof extractRtps;
31
+ delta: typeof delta;
32
+ collectStats: typeof collectStats;
33
+ setMark: typeof setMark;
34
+ clearMark: typeof clearMark;
35
+ measureMark: typeof measureMark;
36
+ getMarkNameScreenshareFirstFrame: typeof getMarkNameScreenshareFirstFrame;
37
+ };
38
+ export default _default;
package/default/Api.d.ts CHANGED
@@ -28,6 +28,7 @@ export default class Api extends BaseApi {
28
28
  onlyAdminCanShareMovie?: boolean;
29
29
  }, externalIds?: ExternalId[]): Promise<ConversationResponse>;
30
30
  protected _ensureUuid(): void;
31
+ deviceId(): string;
31
32
  private _preareStartConversationData;
32
33
  private _startConversation;
33
34
  createJoinLink(conversationId: string): Promise<{
@@ -1,7 +1,6 @@
1
1
  import BaseSignaling, { AddParticipantParams } from '../abstract/BaseSignaling';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
3
  import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
4
- import { NetworkStatReport } from '../types/NetworkStatReport';
5
4
  import { TransportTopology } from '../classes/transport/Transport';
6
5
  import ConversationFeature from '../enums/ConversationFeature';
7
6
  import ConversationOption from '../enums/ConversationOption';
@@ -11,16 +10,17 @@ import SignalingConnectionType from '../enums/SignalingConnectionType';
11
10
  import UserRole from '../enums/UserRole';
12
11
  import { JSONObject } from '../static/Json';
13
12
  import { IAsrStartParams, IAsrStopParams } from '../types/Asr';
13
+ import { ChangeSimulcast } from '../types/ChangeSimulcast';
14
14
  import MediaModifiers from '../types/MediaModifiers';
15
15
  import MediaSettings from '../types/MediaSettings';
16
16
  import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
17
17
  import MuteStates from '../types/MuteStates';
18
+ import { NetworkStatReport } from '../types/NetworkStatReport';
18
19
  import { CompositeUserId, ParticipantId, ParticipantStateData } from '../types/Participant';
19
20
  import ParticipantLayout, { RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
20
21
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
21
22
  import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
22
23
  import { PerfStatReport } from '../types/PerfStatReporter';
23
- import { ChangeSimulcast } from '../types/ChangeSimulcast';
24
24
  import SignalingMessage, { GetParticipantsSignalingResponse, GetRoomsSignalingResponse, SignalingSuccessResponse } from '../types/SignalingMessage';
25
25
  import { IPublishStreamData, IRecordConfData, IStartStreamData, IStopStreamData } from '../types/Streams';
26
26
  export default class Signaling extends BaseSignaling {
@@ -31,8 +31,10 @@ export default class Signaling extends BaseSignaling {
31
31
  private datachannelCommandsQueue;
32
32
  private incomingCache;
33
33
  private responseHandlers;
34
+ private connectionType;
34
35
  private reconnectCount;
35
36
  private endpoint;
37
+ private wtEndpoint;
36
38
  protected conversationResolve: Function | null;
37
39
  protected conversationReject: Function | null;
38
40
  private connected;
@@ -48,15 +50,16 @@ export default class Signaling extends BaseSignaling {
48
50
  private producerCommandDataChannel;
49
51
  private producerCommandDataChannelEnabled;
50
52
  private producerCommandSerializationService;
51
- private static readonly RECONNECT_DELAY;
52
- private static readonly RECONNECT_MAX_DELAY;
53
- private static readonly RECONNECT_MAX_COUNT;
54
- private static readonly WAIT_CONNECTION_DELAY;
55
- private static readonly WAIT_RESPONSE_DELAY;
56
- private static readonly WAIT_MESSAGE_DELAY;
53
+ private static get RECONNECT_DELAY();
54
+ private static get RECONNECT_MAX_DELAY();
55
+ private static get RECONNECT_MAX_COUNT();
56
+ private static get WAIT_CONNECTION_DELAY();
57
+ private static get WAIT_RESPONSE_DELAY();
58
+ private static get WAIT_MESSAGE_DELAY();
57
59
  private static _getCapabilityFlags;
58
60
  get ready(): boolean;
59
61
  setEndpoint(endpoint: string): void;
62
+ setWebTransportEndpoint(endpoint: string | null): void;
60
63
  setConversationId(conversationId: string): void;
61
64
  setParticipantIdRegistry(participantIdRegistry: ParticipantIdRegistry): void;
62
65
  setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
@@ -161,7 +164,7 @@ export default class Signaling extends BaseSignaling {
161
164
  startAsr(params: IAsrStartParams): Promise<SignalingMessage>;
162
165
  stopAsr(params?: IAsrStopParams): Promise<SignalingMessage>;
163
166
  requestAsr(request: boolean): Promise<SignalingMessage>;
164
- protected _connect(connectionType: SignalingConnectionType): void;
167
+ protected _connect(connectionType: SignalingConnectionType, useWebTransport: boolean): void;
165
168
  protected _disconnect(code?: number): void;
166
169
  private _onOpen;
167
170
  private _onMessage;
@@ -183,4 +186,8 @@ export default class Signaling extends BaseSignaling {
183
186
  protected _stopWaitConnectionMessage(): void;
184
187
  private _startDoctor;
185
188
  private _stopDoctor;
189
+ private isWebTransportAvailable;
190
+ private _getSocketType;
191
+ private _markTransportStat;
192
+ private _logTransportStat;
186
193
  }
@@ -2,7 +2,7 @@
2
2
  * Тип команды зала ожидания
3
3
  */
4
4
  declare enum ChatRoomEventType {
5
- ATTENDEE = "ATTENDEE",
5
+ ATTENDEE = "ATTENDEE",// new Stereo attendee joined/left, new waiting hall participant joined/left
6
6
  HAND_UP = "HAND_UP"
7
7
  }
8
8
  export default ChatRoomEventType;
@@ -3,10 +3,10 @@
3
3
  */
4
4
  declare enum ConversationOption {
5
5
  REQUIRE_AUTH_TO_JOIN = "REQUIRE_AUTH_TO_JOIN",
6
- AUDIENCE_MODE = "AUDIENCE_MODE",
7
- WAITING_HALL = "WAITING_HALL",
6
+ AUDIENCE_MODE = "AUDIENCE_MODE",// Stereo chat room
7
+ WAITING_HALL = "WAITING_HALL",// Waiting Hall is ON
8
8
  ASR = "ASR",
9
- FEEDBACK = "FEEDBACK",
9
+ FEEDBACK = "FEEDBACK",// Reactions (default = off)
10
10
  RECURRING = "RECURRING"
11
11
  }
12
12
  export default ConversationOption;
@@ -4,7 +4,7 @@
4
4
  * у которых есть роль.
5
5
  */
6
6
  declare enum RecordRole {
7
- KING = "KING",
7
+ KING = "KING",// участник показывается крупно в записи звонка
8
8
  PAWN = "PAWN"
9
9
  }
10
10
  export default RecordRole;
@@ -0,0 +1,17 @@
1
+ import Stat from './Stat';
2
+ export declare const enum SignalingTransportType {
3
+ WEBSOCKET = "ws",
4
+ WEBTRANSPORT = "wt"
5
+ }
6
+ export declare const enum SignalingTransportStat {
7
+ CONNECTED = "connected",
8
+ RECONNECTED = "reconnected",
9
+ FAILED_PINGS = "failed_pings",
10
+ FAILED_EXCEPTIONS = "failed_exception",
11
+ TIMEOUT = "timeout",
12
+ RESTART = "restart"
13
+ }
14
+ export declare const SOCKET_STAT: Record<SignalingTransportStat, {
15
+ [SignalingTransportType.WEBSOCKET]: Stat;
16
+ [SignalingTransportType.WEBTRANSPORT]: Stat;
17
+ }>;
package/enums/Stat.d.ts CHANGED
@@ -1,43 +1,55 @@
1
1
  declare const enum Stat {
2
2
  ERROR = "callError",
3
- DEVICES = "callDevices",
4
- CALL_SPEC_ERROR = "callSpecError",
5
- ICE_CONNECTION_STATE = "callIceConnectionState",
6
- ICE_CONNECTION_TYPE = "callIceConnectionType",
7
- ICE_RESTART = "callIceRestart",
8
- PUSH = "callPush",
9
- OUTGOING_CALL = "callStart",
10
- CALL_FINISH = "call_finish",
11
- OUTGOING_MULTIPARTY_CALL = "callStartMultiparty",
12
- JOIN_CONVERSATION = "callJoinConversation",
13
- ACCEPTED_OUTGOING = "callAcceptedOutgoing",
14
- ACCEPT_INCOMING = "callAcceptIncoming",
3
+ DEVICES = "callDevices",// залогировать количество %d_%d
4
+ CALL_SPEC_ERROR = "callSpecError",// ошибки WebRTC
5
+ ICE_CONNECTION_STATE = "callIceConnectionState",// state
6
+ ICE_CONNECTION_TYPE = "callIceConnectionType",// type
7
+ ICE_RESTART = "callIceRestart",// без параметров
8
+ PUSH = "callPush",// busy / rejected / accepted
9
+ OUTGOING_CALL = "callStart",// video/audio
10
+ CALL_FINISH = "call_finish",// событие отправляемое в конце звонка
11
+ OUTGOING_MULTIPARTY_CALL = "callStartMultiparty",// video/audio
12
+ JOIN_CONVERSATION = "callJoinConversation",// video/audio
13
+ ACCEPTED_OUTGOING = "callAcceptedOutgoing",// video/audio
14
+ ACCEPT_INCOMING = "callAcceptIncoming",// video/audio
15
15
  DECLINE_INCOMING = "callDeclineIncoming",
16
- ACCEPT_CONCURRENT = "callAcceptConcurrent",
16
+ ACCEPT_CONCURRENT = "callAcceptConcurrent",// video/audio
17
17
  HANGUP = "callHangup",
18
- CODEC_USAGE = "codec_usage",
19
- MEDIA_STATUS = "callMediaStatus",
20
- DEVICE_CHANGED = "callDeviceChanged",
18
+ CODEC_USAGE = "codec_usage",// событие когда меняется кодек
19
+ MEDIA_STATUS = "callMediaStatus",// изменение video_1, audio_0
20
+ DEVICE_CHANGED = "callDeviceChanged",// смена камеры video/audio/screen
21
21
  SOCKET_ACTION = "callSocketAction",
22
22
  ADD_PARTICIPANT = "callAddParticipant",
23
23
  REMOVE_PARTICIPANT = "callRemoveParticipant",
24
- POOR_CONNECTION = "callPoorConnection",
24
+ POOR_CONNECTION = "callPoorConnection",// video / audio
25
25
  TOPOLOGY_CHANGE_REQUESTED = "callTopologyChangeRequested",
26
- RELAY_POLICY = "callForceRelay",
26
+ RELAY_POLICY = "callForceRelay",// 1 / 0
27
27
  PAT_ALLOCATED = "patAllocate",
28
28
  PAT_DEALLOCATED = "patDeallocate",
29
29
  PAT_ERROR = "patError",
30
30
  PAT_WAITING_TIME_ERROR = "patWaitingTimeError",
31
31
  PAT_OUTDATED_RESPONSE = "patOutdatedResponse",
32
- SIGNALING_CONNECTED = "signaling_connected",
33
- RECONNECT = "callReconnect",
34
- SCREENSHARE_FIRST_FRAME = "screen_share_first_frame",
35
- SCREENSHARE_FREEZE_DURATION = "callScreenshareFreezeDuration",
32
+ SIGNALING_CONNECTED = "signaling_connected",// measure
33
+ RECONNECT = "callReconnect",// measure
34
+ SCREENSHARE_FIRST_FRAME = "screen_share_first_frame",// measure
35
+ SCREENSHARE_FREEZE_DURATION = "callScreenshareFreezeDuration",// measure
36
36
  /** Объединение callFirstDataReceivedP2P и callFirstAudioMixDataReceived */
37
37
  FIRST_MEDIA_RECEIVED = "first_media_received",
38
38
  CALL_EVENTUAL_STAT = "callEventualStat",
39
39
  CALL_DECLINED_OR_HANGED_LOCALLY = "CallDeclinedOrHangedLocally",
40
40
  USER_FEEDBACK_RECEIVED = "UserFeedbackReceived",
41
- CALL_START = "call_start"
41
+ CALL_START = "call_start",
42
+ WEBSOCKET_CONNECTED = "websocket_connected",
43
+ WEBSOCKET_RECONNECTED = "websocket_reconnected",
44
+ WEBSOCKET_FAILED_PINGS = "websocket_failed_pings",
45
+ WEBSOCKET_FAILED_EXCEPTION = "websocket_failed_exception",
46
+ WEBSOCKET_TIMEOUT = "websocket_timeout",
47
+ WEBSOCKET_RESTART = "websocket_restart",
48
+ WEBTRANSPORT_CONNECTED = "webtransport_connected",
49
+ WEBTRANSPORT_RECONNECTED = "webtransport_reconnected",
50
+ WEBTRANSPORT_FAILED_PINGS = "webtransport_failed_pings",
51
+ WEBTRANSPORT_FAILED_EXCEPTION = "webtransport_failed_exception",
52
+ WEBTRANSPORT_TIMEOUT = "webtransport_timeout",
53
+ WEBTRANSPORT_RESTART = "webtransport_restart"
42
54
  }
43
55
  export default Stat;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.8.6-dev.a5d3a18a.0",
3
+ "version": "2.8.6-dev.a8c6b28a.0",
4
4
  "author": "vk.com",
5
5
  "description": "Library for video calls based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -19,6 +19,7 @@
19
19
  "@vkontakte/calls-vmoji": "1.0.10-beta.17",
20
20
  "@vkontakte/libvpx": "2.0.9",
21
21
  "bit-buffer": "0.2.5",
22
+ "fflate": "^0.8.2",
22
23
  "messagepack": "1.1.12",
23
24
  "simple-ebml-builder": "0.2.2",
24
25
  "webrtc-adapter": "7.7.0"
@@ -6,5 +6,5 @@ export declare function sendBeakon(method: string, params?: {
6
6
  }, noSession?: boolean): Promise<void>;
7
7
  export declare function request(method: string, params?: {
8
8
  [key: string]: any;
9
- }, noSession?: boolean, customEndpoint?: string): Promise<unknown>;
9
+ }, noSession?: boolean, customEndpoint?: string): Promise<any>;
10
10
  export declare function sendFormData(url: string, data: FormData): Promise<void>;
@@ -226,7 +226,7 @@ declare namespace External {
226
226
  * @param markers
227
227
  */
228
228
  function onParticipantJoined(userId: ExternalId, markers: ExternalParticipantListMarkers | null): void;
229
- function onLocalParticipantState(participantState: ParticipantStateMapped): void;
229
+ function onLocalParticipantState(participantState: ParticipantStateMapped, global?: boolean): void;
230
230
  /**
231
231
  * Изменились данные состояний собеседника
232
232
  *
@@ -420,7 +420,7 @@ declare namespace External {
420
420
  * Закончена запись звонка
421
421
  * @param roomId ID зала в котором остановлена запись
422
422
  */
423
- function onRecordStopped(roomId?: number | null): void;
423
+ function onRecordStopped(roomId: number | null | undefined, stopBy: ExternalParticipantId | null): void;
424
424
  /**
425
425
  * Состояние своей сети
426
426
  *