@vkontakte/calls-sdk 2.5.2-dev.e4603f6.0 → 2.5.3-beta.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.
- package/CallsSDK.d.ts +3 -3
- package/abstract/BaseApi.d.ts +2 -2
- package/calls-sdk.cjs.js +9 -9
- package/calls-sdk.esm.js +9 -9
- package/classes/Conversation.d.ts +3 -1
- package/classes/MediaSource.d.ts +4 -2
- package/classes/TabsChannel.d.ts +11 -0
- package/classes/transport/ServerTransport.d.ts +2 -1
- package/classes/transport/Transport.d.ts +1 -1
- package/default/Api.d.ts +2 -2
- package/enums/HangupType.d.ts +1 -0
- package/package.json +3 -3
- package/static/Params.d.ts +19 -5
- package/static/WebRTCUtils.d.ts +6 -2
- package/types/ExternalId.d.ts +7 -1
- package/types/MuteStates.d.ts +1 -1
- package/types/Participant.d.ts +1 -0
- package/types/SignalingMessage.d.ts +9 -1
|
@@ -12,7 +12,7 @@ import UpdateDisplayLayoutErrorReason from '../enums/UpdateDisplayLayoutErrorRea
|
|
|
12
12
|
import UserRole from '../enums/UserRole';
|
|
13
13
|
import UserType from '../enums/UserType';
|
|
14
14
|
import { JSONObject } from '../static/Json';
|
|
15
|
-
import { ExternalParticipantId } from '../types/ExternalId';
|
|
15
|
+
import { ExternalParticipantId, ExternalUserId } from '../types/ExternalId';
|
|
16
16
|
import MediaModifiers from '../types/MediaModifiers';
|
|
17
17
|
import { IVideoDimentions } from '../types/MediaSettings';
|
|
18
18
|
import MuteStates from '../types/MuteStates';
|
|
@@ -62,6 +62,7 @@ export declare type ConversationData = {
|
|
|
62
62
|
unmuteOptions: MediaOption[];
|
|
63
63
|
networkRating: number;
|
|
64
64
|
waitingHall: boolean;
|
|
65
|
+
observer: boolean;
|
|
65
66
|
};
|
|
66
67
|
export declare type ParticipantUpdateInfo = {
|
|
67
68
|
participantStreamDescription: ParticipantStreamDescription | null;
|
|
@@ -110,6 +111,7 @@ export default class Conversation extends EventEmitter {
|
|
|
110
111
|
mediaOptions: MediaOption[];
|
|
111
112
|
chatId?: string;
|
|
112
113
|
joinLink?: string;
|
|
114
|
+
observedIds?: ExternalUserId[];
|
|
113
115
|
}): Promise<ConversationData>;
|
|
114
116
|
private _onJoinPart2;
|
|
115
117
|
onPush(conversationId: string, type?: UserType, peerId?: number): Promise<void>;
|
package/classes/MediaSource.d.ts
CHANGED
|
@@ -26,13 +26,14 @@ export declare class MediaSource extends EventEmitter {
|
|
|
26
26
|
private _mediaSettings;
|
|
27
27
|
private _videoStatusOnScreenCapturingEnabled;
|
|
28
28
|
private _effect;
|
|
29
|
+
private _onDeviceChange;
|
|
29
30
|
constructor();
|
|
30
|
-
request(mediaOptions?: MediaOption[]): Promise<void>;
|
|
31
|
+
request(mediaOptions?: MediaOption[], needEmptyTracks?: boolean): Promise<void>;
|
|
31
32
|
getStream(): MediaStream | null;
|
|
32
33
|
getScreenTrack(): MediaStreamTrack | null;
|
|
33
34
|
getSendVideoTrack(noDataChannel?: boolean): MediaStreamTrack | null;
|
|
34
35
|
private _getSendAudioTrack;
|
|
35
|
-
addTrackToPeerConnection(pc: RTCPeerConnection, noDataChannel?: boolean): void;
|
|
36
|
+
addTrackToPeerConnection(pc: RTCPeerConnection, observer?: boolean, noDataChannel?: boolean): void;
|
|
36
37
|
getMediaSettings(): MediaSettings;
|
|
37
38
|
changeDevice(kind: MediaDeviceKind): Promise<void>;
|
|
38
39
|
/**
|
|
@@ -42,6 +43,7 @@ export declare class MediaSource extends EventEmitter {
|
|
|
42
43
|
*/
|
|
43
44
|
setVideoStream(stream: MediaStream, isScreen: boolean): Promise<void>;
|
|
44
45
|
private _initDeviceChangeListener;
|
|
46
|
+
private _destroyDeviceChangeListener;
|
|
45
47
|
private _changeVideoInput;
|
|
46
48
|
/**
|
|
47
49
|
* хелпер для получения трека для передаче либе эффектов. нужен для сохранения оригинального трека с камеры.
|
|
@@ -14,6 +14,7 @@ export default class ServerTransport extends EventEmitter {
|
|
|
14
14
|
private _producerScreen;
|
|
15
15
|
private _consumerScreen;
|
|
16
16
|
private _isOpen;
|
|
17
|
+
private _observer;
|
|
17
18
|
private _reconnectionPrevented;
|
|
18
19
|
private _state;
|
|
19
20
|
private _statInterval;
|
|
@@ -35,7 +36,7 @@ export default class ServerTransport extends EventEmitter {
|
|
|
35
36
|
constructor(signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings);
|
|
36
37
|
getState(): TransportState;
|
|
37
38
|
updateStatisticsInterval(): void;
|
|
38
|
-
open(): void;
|
|
39
|
+
open(observer?: boolean): void;
|
|
39
40
|
close(error?: Error): void;
|
|
40
41
|
removeParticipant(participantId: ParticipantId): void;
|
|
41
42
|
preventRestart(): void;
|
|
@@ -49,7 +49,7 @@ export declare class Transport extends EventEmitter {
|
|
|
49
49
|
updateSettings(settings: ServerSettings): void;
|
|
50
50
|
updateStatisticsInterval(): void;
|
|
51
51
|
allocate(participantId: ParticipantId, isMaster?: boolean): void;
|
|
52
|
-
open(participantIds: ParticipantId[], peerId?: string | null): void;
|
|
52
|
+
open(participantIds: ParticipantId[], peerId?: string | null, observer?: boolean): void;
|
|
53
53
|
close(participantId: ParticipantId): void;
|
|
54
54
|
destroy(): void;
|
|
55
55
|
getTopology(): TransportTopology;
|
package/default/Api.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import BaseApi, { LogItem } from '../abstract/BaseApi';
|
|
|
2
2
|
import CallType from '../enums/CallType';
|
|
3
3
|
import ConversationParams from '../types/ConversationParams';
|
|
4
4
|
import ConversationResponse from '../types/ConversationResponse';
|
|
5
|
-
import { ExternalId } from '../types/ExternalId';
|
|
5
|
+
import { ExternalId, ExternalUserId } from '../types/ExternalId';
|
|
6
6
|
import { CompositeUserId, OkUserId } from '../types/Participant';
|
|
7
7
|
export default class Api extends BaseApi {
|
|
8
8
|
private _userId;
|
|
@@ -26,7 +26,7 @@ export default class Api extends BaseApi {
|
|
|
26
26
|
success: boolean;
|
|
27
27
|
}>;
|
|
28
28
|
getAnonymTokenByLink(joinLink: string, username?: string): Promise<string>;
|
|
29
|
-
joinConversationByLink(joinLink: string, isVideo?: boolean): Promise<ConversationResponse>;
|
|
29
|
+
joinConversationByLink(joinLink: string, isVideo?: boolean, observedIds?: ExternalUserId[]): Promise<ConversationResponse>;
|
|
30
30
|
/**
|
|
31
31
|
* NB: Не сохраняет порядок возвращаемых ID
|
|
32
32
|
* @hidden
|
package/enums/HangupType.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ declare enum HangupType {
|
|
|
12
12
|
NETWORK_ERROR = "NETWORK_ERROR",
|
|
13
13
|
KILLED = "KILLED",
|
|
14
14
|
BANNED = "BANNED",
|
|
15
|
+
HAS_ACTIVE_CALL = "HAS_ACTIVE_CALL",
|
|
15
16
|
CALLER_IS_BLOCKED = "CALLER_IS_BLOCKED",
|
|
16
17
|
NOT_FRIENDS = "NOT_FRIENDS",
|
|
17
18
|
CALLEE_IS_OFFLINE = "CALLEE_IS_OFFLINE",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/calls-sdk",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.3-beta.1",
|
|
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,12 +14,12 @@
|
|
|
14
14
|
"**/*.d.ts"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@vkontakte/calls-video-effects": "
|
|
17
|
+
"@vkontakte/calls-video-effects": "1.0.6-beta.18",
|
|
18
18
|
"@vkontakte/libvpx": "2.0.9",
|
|
19
19
|
"big-integer": "1.6.48",
|
|
20
20
|
"bit-buffer": "0.2.5",
|
|
21
21
|
"messagepack": "1.1.12",
|
|
22
|
-
"simple-ebml-builder": "
|
|
22
|
+
"simple-ebml-builder": "0.2.2",
|
|
23
23
|
"webrtc-adapter": "7.7.0"
|
|
24
24
|
}
|
|
25
25
|
}
|
package/static/Params.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export declare type ParamsObject = {
|
|
|
51
51
|
waitConnectionDelay: number;
|
|
52
52
|
waitResponseDelay: number;
|
|
53
53
|
waitMessageDelay: number;
|
|
54
|
+
waitAnotherTabDelay: number;
|
|
54
55
|
debugLog: boolean;
|
|
55
56
|
/**
|
|
56
57
|
* Не использовать прямое P2P соединение, чтобы не отправлять в ICE-кандидатах персональные IP-адреса
|
|
@@ -168,14 +169,14 @@ export declare type ParamsObject = {
|
|
|
168
169
|
/**
|
|
169
170
|
* Отдавать приоритет кодеку H264 для исходящего видео
|
|
170
171
|
*
|
|
171
|
-
* _По умолчанию: `
|
|
172
|
+
* _По умолчанию: `false`_
|
|
172
173
|
*/
|
|
173
174
|
preferH264: boolean;
|
|
174
175
|
/**
|
|
175
176
|
* Отдавать приоритет кодеку VP9 для исходящего видео,
|
|
176
177
|
* если preferH264 тоже выставлен в true то первый приоритет будет у VP9, второй у H264
|
|
177
178
|
*
|
|
178
|
-
* _По умолчанию: `
|
|
179
|
+
* _По умолчанию: `true`_
|
|
179
180
|
*/
|
|
180
181
|
preferVP9: boolean;
|
|
181
182
|
audioNack: boolean;
|
|
@@ -183,14 +184,14 @@ export declare type ParamsObject = {
|
|
|
183
184
|
* Принимать параллельно видео с камеры и трансляцию экрана от одного и того же участника.
|
|
184
185
|
* Работает только при приёме экрана через дата-канал.
|
|
185
186
|
*
|
|
186
|
-
* _По умолчанию: `
|
|
187
|
+
* _По умолчанию: `true`_
|
|
187
188
|
*/
|
|
188
189
|
producerScreenTrack: boolean;
|
|
189
190
|
/**
|
|
190
191
|
* Отдавать трансляцию экрана отдельным стримом.
|
|
191
192
|
* Работает только при отправке экрана через дата-канал.
|
|
192
193
|
*
|
|
193
|
-
* _По умолчанию: `
|
|
194
|
+
* _По умолчанию: `true`_
|
|
194
195
|
*/
|
|
195
196
|
consumerScreenTrack: boolean;
|
|
196
197
|
producerNotificationDataChannel: boolean;
|
|
@@ -218,11 +219,21 @@ export declare type ParamsObject = {
|
|
|
218
219
|
breakVideoPayloadTypes: boolean;
|
|
219
220
|
/**
|
|
220
221
|
* Получать список участников звонка третьим аргументом в `onConversation`
|
|
221
|
-
* @
|
|
222
|
+
* @hidden
|
|
222
223
|
*/
|
|
223
224
|
batchParticipantsOnStart: boolean;
|
|
224
225
|
participantStateMapped: boolean;
|
|
225
226
|
joinFromMultipleDevices: boolean;
|
|
227
|
+
/**
|
|
228
|
+
* Фильтровать наблюдателей во всех колбэках
|
|
229
|
+
* @hidden
|
|
230
|
+
*/
|
|
231
|
+
filterObservers: boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Отключить звук собеседников
|
|
234
|
+
* @hidden
|
|
235
|
+
*/
|
|
236
|
+
muteMode: boolean;
|
|
226
237
|
/**
|
|
227
238
|
* Получен локальный стрим с камеры/микрофона
|
|
228
239
|
*/
|
|
@@ -447,6 +458,7 @@ export default abstract class Params {
|
|
|
447
458
|
static get waitConnectionDelay(): number;
|
|
448
459
|
static get waitResponseDelay(): number;
|
|
449
460
|
static get waitMessageDelay(): number;
|
|
461
|
+
static get waitAnotherTabDelay(): number;
|
|
450
462
|
static get debugLog(): boolean;
|
|
451
463
|
static get forceRelayPolicy(): boolean;
|
|
452
464
|
static set forceRelayPolicy(value: boolean);
|
|
@@ -498,4 +510,6 @@ export default abstract class Params {
|
|
|
498
510
|
static get filteredMessages(): boolean;
|
|
499
511
|
static get batchParticipantsOnStart(): boolean;
|
|
500
512
|
static get participantStateMapped(): boolean;
|
|
513
|
+
static get filterObservers(): boolean;
|
|
514
|
+
static get muteMode(): boolean;
|
|
501
515
|
}
|
package/static/WebRTCUtils.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ declare namespace WebRTCUtils {
|
|
|
62
62
|
/**
|
|
63
63
|
* Запрашивает камеру и микрофон пользователя
|
|
64
64
|
*/
|
|
65
|
-
function getUserMedia(needVideo?: boolean, needAudio?: boolean): Promise<MediaStream>;
|
|
65
|
+
function getUserMedia(needVideo?: boolean, needAudio?: boolean, needEmptyTracks?: boolean): Promise<MediaStream>;
|
|
66
66
|
/**
|
|
67
67
|
* Запрашивает трансляцию экрана пользователя
|
|
68
68
|
*/
|
|
@@ -132,7 +132,7 @@ declare namespace WebRTCUtils {
|
|
|
132
132
|
/**
|
|
133
133
|
* Версия браузера
|
|
134
134
|
*/
|
|
135
|
-
function browserVersion():
|
|
135
|
+
function browserVersion(): string;
|
|
136
136
|
/**
|
|
137
137
|
* Если браузер основан на хроме - возвращает версию
|
|
138
138
|
*/
|
|
@@ -141,5 +141,9 @@ declare namespace WebRTCUtils {
|
|
|
141
141
|
* Возвращает AudioContext
|
|
142
142
|
*/
|
|
143
143
|
function getAudioContext(): AudioContext;
|
|
144
|
+
/**
|
|
145
|
+
* Возвращает подверсию браузера (если она есть)
|
|
146
|
+
*/
|
|
147
|
+
function browserSubVersion(): string;
|
|
144
148
|
}
|
|
145
149
|
export default WebRTCUtils;
|
package/types/ExternalId.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare enum ExternalIdType {
|
|
|
12
12
|
ANONYM = "ANONYM",
|
|
13
13
|
GROUP = "GROUP"
|
|
14
14
|
}
|
|
15
|
+
export declare type ExternalUserId = string;
|
|
15
16
|
export declare namespace ExternalIdUtils {
|
|
16
17
|
function fromIds(ids: (string | ExternalId)[]): ExternalId[];
|
|
17
18
|
function fromId(id: string, type?: ExternalIdType): ExternalId;
|
|
@@ -41,6 +42,11 @@ export interface ExternalId {
|
|
|
41
42
|
* Тип пользователя
|
|
42
43
|
*/
|
|
43
44
|
type: ExternalIdType;
|
|
45
|
+
/**
|
|
46
|
+
* Пользователь является наблюдателем звонка
|
|
47
|
+
* @hidden
|
|
48
|
+
*/
|
|
49
|
+
observer?: boolean;
|
|
44
50
|
}
|
|
45
51
|
/**
|
|
46
52
|
* Идентификатор участника звонка
|
|
@@ -72,7 +78,7 @@ export interface ExternalParticipant {
|
|
|
72
78
|
*/
|
|
73
79
|
participantState?: ParticipantStateMapped;
|
|
74
80
|
/**
|
|
75
|
-
* Состояние устройств пользователя
|
|
81
|
+
* Состояние устройств пользователя установленное админом звонка
|
|
76
82
|
*/
|
|
77
83
|
muteStates: MuteStates;
|
|
78
84
|
/**
|
package/types/MuteStates.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import MediaOption from '../enums/MediaOption';
|
|
2
2
|
import MuteState from '../enums/MuteState';
|
|
3
3
|
/**
|
|
4
|
-
* Состояние устройств пользователя
|
|
4
|
+
* Состояние устройств пользователя установленное админом звонка
|
|
5
5
|
*/
|
|
6
6
|
declare type MuteStates = {
|
|
7
7
|
[key in MediaOption]?: MuteState;
|
package/types/Participant.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ 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 { OkUserId, ParticipantId } from './Participant';
|
|
13
|
+
import { CompositeUserId, OkUserId, ParticipantId } from './Participant';
|
|
14
14
|
import VideoSettings from './VideoSettings';
|
|
15
15
|
import { WaitingParticipant } from './WaitingHall';
|
|
16
16
|
declare type SignalingMessage = Record<string, any>;
|
|
@@ -31,6 +31,12 @@ declare namespace SignalingMessage {
|
|
|
31
31
|
id: number;
|
|
32
32
|
type?: string;
|
|
33
33
|
}
|
|
34
|
+
export type ParticipantListType = 'GRID' | 'SIDE' | 'ADMIN';
|
|
35
|
+
export interface ParticipantListMarker {
|
|
36
|
+
rank: number;
|
|
37
|
+
ts: number;
|
|
38
|
+
id?: CompositeUserId;
|
|
39
|
+
}
|
|
34
40
|
export interface Participant {
|
|
35
41
|
id: OkUserId;
|
|
36
42
|
idType?: UserType;
|
|
@@ -50,6 +56,8 @@ declare namespace SignalingMessage {
|
|
|
50
56
|
restricted?: boolean;
|
|
51
57
|
muteStates?: MuteStates;
|
|
52
58
|
unmuteOptions?: MediaOption[];
|
|
59
|
+
markers?: Record<ParticipantListType, ParticipantListMarker>;
|
|
60
|
+
observedIds?: CompositeUserId[];
|
|
53
61
|
}
|
|
54
62
|
interface Conversation {
|
|
55
63
|
id: string;
|