@vkontakte/calls-sdk 2.8.5-dev.47903c9b.0 → 2.8.5-dev.49aa36e0.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.
@@ -14,7 +14,7 @@ import { JSONObject } from '../static/Json';
14
14
  import { IAsrStartParams, IAsrStopParams } from '../types/Asr';
15
15
  import { AudienceModeHandsResponse } from '../types/AudienceMode';
16
16
  import { ConversationData } from '../types/Conversation';
17
- import { ExternalParticipant, ExternalParticipantId, ExternalParticipantListChunk, ExternalUserId } from '../types/ExternalId';
17
+ import { ExternalId, ExternalParticipant, ExternalParticipantId, ExternalParticipantListChunk, ExternalUserId } from '../types/ExternalId';
18
18
  import MediaModifiers from '../types/MediaModifiers';
19
19
  import { IVideoDimentions } from '../types/MediaSettings';
20
20
  import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
@@ -76,8 +76,8 @@ export default class Conversation extends EventEmitter {
76
76
  payload?: string;
77
77
  }): Promise<ConversationData>;
78
78
  private _onJoinPart2;
79
- private _processConnectionRoomsInfo;
80
- private _extractConversationRoomsInfo;
79
+ private _extractExternalRooms;
80
+ private _extractExternalRoomsData;
81
81
  onPush(conversationId: string, type?: UserType, peerId?: number): Promise<void>;
82
82
  private _isInWaitingHall;
83
83
  private _isRestricted;
@@ -142,6 +142,7 @@ export default class Conversation extends EventEmitter {
142
142
  * @param connection
143
143
  */
144
144
  private _processRooms;
145
+ private _extractConnectionPersonalMuteStates;
145
146
  /**
146
147
  * Обрабатывает информацию о мьютах в основном и сессионных залах
147
148
  * @param connection
@@ -231,6 +232,7 @@ export default class Conversation extends EventEmitter {
231
232
  private _getWaitingTime;
232
233
  private _isCallAdmin;
233
234
  private _checkAdminRole;
235
+ private _isCalledState;
234
236
  grantRoles(participantId: ParticipantId, roles: UserRole[], revoke: boolean): Promise<void>;
235
237
  startAsr(params: IAsrStartParams): Promise<void>;
236
238
  stopAsr(params?: IAsrStopParams): Promise<void>;
@@ -284,6 +286,7 @@ export default class Conversation extends EventEmitter {
284
286
  effect?: IVideoDimentions;
285
287
  }): Promise<void | undefined>;
286
288
  videoEffect(effect: IEffect | null): Promise<void | undefined>;
289
+ _convertExternalIdsToServerExternalIds(externalIds: ExternalId[]): SignalingMessage.ExternalId[];
287
290
  getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
288
291
  getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<ExternalParticipantListChunk>;
289
292
  private _getInitialParticiapntListChunk;
@@ -367,8 +370,6 @@ export default class Conversation extends EventEmitter {
367
370
  private _updateDisplayLayoutFromCache;
368
371
  private _setParticipantsStatus;
369
372
  private _onJoinLinkChanged;
370
- private _setConversationRooms;
371
- private _updateConversationRooms;
372
373
  private _onRoomsUpdated;
373
374
  private _onRoomUpdated;
374
375
  private _convertRoomToExternal;
@@ -1,5 +1,5 @@
1
1
  export default interface IDecoder {
2
- init(onFrameImage: (image: VideoFrame | ImageData) => void): Promise<void>;
2
+ init(onFrameImage: (image: VideoFrame | ImageData) => void, onFrameError?: (error: unknown) => 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 LibVPxDecoder extends WorkerBase implements IDecoder {
4
- init(onFrameImage: (image: ImageData) => void): Promise<void>;
4
+ init(onFrameImage: (image: ImageData) => void, onFrameError: (error: unknown) => void): Promise<void>;
5
5
  decodeFrame(timestamp: number, data: Uint8Array, isVP9: boolean, keyFrame?: boolean): void;
6
6
  destroy(): void;
7
7
  static isBrowserSupported(): boolean;
@@ -11,8 +11,6 @@ export default class LibVPxEncoder extends WorkerBase implements IEncoder {
11
11
  private _imageCapture;
12
12
  private _canvas;
13
13
  private _canvasCtx;
14
- private _stream;
15
- private _track;
16
14
  private _frameReadTimeout;
17
15
  private _lastFrame;
18
16
  constructor(sourceTrack: MediaStreamTrack, onFrame: OnFrameCallback, useCongestionControl: boolean, maxBitrate: number);
@@ -23,7 +21,6 @@ export default class LibVPxEncoder extends WorkerBase implements IEncoder {
23
21
  private _drawFrameVideo;
24
22
  private _getFrameBitmap;
25
23
  private _drawFrameData;
26
- private _requestCanvasFrame;
27
24
  init(): Promise<void>;
28
25
  private _encode;
29
26
  private _requestFrameVideo;
@@ -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: (frame: VideoFrame) => void): Promise<void>;
4
+ init(onFrameImage: (frame: VideoFrame) => void, onFrameError: (error: unknown) => void): Promise<void>;
5
5
  decodeFrame(timestamp: number, data: Uint8Array, isVP9: boolean, keyFrame?: boolean): void;
6
6
  destroy(): void;
7
7
  static isBrowserSupported(): boolean;
@@ -66,6 +66,11 @@ export default class DirectTransport extends BaseTransport {
66
66
  private static _patchRemoteDescription;
67
67
  private _onReplacedTrack;
68
68
  private _startStatInterval;
69
+ /**
70
+ * Check SVC support
71
+ * @see https://webrtc.internaut.com/mc/
72
+ */
73
+ private _isSVCSupported;
69
74
  private _checkPPTNetwork;
70
75
  private _stopStatInterval;
71
76
  private _onNetworkStatus;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.8.5-dev.47903c9b.0",
3
+ "version": "2.8.5-dev.49aa36e0.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",
package/static/Utils.d.ts CHANGED
@@ -7,7 +7,7 @@ export declare const PARAMETERS_SEPARATOR = ":";
7
7
  export declare const DEVICE_IDX_PARAMETER = "d";
8
8
  /** @hidden */
9
9
  declare namespace Utils {
10
- function patchLocalSDP(sdp: string, preferH264: boolean, brokenH264: boolean, preferVP9: boolean, h264spsPpsIdrInKeyframe: boolean, isAudioNack?: boolean, preferRed?: boolean): string;
10
+ function patchLocalSDP(sdp: string, preferH264: boolean, brokenH264Decoder: boolean, preferVP9: boolean, h264spsPpsIdrInKeyframe: boolean, isAudioNack?: boolean, preferRed?: boolean): string;
11
11
  function patchRemoteSDP(sdp: string, oldDataChannelDescription: boolean, preferH264: boolean, brokenH264: boolean, preferVP9: boolean, brokenVP9Encoder: boolean, brokenVP9Decoder: boolean): string;
12
12
  function getPeerIdString(peerId: SignalingMessage.PeerId): string;
13
13
  function comparePeerId(peerId1: SignalingMessage.PeerId, peerId2: SignalingMessage.PeerId): boolean;
@@ -31,7 +31,7 @@ declare namespace Utils {
31
31
  deviceIdx: number;
32
32
  };
33
33
  function uuid(): string;
34
- function throttle(func: Function, ms: number): (this: any) => void;
34
+ function debounce<F extends (...args: Parameters<F>) => ReturnType<F>>(func: F, ms: number): (this: any, ..._args: Parameters<F>) => void;
35
35
  function sdpFingerprint(sdp: string): bigint | null;
36
36
  function delay(time: number): Promise<unknown>;
37
37
  function applySettings(pc: RTCPeerConnection, videoSettings: VideoSettings, prevSettings: any): any;
@@ -121,9 +121,9 @@ declare namespace WebRTCUtils {
121
121
  */
122
122
  function isScreenCapturingSupported(): boolean;
123
123
  /**
124
- * В некоторых браузерах H264 сломан
124
+ * В некоторых браузерах H264 decoder сломан
125
125
  */
126
- function isBrokenH264(): boolean;
126
+ function isBrokenH264Decoder(): boolean;
127
127
  /**
128
128
  * В некоторых браузерах VP9 encoder сломан
129
129
  */
@@ -12,7 +12,7 @@ import MediaSettings from './MediaSettings';
12
12
  import MuteStates from './MuteStates';
13
13
  import { OkUserId, Participant, ParticipantId } from './Participant';
14
14
  import { IRoomId, RoomUrlSharingInfo } from './Room';
15
- import SignalingMessage, { RecordInfo } from './SignalingMessage';
15
+ import { RecordInfo } from './SignalingMessage';
16
16
  export interface IProcessMuteStateParams {
17
17
  mediaOptions?: MediaOption[];
18
18
  muteAll?: boolean;
@@ -75,7 +75,6 @@ export type ConversationData = {
75
75
  waitingHall: boolean;
76
76
  observer: boolean;
77
77
  roomId: IRoomId;
78
- rooms?: Record<number, SignalingMessage.Room>;
79
78
  audienceMode: boolean;
80
79
  restricted: boolean;
81
80
  /** @hidden */
@@ -6,6 +6,7 @@ import ConversationOption from '../enums/ConversationOption';
6
6
  import FatalError from '../enums/FatalError';
7
7
  import HangupType from '../enums/HangupType';
8
8
  import MediaOption from '../enums/MediaOption';
9
+ import MuteState from '../enums/MuteState';
9
10
  import ParticipantState from '../enums/ParticipantState';
10
11
  import RoomsEventType from '../enums/RoomsEventType';
11
12
  import SignalingCommandType from '../enums/SignalingCommandType';
@@ -332,6 +333,8 @@ declare namespace SignalingMessage {
332
333
  mediaModifiers: MediaModifiers;
333
334
  conversation: Conversation;
334
335
  participants?: ParticipantListChunk;
336
+ muteState?: MuteState;
337
+ muteOptions?: MediaOption[];
335
338
  }
336
339
  export interface ChatRoomUpdated extends Notification {
337
340
  eventType: ChatRoomEventType;
@@ -368,6 +371,8 @@ declare namespace SignalingMessage {
368
371
  rooms: Room[];
369
372
  roomId?: number;
370
373
  };
374
+ muteState?: MuteState;
375
+ muteOptions?: MediaOption[];
371
376
  }
372
377
  export interface Feedback extends Notification {
373
378
  feedback: IFeedback[];
@@ -19,7 +19,7 @@ export type VideoSettings = {
19
19
  * Настройка деградации - понижаем фпс или разрешение
20
20
  * https://www.w3.org/TR/mst-content-hint/#dom-rtcdegradationpreference
21
21
  */
22
- degradationPreference: string;
22
+ degradationPreference: RTCDegradationPreference;
23
23
  /**
24
24
  * Настройка временных слоев
25
25
  * https://www.w3.org/TR/webrtc-svc/