@vkontakte/calls-sdk 2.7.1 → 2.7.2-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 +26 -11
- package/abstract/BaseSignaling.d.ts +2 -1
- package/calls-sdk.cjs.js +9 -9
- package/calls-sdk.esm.js +9 -9
- package/classes/Conversation.d.ts +7 -6
- package/classes/MediaSource.d.ts +5 -8
- package/default/Signaling.d.ts +2 -1
- package/package.json +2 -2
- package/static/Params.d.ts +10 -0
- package/static/WebRTCUtils.d.ts +7 -51
- package/types/Asr.d.ts +9 -0
- package/types/SignalingMessage.d.ts +0 -1
- package/utils/Media.d.ts +2 -0
- package/classes/Conversation.test.d.ts +0 -1
- package/classes/screenshare/PacketHistory.test.d.ts +0 -1
- package/default/Api.test.d.ts +0 -1
- package/static/Utils.test.d.ts +0 -1
- package/static/WebRTCUtils.test.d.ts +0 -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 { AsrInfo } from '../types/Asr';
|
|
15
|
+
import { AsrInfo, IAsrStartParams } from '../types/Asr';
|
|
16
16
|
import { IFeaturesPerRole } from '../types/ConversationFeature';
|
|
17
17
|
import { ExternalParticipant, ExternalParticipantId, ExternalParticipantListChunk, ExternalUserId } from '../types/ExternalId';
|
|
18
18
|
import MediaModifiers from '../types/MediaModifiers';
|
|
@@ -268,7 +268,7 @@ export default class Conversation extends EventEmitter {
|
|
|
268
268
|
private _isCallAdmin;
|
|
269
269
|
private _checkAdminRole;
|
|
270
270
|
grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<void>;
|
|
271
|
-
startAsr(): Promise<void>;
|
|
271
|
+
startAsr(params: IAsrStartParams): Promise<void>;
|
|
272
272
|
stopAsr(): Promise<void>;
|
|
273
273
|
requestAsr(request: boolean): Promise<void>;
|
|
274
274
|
muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], roomId?: number | null): Promise<void>;
|
|
@@ -299,15 +299,16 @@ export default class Conversation extends EventEmitter {
|
|
|
299
299
|
activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
|
|
300
300
|
switchRoom(toRoomId: number | null, participantId?: ParticipantId): Promise<void>;
|
|
301
301
|
removeRooms(roomIds: number[]): Promise<void>;
|
|
302
|
-
startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise<
|
|
303
|
-
stopStream(roomId?: number | null): Promise<
|
|
302
|
+
startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise<never>;
|
|
303
|
+
stopStream(roomId?: number | null): Promise<never>;
|
|
304
304
|
recordSetRole(participantId: ParticipantId, role: RecordRole | null, roomId?: number | null): Promise<void>;
|
|
305
305
|
getStreamInfo(): Promise<{
|
|
306
306
|
movieId: any;
|
|
307
307
|
preview: any;
|
|
308
308
|
}>;
|
|
309
|
-
setLocalResolution(
|
|
310
|
-
|
|
309
|
+
setLocalResolution({ video, effect }: {
|
|
310
|
+
video: IVideoDimentions;
|
|
311
|
+
effect?: IVideoDimentions;
|
|
311
312
|
}): Promise<void>;
|
|
312
313
|
videoEffect(effect: IEffect | null): Promise<void>;
|
|
313
314
|
getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
|
package/classes/MediaSource.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IEffect } from '@vkontakte/calls-video-effects';
|
|
2
2
|
import EventEmitter from '../classes/EventEmitter';
|
|
3
3
|
import MediaOption from '../enums/MediaOption';
|
|
4
|
-
import MediaSettings from '../types/MediaSettings';
|
|
4
|
+
import MediaSettings, { IVideoDimentions } from '../types/MediaSettings';
|
|
5
5
|
import { ScreenCaptureSettings } from '../types/ScreenCaptureSettings';
|
|
6
6
|
export declare const enum MediaSourceEvent {
|
|
7
7
|
SOURCE_CHANGED = "SOURCE_CHANGED",
|
|
@@ -45,12 +45,6 @@ export declare class MediaSource extends EventEmitter {
|
|
|
45
45
|
addTrackToPeerConnection(pc: RTCPeerConnection, observer: boolean, noDataChannel: boolean, audioRed: boolean): void;
|
|
46
46
|
getMediaSettings(): MediaSettings;
|
|
47
47
|
changeDevice(kind: MediaDeviceKind): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* Освобождает все видео треки, полученные с камеры
|
|
50
|
-
* На некоторых мобилках без этого нельзя переключить камеру
|
|
51
|
-
* @hidden
|
|
52
|
-
*/
|
|
53
|
-
stopVideoTrack(): Promise<void>;
|
|
54
48
|
/**
|
|
55
49
|
* Установка кастомного стрима для видео, например внешний шаринг экрана
|
|
56
50
|
* или стрим из canvas
|
|
@@ -91,7 +85,10 @@ export declare class MediaSource extends EventEmitter {
|
|
|
91
85
|
toggleAudio(enabled: boolean): Promise<void>;
|
|
92
86
|
toggleAnimojiCapturing(enabled: boolean): void;
|
|
93
87
|
onAnimojiSender(created: boolean): void;
|
|
94
|
-
setResolution(
|
|
88
|
+
setResolution({ video, effect }: {
|
|
89
|
+
video: IVideoDimentions;
|
|
90
|
+
effect?: IVideoDimentions;
|
|
91
|
+
}): Promise<void>;
|
|
95
92
|
updateNoiseSuppression(): Promise<void>;
|
|
96
93
|
videoEffect(effect: IEffect | null): Promise<void>;
|
|
97
94
|
getAudioShareTrack(): MediaStreamTrack | null;
|
package/default/Signaling.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import SignalingCommandType from '../enums/SignalingCommandType';
|
|
|
11
11
|
import SignalingConnectionType from '../enums/SignalingConnectionType';
|
|
12
12
|
import UserRole from '../enums/UserRole';
|
|
13
13
|
import { JSONObject } from '../static/Json';
|
|
14
|
+
import { IAsrStartParams } from '../types/Asr';
|
|
14
15
|
import MediaModifiers from '../types/MediaModifiers';
|
|
15
16
|
import MediaSettings from '../types/MediaSettings';
|
|
16
17
|
import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
|
|
@@ -146,7 +147,7 @@ export default class Signaling extends BaseSignaling {
|
|
|
146
147
|
readyToSend(): void;
|
|
147
148
|
getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
|
|
148
149
|
getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
|
|
149
|
-
startAsr(): Promise<SignalingMessage>;
|
|
150
|
+
startAsr(params: IAsrStartParams): Promise<SignalingMessage>;
|
|
150
151
|
stopAsr(): Promise<SignalingMessage>;
|
|
151
152
|
requestAsr(request: boolean): Promise<SignalingMessage>;
|
|
152
153
|
setAsrDataChannel(dataChannel: RTCDataChannel): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/calls-sdk",
|
|
3
|
-
"version": "2.7.1",
|
|
3
|
+
"version": "2.7.2-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,7 +14,7 @@
|
|
|
14
14
|
"**/*.d.ts"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@vkontakte/calls-video-effects": "1.
|
|
17
|
+
"@vkontakte/calls-video-effects": "1.1.3",
|
|
18
18
|
"@vkontakte/calls-vmoji": "1.0.5-beta.5",
|
|
19
19
|
"@vkontakte/libvpx": "2.0.9",
|
|
20
20
|
"bit-buffer": "0.2.5",
|
package/static/Params.d.ts
CHANGED
|
@@ -630,6 +630,16 @@ export type ParamsObject = {
|
|
|
630
630
|
* (если ключ фичи отсутствует, или в ролях пустой массив, считаем фичу доступной для всех пользователей)
|
|
631
631
|
*/
|
|
632
632
|
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole) => void;
|
|
633
|
+
/**
|
|
634
|
+
* Начата текстовая расшифровка звонка
|
|
635
|
+
* @param initiatorId Id пользователя, запустившего расшифровку звонка
|
|
636
|
+
* @param movieId Id расшифровки
|
|
637
|
+
*/
|
|
638
|
+
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number) => void;
|
|
639
|
+
/**
|
|
640
|
+
* Закончена текстовая расшифровка звонка
|
|
641
|
+
*/
|
|
642
|
+
onAsrStopped?: () => void;
|
|
633
643
|
};
|
|
634
644
|
export default abstract class Params {
|
|
635
645
|
private static _params;
|
package/static/WebRTCUtils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Вспомогательный плагин для работы с WebRTC
|
|
3
3
|
*/
|
|
4
|
+
import { IVideoDimentions } from '../types/MediaSettings';
|
|
4
5
|
/**
|
|
5
6
|
* Тип камеры мобильного устройства
|
|
6
7
|
*/
|
|
@@ -14,55 +15,6 @@ export declare enum FacingMode {
|
|
|
14
15
|
*/
|
|
15
16
|
ENVIRONMENT = "environment"
|
|
16
17
|
}
|
|
17
|
-
/**
|
|
18
|
-
* @hidden
|
|
19
|
-
*/
|
|
20
|
-
export declare namespace FacingMode {
|
|
21
|
-
function contains(item: string | FacingMode): boolean;
|
|
22
|
-
}
|
|
23
|
-
/********************* MediaConstraints *********************/
|
|
24
|
-
/**
|
|
25
|
-
* Вспомогательный класс для формирования параметров, которые нужны для запроса камеры и микрофона.
|
|
26
|
-
* @hidden
|
|
27
|
-
*/
|
|
28
|
-
declare class MediaConstraints {
|
|
29
|
-
protected audio: MediaTrackConstraints | boolean;
|
|
30
|
-
protected video: MediaTrackConstraints | boolean;
|
|
31
|
-
private readonly needVideo;
|
|
32
|
-
constructor(audioDeviceId: boolean | string, videoDeviceId?: boolean | string, videoMaxWidth?: number, videoMaxHeight?: number);
|
|
33
|
-
/**
|
|
34
|
-
* Возвращает нативные параметры для передачи в getUserMedia.
|
|
35
|
-
*/
|
|
36
|
-
getNative(): MediaStreamConstraints;
|
|
37
|
-
/**
|
|
38
|
-
* Метод упрощает параметры, чтобы попробовать сделать getUserMedia еще раз при ошибке.
|
|
39
|
-
* Сначала убираются размеры, потом соотношения сторон.
|
|
40
|
-
*/
|
|
41
|
-
simplify(): MediaConstraints;
|
|
42
|
-
/**
|
|
43
|
-
* Проверяет, можно ли упростить параметры.
|
|
44
|
-
*/
|
|
45
|
-
canSimplify(): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Проверяет, есть ли параметры видео.
|
|
48
|
-
*/
|
|
49
|
-
isVideo(): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Проверяет, есть ли параметры аудио.
|
|
52
|
-
*/
|
|
53
|
-
isAudio(): boolean;
|
|
54
|
-
}
|
|
55
|
-
/********************* /MediaConstraints *********************/
|
|
56
|
-
/********************* ScreenConstraints *********************/
|
|
57
|
-
/**
|
|
58
|
-
* Вспомогательный класс для формирования параметров, которые нужны для запроса трансляции экрана.
|
|
59
|
-
* @hidden
|
|
60
|
-
*/
|
|
61
|
-
export declare class ScreenConstraints extends MediaConstraints {
|
|
62
|
-
readonly captureController: CaptureController | null;
|
|
63
|
-
constructor(width: number, height: number, frameRate: number, withAudioShare: boolean);
|
|
64
|
-
getNative(): MediaStreamConstraints;
|
|
65
|
-
}
|
|
66
18
|
declare namespace WebRTCUtils {
|
|
67
19
|
/**
|
|
68
20
|
* Инициализирует устройства. До вызова этого метода бесполезно опрашивать другие публичные методы
|
|
@@ -118,6 +70,10 @@ declare namespace WebRTCUtils {
|
|
|
118
70
|
function hasPermissions(needVideo?: boolean): boolean;
|
|
119
71
|
/**
|
|
120
72
|
* Запрашивает камеру и микрофон пользователя
|
|
73
|
+
*
|
|
74
|
+
* @param needVideo Нужно ли видео
|
|
75
|
+
* @param needAudio Нужно ли аудио
|
|
76
|
+
* @param needEmptyTracks Добавлять ли в стрим пустые треки для отключенного видео/аудио
|
|
121
77
|
*/
|
|
122
78
|
function getUserMedia(needVideo?: boolean, needAudio?: boolean, needEmptyTracks?: boolean): Promise<MediaStream>;
|
|
123
79
|
/**
|
|
@@ -128,9 +84,9 @@ declare namespace WebRTCUtils {
|
|
|
128
84
|
* Запрашивает камеру пользователя
|
|
129
85
|
*
|
|
130
86
|
* @param deviceId ID устройства
|
|
131
|
-
* @param
|
|
87
|
+
* @param resolution Размеры видео
|
|
132
88
|
*/
|
|
133
|
-
function getUserVideo(deviceId?: string,
|
|
89
|
+
function getUserVideo(deviceId?: string, resolution?: IVideoDimentions): Promise<MediaStream>;
|
|
134
90
|
/**
|
|
135
91
|
* Запрашивает микрофон пользователя
|
|
136
92
|
*
|
package/types/Asr.d.ts
CHANGED
|
@@ -9,3 +9,12 @@ export interface AsrTranscription {
|
|
|
9
9
|
timestamp: number;
|
|
10
10
|
duration: number;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Параметры расшифровки звонка
|
|
14
|
+
*/
|
|
15
|
+
export interface IAsrStartParams {
|
|
16
|
+
/**
|
|
17
|
+
* Наименование файла в который сохранится расшифровка
|
|
18
|
+
*/
|
|
19
|
+
name: string;
|
|
20
|
+
}
|
|
@@ -17,7 +17,6 @@ import MuteStates from './MuteStates';
|
|
|
17
17
|
import { CompositeUserId, OkUserId, ParticipantId, ParticipantListMarker as ParticipantParticipantListMarker, ParticipantListMarkers, ParticipantListType as ParticipantParticipantListType } from './Participant';
|
|
18
18
|
import VideoSettings from './VideoSettings';
|
|
19
19
|
import { ChatRoom } from './WaitingHall';
|
|
20
|
-
type SignalingMessage = Record<string, any>;
|
|
21
20
|
export type RecordInfo = {
|
|
22
21
|
initiator: ParticipantId;
|
|
23
22
|
recordMovieId: number;
|
package/utils/Media.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { IVideoDimentions } from '../types/MediaSettings';
|
|
1
2
|
export declare const stopMediaStreamTrack: (track: MediaStreamTrack) => void;
|
|
2
3
|
export declare const stopMediaStreamTracks: (stream: MediaStream) => void;
|
|
3
4
|
export declare const stopMediaStreamVideoTracks: (stream: MediaStream) => void;
|
|
4
5
|
export declare const cloneVideoTrack: (stream: MediaStream) => MediaStreamTrack;
|
|
6
|
+
export declare function setVideoResolution(track: MediaStreamTrack, { width, height }: IVideoDimentions): Promise<void>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import 'jasmine-ajax';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/default/Api.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/static/Utils.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|