@vkontakte/calls-sdk 2.6.3-dev.c4e735f.0 → 2.6.3-dev.df409e1.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.
@@ -271,11 +271,11 @@ export default class Conversation extends EventEmitter {
271
271
  createJoinLink(): Promise<string>;
272
272
  removeJoinLink(): Promise<never>;
273
273
  addMovie({ movieId, gain, metadata }: IAddMovieParams): Promise<{
274
- movieId: string;
274
+ movieId: number;
275
275
  streamType: string;
276
276
  }>;
277
277
  updateMovie(params: IUpdateMovieData): Promise<void>;
278
- removeMovie(movieId: string): Promise<void>;
278
+ removeMovie(movieId: number): Promise<void>;
279
279
  updateRooms(rooms: SignalingMessage.Room[], assignRandomly: boolean): Promise<void>;
280
280
  activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
281
281
  switchRoom(toRoomId: number | null, participantId?: ParticipantId): Promise<void>;
@@ -29,6 +29,8 @@ export declare class MediaSource extends EventEmitter {
29
29
  private _videoStatusOnScreenCapturingEnabled;
30
30
  private _effect;
31
31
  private _onDeviceChange;
32
+ /** MediaSource занят при переключении камеры или микрофона */
33
+ private _sourceBusy;
32
34
  constructor();
33
35
  request(mediaOptions?: MediaOption[], needEmptyTracks?: boolean): Promise<void>;
34
36
  getStream(): MediaStream | null;
@@ -57,10 +59,13 @@ export declare class MediaSource extends EventEmitter {
57
59
  * Может использоваться для тестирования.
58
60
  */
59
61
  setAudioStream(stream: MediaStream): Promise<void>;
62
+ private _busy;
63
+ private _free;
60
64
  private _changeAudioInput;
61
65
  private _changeScreen;
62
66
  private _disableScreenCapture;
63
67
  private disableAudioShare;
68
+ private stopAudioShareTrack;
64
69
  private getSilentAudioShareTrack;
65
70
  private _replaceLocalTrack;
66
71
  private _stopLocalTrack;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.6.3-dev.c4e735f.0",
3
+ "version": "2.6.3-dev.df409e1.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",
@@ -215,8 +215,9 @@ declare namespace External {
215
215
  * Ошибка получения трека с камеры или микрофона
216
216
  *
217
217
  * @param error
218
+ * @param original
218
219
  */
219
- function onPermissionsError(error: FatalError): void;
220
+ function onPermissionsError(error: FatalError, original: Error): void;
220
221
  /**
221
222
  * Пользователь отключился от звонка
222
223
  *
@@ -119,6 +119,12 @@ export declare type ParamsObject = {
119
119
  * _По умолчанию: `15`_
120
120
  */
121
121
  screenFrameRate: number;
122
+ /**
123
+ * Вариант захвата экрана. Поддерживается в Chrome 107+
124
+ * @see https://developer.chrome.com/docs/web-platform/screen-sharing-controls/
125
+ * @hidden
126
+ */
127
+ displaySurface: DisplayCaptureSurfaceType;
122
128
  /**
123
129
  * Экземпляр класса `VideoEffects` из `@vkontakte/calls-video-effects`
124
130
  *
@@ -305,6 +311,12 @@ export declare type ParamsObject = {
305
311
  * @hidden
306
312
  */
307
313
  screenShareCongestionControl: boolean;
314
+ /**
315
+ * Включить возможность захвата звука при трансляции экрана
316
+ *
317
+ * _По умолчанию: `false`_
318
+ */
319
+ audioShare: boolean;
308
320
  /**
309
321
  * Настройки api
310
322
  */
@@ -416,7 +428,7 @@ export declare type ParamsObject = {
416
428
  /**
417
429
  * Ошибка получения трека с камеры или микрофона
418
430
  */
419
- onPermissionsError?: (error: FatalError) => void;
431
+ onPermissionsError?: (error: FatalError, original: Error) => void;
420
432
  /**
421
433
  * Пользователь отключился от звонка
422
434
  */
@@ -585,10 +597,6 @@ export declare type ParamsObject = {
585
597
  * @param feedback массив с реакциями
586
598
  */
587
599
  onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null) => void;
588
- /**
589
- * Включать capability c аудио шарой
590
- */
591
- audioShareCapabilityEnabled: boolean;
592
600
  /**
593
601
  * Изменился список ролей, которым доступны ConversationFeatures
594
602
  *
@@ -650,6 +658,7 @@ export default abstract class Params {
650
658
  static get videoFrameRate(): number;
651
659
  static get videoFacingMode(): FacingMode;
652
660
  static get screenFrameRate(): number;
661
+ static get displaySurface(): DisplayCaptureSurfaceType;
653
662
  static get videoEffects(): VideoEffects | null;
654
663
  static set videoEffects(value: VideoEffects | null);
655
664
  static get videoEffectMaxWidth(): number;
@@ -698,7 +707,7 @@ export default abstract class Params {
698
707
  static get filterObservers(): boolean;
699
708
  static get muteMode(): boolean;
700
709
  static get preserveAudioTracks(): boolean;
701
- static get audioShareCapabilityEnabled(): boolean;
710
+ static get audioShare(): boolean;
702
711
  static get screenShareCongestionControl(): boolean;
703
712
  static get api(): {
704
713
  /** таймаут для батчинга на получение externalId */
@@ -49,7 +49,9 @@ declare class MediaConstraints {
49
49
  * @hidden
50
50
  */
51
51
  export declare class ScreenConstraints extends MediaConstraints {
52
+ readonly captureController: CaptureController | null;
52
53
  constructor(width: number, height: number, withAudioShare: boolean);
54
+ getNative(): object;
53
55
  }
54
56
  declare namespace WebRTCUtils {
55
57
  /**
@@ -178,6 +180,9 @@ declare namespace WebRTCUtils {
178
180
  * Возвращает подверсию браузера (если она есть)
179
181
  */
180
182
  function browserSubVersion(): string;
183
+ /**
184
+ * Браузер поддерживает захват звука при трансляции экрана
185
+ */
181
186
  function isAudioShareSupported(): boolean;
182
187
  }
183
188
  export default WebRTCUtils;
@@ -1,18 +1,52 @@
1
1
  import LiveStatus from '../enums/LiveStatus';
2
- import { OkUserId, CompositeUserId } from './Participant';
2
+ import { CompositeUserId } from './Participant';
3
3
  import { MediaType } from './ParticipantStreamDescription';
4
+ /**
5
+ * Preview изображения ролика
6
+ */
4
7
  export interface IMoviePreview {
8
+ /**
9
+ * Ссылка на изображение
10
+ */
5
11
  url: string;
12
+ /**
13
+ * Ширина изображения
14
+ */
6
15
  width: number;
16
+ /**
17
+ * Высота изображения
18
+ */
7
19
  height: number;
8
20
  }
21
+ /**
22
+ * MetaData ролика
23
+ */
24
+ export interface IMovieMetaData {
25
+ /**
26
+ * Название ролика
27
+ */
28
+ title?: string;
29
+ /**
30
+ * Список Preview
31
+ */
32
+ thumbnails?: IMoviePreview[];
33
+ }
34
+ /**
35
+ * Параметры для добавления ролика в Совместный Просмотр
36
+ */
9
37
  export interface IAddMovieParams {
10
- movieId: string;
38
+ /**
39
+ * ID Ролика
40
+ */
41
+ movieId: number;
42
+ /**
43
+ * Начальная громкость
44
+ */
11
45
  gain?: number;
12
- metadata?: {
13
- title?: string;
14
- thumbnails?: IMoviePreview[];
15
- };
46
+ /**
47
+ * MetaData ролика
48
+ */
49
+ metadata?: IMovieMetaData;
16
50
  }
17
51
  export declare type ISharedMovieStateResponse = [
18
52
  number,
@@ -23,38 +57,133 @@ export declare type ISharedMovieStateResponse = [
23
57
  number,
24
58
  number
25
59
  ];
60
+ /**
61
+ * Состояние проигрываемого ролика
62
+ */
26
63
  export interface ISharedMovieState {
64
+ /**
65
+ * ID Инициатора совместного просмотра
66
+ * @hidden
67
+ */
27
68
  participantId: CompositeUserId;
69
+ /**
70
+ * Громкость
71
+ */
28
72
  gain?: number;
73
+ /**
74
+ * Находится ли в состоянии паузы
75
+ */
29
76
  pause?: boolean;
77
+ /**
78
+ * Время прошедшее с начала ролика (сек)
79
+ */
30
80
  offset?: number;
81
+ /**
82
+ * Находится ли в стостоянии временного мьюта звука
83
+ */
31
84
  mute?: boolean;
85
+ /**
86
+ * Состояние лайва
87
+ * @hidden
88
+ */
32
89
  liveStatus?: LiveStatus;
90
+ /**
91
+ * Время до начала трансляции
92
+ * @hidden
93
+ */
33
94
  startTimeMs: number;
34
95
  }
96
+ /**
97
+ * Параментры для обновления состояния ролика
98
+ */
35
99
  export interface IUpdateMovieData {
36
- movieId: string;
100
+ /**
101
+ * Id ролика
102
+ */
103
+ movieId: number;
104
+ /**
105
+ * Громкость
106
+ */
37
107
  gain?: number;
108
+ /**
109
+ * Поставить на паузу / снять с паузы
110
+ */
38
111
  pause?: boolean;
112
+ /**
113
+ * Перемотать на n секунд
114
+ */
39
115
  offset?: number;
116
+ /**
117
+ * Временно отключить звук / включить звук в предыдущее состояние
118
+ */
40
119
  mute?: boolean;
41
120
  }
121
+ /**
122
+ * Информация по добавленному ролику в Совместный просмотр
123
+ */
42
124
  export interface ISharedMovieInfo {
43
- movieId: OkUserId;
125
+ /**
126
+ * Id ролика
127
+ */
128
+ movieId: number;
129
+ /**
130
+ * Id инициатора совсместного просмотра
131
+ * @hidden
132
+ */
44
133
  initiatorId: CompositeUserId;
134
+ /**
135
+ * Название ролика
136
+ */
45
137
  title: string;
138
+ /**
139
+ * Тип ролика (на данный момент STREAM или MOVIE)
140
+ */
46
141
  source: MediaType;
142
+ /**
143
+ * Внешний Id ролика
144
+ */
47
145
  externalMovieId: string;
146
+ /**
147
+ * Продолжительность ролика в секундах
148
+ */
48
149
  duration: number;
150
+ /**
151
+ * Массив Preview
152
+ */
49
153
  thumbnails: IMoviePreview[];
50
154
  }
155
+ /**
156
+ * Информация по удоленному из Совместного Просмотра ролику
157
+ */
51
158
  export interface ISharedMovieStoppedInfo {
52
- movieId: OkUserId;
159
+ /**
160
+ * Id ролика
161
+ */
162
+ movieId: number;
163
+ /**
164
+ * Id инициатора совсместного просмотра
165
+ * @hidden
166
+ */
53
167
  initiatorId: CompositeUserId;
168
+ /**
169
+ * Тип ролика (на данный момент STREAM или MOVIE)
170
+ */
54
171
  source: MediaType;
55
172
  }
173
+ /**
174
+ * Информация по пришедшему стриму ролика в Совместном просмотре
175
+ */
56
176
  export interface IOnRemoteMovieData {
177
+ /**
178
+ * Id стрима
179
+ */
57
180
  streamName: string;
181
+ /**
182
+ * Стрим
183
+ */
58
184
  stream: MediaStream | null;
185
+ /**
186
+ * Тип ролика (на данный момент STREAM или MOVIE)
187
+ */
59
188
  mediaType: MediaType;
60
189
  }
@@ -18,7 +18,7 @@ export interface IMuteParticipantParams {
18
18
  export interface IMuteParticipantInternalParams {
19
19
  uid: OkUserId | null;
20
20
  muteStates: MuteStates;
21
- requestedMedia: MediaOption[];
22
- deviceIdx: number;
23
- roomId: number | null;
21
+ requestedMedia?: MediaOption[];
22
+ deviceIdx?: number;
23
+ roomId?: number | null;
24
24
  }