@vkontakte/calls-sdk 2.5.3-dev.4c1cd61.0 → 2.5.3-dev.685756f.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.
@@ -15,7 +15,6 @@ import { JSONObject } from '../static/Json';
15
15
  import { ExternalParticipantId, ExternalUserId } from '../types/ExternalId';
16
16
  import MediaModifiers from '../types/MediaModifiers';
17
17
  import { IVideoDimentions } from '../types/MediaSettings';
18
- import { IAddMovieParams } from '../types/MovieShare';
19
18
  import MuteStates from '../types/MuteStates';
20
19
  import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant';
21
20
  import { ParticipantLayout } from '../types/ParticipantLayout';
@@ -129,6 +128,7 @@ export default class Conversation extends EventEmitter {
129
128
  private _close;
130
129
  destroy(): void;
131
130
  private _getConversationParams;
131
+ private _addGeoParamsToEndpoint;
132
132
  /**
133
133
  * @throws ErrorEvent
134
134
  */
@@ -215,7 +215,7 @@ export default class Conversation extends EventEmitter {
215
215
  customData(data: JSONObject, participantId?: ParticipantId | null): Promise<void>;
216
216
  createJoinLink(): Promise<string>;
217
217
  removeJoinLink(): Promise<never>;
218
- addMovie({ movieId, gain }: IAddMovieParams): Promise<{
218
+ addMovie(movieId: string): Promise<{
219
219
  movieId: string;
220
220
  streamType: string;
221
221
  }>;
@@ -1,5 +1,5 @@
1
1
  export default interface IDecoder {
2
- init(onFrameImage: (image: ImageBitmap | ImageData) => void): Promise<void>;
2
+ init(onFrameImage: (image: VideoFrame | ImageBitmap | ImageData) => void): Promise<void>;
3
3
  decodeFrame(timestamp: number, data: Uint8Array, isVP9: boolean, keyFrame?: boolean): void;
4
4
  destroy(): void;
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import IDecoder from './IDecoder';
2
2
  import WorkerBase from './WorkerBase';
3
3
  export default class WebCodecsDecoder extends WorkerBase implements IDecoder {
4
- init(onFrameImage: (image: ImageBitmap) => void): Promise<void>;
4
+ init(onFrameImage: (frame: VideoFrame) => void): Promise<void>;
5
5
  decodeFrame(timestamp: number, data: Uint8Array, isVP9: boolean, keyFrame?: boolean): void;
6
6
  destroy(): void;
7
7
  static isBrowserSupported(): boolean;
@@ -0,0 +1,8 @@
1
+ export default abstract class BaseRenderer {
2
+ protected readonly _onStream: (stream: MediaStream) => void;
3
+ protected constructor(onStream: (stream: MediaStream) => void);
4
+ drawFrame(frame: VideoFrame): Promise<void>;
5
+ drawImage(image: ImageBitmap | ImageData): void;
6
+ abstract destroy(): void;
7
+ static isBrowserSupported(): boolean;
8
+ }
@@ -0,0 +1,16 @@
1
+ import BaseRenderer from './BaseRenderer';
2
+ export default class CanvasRenderer extends BaseRenderer {
3
+ private readonly _useImageBitmap;
4
+ private _canvas;
5
+ private _canvasContext;
6
+ private _stream;
7
+ private _track;
8
+ constructor(onStream: (stream: MediaStream) => void);
9
+ private _createStream;
10
+ private _removeStream;
11
+ private _requestCanvasFrame;
12
+ drawFrame(frame: VideoFrame): Promise<void>;
13
+ drawImage(image: ImageBitmap | ImageData): void;
14
+ destroy(): void;
15
+ static isBrowserSupported(): boolean;
16
+ }
@@ -1,19 +1,11 @@
1
1
  import { ParticipantId } from '../../types/Participant';
2
2
  import { BaseStreamBuilder, FrameData } from './BaseStreamBuilder';
3
3
  export default class StreamBuilder extends BaseStreamBuilder {
4
+ private readonly _renderer;
4
5
  private readonly _decoder;
5
6
  private _decoderReady;
6
7
  private _decoderQueue;
7
- private readonly _useImageBitmap;
8
- private _canvas;
9
- private _canvasContext;
10
- private _stream;
11
- private _track;
12
8
  constructor(participantId: ParticipantId, onStream: (stream: MediaStream) => void);
13
- private _createStream;
14
- private _removeStream;
15
- private _requestCanvasFrame;
16
- private _drawImage;
17
9
  protected _processFrame(frame: FrameData): void;
18
10
  private _decodeQueue;
19
11
  destroy(): void;
@@ -0,0 +1,10 @@
1
+ import BaseRenderer from './BaseRenderer';
2
+ export default class TrackGeneratorRenderer extends BaseRenderer {
3
+ private readonly _generator;
4
+ private readonly _writer;
5
+ private readonly _stream;
6
+ constructor(onStream: (stream: MediaStream) => void);
7
+ drawFrame(frame: VideoFrame): Promise<void>;
8
+ destroy(): void;
9
+ static isBrowserSupported(): boolean;
10
+ }
@@ -22,6 +22,7 @@ declare enum HangupType {
22
22
  SERVICE_DISABLED = "SERVICE_DISABLED",
23
23
  EXTERNAL_API_ERROR = "EXTERNAL_API_ERROR",
24
24
  SOCKET_CLOSED = "SOCKET_CLOSED",
25
- ENDED = "ENDED"
25
+ ENDED = "ENDED",
26
+ KILLED_WITHOUT_DELETE = "KILLED_WITHOUT_DELETE"
26
27
  }
27
28
  export default HangupType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.5.3-dev.4c1cd61.0",
3
+ "version": "2.5.3-dev.685756f.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",
@@ -76,15 +76,6 @@ declare namespace External {
76
76
  * @param stream
77
77
  */
78
78
  function onRemoteLive(userId: ExternalParticipantId, streamName: string, stream: MediaStream | null): void;
79
- /**
80
- * Получен собственный стрим лайв.
81
- * Если сервер закончил стримить собеседника, вместо стрима будет передан null
82
- *
83
- * @param userId
84
- * @param streamName
85
- * @param stream
86
- */
87
- function onLocalLive(userId: ExternalParticipantId, streamName: string, stream: MediaStream | null): void;
88
79
  /**
89
80
  * Получен стрим с экрана собеседника.
90
81
  * Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
@@ -328,5 +319,11 @@ declare namespace External {
328
319
  * @param firstParticipants Первые несколько ожидающих в зале
329
320
  */
330
321
  function onChatRoomUpdated(eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[]): void;
322
+ /**
323
+ * Получен микшированный аудио стрим.
324
+ *
325
+ * @param stream стрим от WebRTC
326
+ */
327
+ function onRemoteMixedAudioStream(stream: MediaStream): void;
331
328
  }
332
329
  export default External;
@@ -242,6 +242,13 @@ export declare type ParamsObject = {
242
242
  * @hidden
243
243
  */
244
244
  muteMode: boolean;
245
+ /**
246
+ * Сохранять (не удалять) аудио дорожки в стримах, поступающих клиенту
247
+ * Позволяет клиенту получать и сохранять аудио данные
248
+ * Внимание: может привести к "двойному" звуку при проигрывании
249
+ * @hidden
250
+ */
251
+ preserveAudioTracks: boolean;
245
252
  /**
246
253
  * Получен локальный стрим с камеры/микрофона
247
254
  */
@@ -273,11 +280,6 @@ export declare type ParamsObject = {
273
280
  * Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
274
281
  */
275
282
  onRemoteLive?: (userId: ExternalParticipantId, streamId: string, stream: MediaStream | null) => void;
276
- /**
277
- * Получен собственный стрим трансляция или мувик.
278
- * Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
279
- */
280
- onLocalLive?: (userId: ExternalParticipantId, streamId: string, stream: MediaStream | null) => void;
281
283
  /**
282
284
  * Начат звонок
283
285
  */
@@ -432,6 +434,12 @@ export declare type ParamsObject = {
432
434
  * @param firstParticipants Первые несколько ожидающих в зале
433
435
  */
434
436
  onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[]) => void;
437
+ /**
438
+ * Получен микшированный аудио стрим.
439
+ * @hidden
440
+ * @param stream стрим от WebRTC
441
+ */
442
+ onRemoteMixedAudioStream?: (stream: MediaStream) => void;
435
443
  };
436
444
  export default abstract class Params {
437
445
  private static _params;
@@ -524,4 +532,5 @@ export default abstract class Params {
524
532
  static get batchParticipantsOnStart(): boolean;
525
533
  static get filterObservers(): boolean;
526
534
  static get muteMode(): boolean;
535
+ static get preserveAudioTracks(): boolean;
527
536
  }
@@ -6,5 +6,9 @@ declare type ConversationParams = {
6
6
  stun_server?: IceServer;
7
7
  client_type?: string;
8
8
  device_idx?: number;
9
+ isp_as_no?: number;
10
+ isp_as_org?: string;
11
+ loc_cc?: string;
12
+ loc_reg?: string;
9
13
  };
10
14
  export default ConversationParams;
@@ -1,4 +0,0 @@
1
- export interface IAddMovieParams {
2
- movieId: string;
3
- gain?: number;
4
- }