@vkontakte/calls-sdk 2.7.2-beta.0 → 2.7.2-beta.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.
@@ -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<SignalingMessage>;
303
- stopStream(roomId?: number | null): Promise<SignalingMessage>;
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(width: number, height: number, params?: {
310
- effect: IVideoDimentions;
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[]>;
@@ -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(width: number, height: number): Promise<void>;
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.7.2-beta.0",
3
+ "version": "2.7.2-beta.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": "1.0.6-beta.18",
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",
@@ -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,15 +84,22 @@ declare namespace WebRTCUtils {
128
84
  * Запрашивает камеру пользователя
129
85
  *
130
86
  * @param deviceId ID устройства
131
- * @param effectEnabled Включен ли эффект видео
87
+ * @param resolution Размеры видео
132
88
  */
133
- function getUserVideo(deviceId?: string, effectEnabled?: boolean): Promise<MediaStream>;
89
+ function getUserVideo(deviceId?: string, resolution?: IVideoDimentions): Promise<MediaStream>;
134
90
  /**
135
91
  * Запрашивает микрофон пользователя
136
92
  *
137
93
  * @param deviceId ID устройства
138
94
  */
139
95
  function getUserAudio(deviceId?: string): Promise<MediaStream>;
96
+ /**
97
+ * Устанавливает размер видео в стриме
98
+ *
99
+ * @param stream
100
+ * @param resolution
101
+ */
102
+ function setResolution(stream: MediaStream, resolution: IVideoDimentions): Promise<void>;
140
103
  /**
141
104
  * Запоминает выбранное устройство
142
105
  */
package/types/Asr.d.ts CHANGED
@@ -9,7 +9,12 @@ export interface AsrTranscription {
9
9
  timestamp: number;
10
10
  duration: number;
11
11
  }
12
+ /**
13
+ * Параметры расшифровки звонка
14
+ */
12
15
  export interface IAsrStartParams {
13
- /** Наименование файла в который сохранится расшифровка */
16
+ /**
17
+ * Наименование файла в который сохранится расшифровка
18
+ */
14
19
  name: string;
15
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 {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};