@vkontakte/calls-sdk 2.8.10-dev.2f72cf47.0 → 2.8.10-dev.38ca4a5a.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.
- package/CallsSDK.d.ts +16 -6
- package/abstract/BaseApi.d.ts +6 -17
- package/abstract/BaseSignaling.d.ts +8 -1
- package/calls-sdk.cjs.js +10 -10
- package/calls-sdk.esm.js +10 -10
- package/classes/AudioOutput.d.ts +16 -11
- package/classes/Conversation.d.ts +5 -1
- package/classes/Logger.d.ts +0 -2
- package/classes/MediaSource.d.ts +0 -1
- package/classes/VolumesDetector.d.ts +6 -1
- package/classes/codec/LibVPxEncoder.d.ts +0 -1
- package/classes/screenshare/ScreenCaptureReceiver.d.ts +0 -1
- package/classes/transport/DirectTransport.d.ts +1 -0
- package/classes/transport/ServerTransport.d.ts +1 -0
- package/classes/transport/Transport.d.ts +0 -1
- package/default/Api.d.ts +1 -3
- package/default/Signaling.d.ts +2 -1
- package/devtools/DevTools.d.ts +20 -0
- package/devtools/DevToolsStorage.d.ts +16 -0
- package/devtools/index.d.ts +1 -0
- package/devtools/modules/Params.d.ts +65 -0
- package/devtools/types.d.ts +15 -0
- package/enums/HangupType.d.ts +4 -0
- package/enums/SignalingCommandType.d.ts +1 -0
- package/enums/TrackId.d.ts +2 -1
- package/package.json +2 -2
- package/static/Params.d.ts +29 -77
- package/static/SignalingCapabilities.d.ts +1 -0
- package/static/Utils.d.ts +4 -2
- package/types/Conversation.d.ts +2 -0
- package/types/FastJoin.d.ts +13 -0
- package/types/FastStart.d.ts +1 -1
- package/classes/Conversation.test.d.ts +0 -1
- package/classes/screenshare/PacketHistory.test.d.ts +0 -1
- package/classes/screenshare/ScreenCaptureSender.test.d.ts +0 -1
- package/classes/transport/ServerTransport.test.d.ts +0 -1
- package/default/Api.test.d.ts +0 -1
- package/default/Signaling.test.d.ts +0 -1
- package/static/Utils.test.d.ts +0 -1
- package/static/WebRTCUtils.test.d.ts +0 -1
- package/utils/ArrayDequeue.spec.d.ts +0 -1
- package/utils/IList.test.d.ts +0 -1
- package/utils/LengthPrefixed.test.d.ts +0 -1
- package/utils/P2Quantile.test.d.ts +0 -1
- package/utils/VariableLengthInteger.test.d.ts +0 -1
- package/utils/Welford.test.d.ts +0 -1
package/classes/AudioOutput.d.ts
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
|
+
import { ParticipantId } from '../types/Participant';
|
|
1
2
|
import { StatFirstMediaReceived } from './stat/StatFirstMediaReceived';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
3
|
+
/**
|
|
4
|
+
* Единый AudioOutput поддерживающий p2p, audioMix и transparent-audio
|
|
5
|
+
*/
|
|
6
6
|
export default class AudioOutput {
|
|
7
|
-
protected
|
|
7
|
+
protected _audioElement: HTMLAudioElement | null;
|
|
8
|
+
private _audioTracks;
|
|
9
|
+
private readonly _allowMultipleTracks;
|
|
8
10
|
private _volume;
|
|
9
11
|
private readonly _features;
|
|
10
12
|
private readonly _statFirstMediaReceived;
|
|
11
|
-
constructor(statFirstMediaReceived: StatFirstMediaReceived);
|
|
12
|
-
add(track: MediaStreamTrack): void;
|
|
13
|
-
remove(track: MediaStreamTrack): void;
|
|
13
|
+
constructor(statFirstMediaReceived: StatFirstMediaReceived, allowMultipleTracks?: boolean);
|
|
14
|
+
add(participantId: ParticipantId, track: MediaStreamTrack): void;
|
|
15
|
+
remove(participantId: ParticipantId, track: MediaStreamTrack): void;
|
|
14
16
|
get volume(): number;
|
|
15
17
|
set volume(volume: number);
|
|
16
|
-
protected _initAudioElement(): void;
|
|
17
|
-
protected _stopAudioElement(): void;
|
|
18
18
|
destroy(): void;
|
|
19
19
|
/** изменяем устройство для воспроизведения аудио */
|
|
20
20
|
changeOutput(): Promise<void>;
|
|
21
|
+
protected _getTracks(): MediaStreamTrack[];
|
|
22
|
+
protected _initAudioElement(): void;
|
|
23
|
+
protected _stopAudioElement(): void;
|
|
24
|
+
private _addTrackToAudioElement;
|
|
25
|
+
private _removeTrackFromAudioElement;
|
|
26
|
+
private _clearTracks;
|
|
21
27
|
}
|
|
22
|
-
export {};
|
|
@@ -14,6 +14,7 @@ import { IAsrStartParams, IAsrStopParams } from '../types/Asr';
|
|
|
14
14
|
import { AudienceModeHandsResponse } from '../types/AudienceMode';
|
|
15
15
|
import { ConversationData, ConversationOnStartParams } from '../types/Conversation';
|
|
16
16
|
import { ExternalId, ExternalParticipant, ExternalParticipantId, ExternalParticipantListChunk, ExternalUserId } from '../types/ExternalId';
|
|
17
|
+
import type { FastJoinHandler } from '../types/FastJoin';
|
|
17
18
|
import MediaModifiers from '../types/MediaModifiers';
|
|
18
19
|
import { IVideoDimentions } from '../types/MediaSettings';
|
|
19
20
|
import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
|
|
@@ -51,6 +52,7 @@ export default class Conversation extends EventEmitter {
|
|
|
51
52
|
private static _current;
|
|
52
53
|
private static _activationMutex;
|
|
53
54
|
private static _delayedHangup;
|
|
55
|
+
private static _abortController;
|
|
54
56
|
private readonly _onUnload;
|
|
55
57
|
private readonly _audioOutput;
|
|
56
58
|
private _lastStalled;
|
|
@@ -67,7 +69,7 @@ export default class Conversation extends EventEmitter {
|
|
|
67
69
|
static current(): Conversation | null;
|
|
68
70
|
static hangupAfterInit(): void;
|
|
69
71
|
static id(): string | null;
|
|
70
|
-
onStart({ opponentIds, opponentType, mediaOptions, payload, joiningAllowed, requireAuthToJoin, onlyAdminCanShareMovie, externalIds, onFastStart, }: ConversationOnStartParams): Promise<ConversationData>;
|
|
72
|
+
onStart({ opponentIds, opponentType, mediaOptions, payload, joiningAllowed, requireAuthToJoin, onlyAdminCanShareMovie, externalIds, onFastStart, conversationId, }: ConversationOnStartParams): Promise<ConversationData>;
|
|
71
73
|
onJoin(joinArgs: {
|
|
72
74
|
conversationId?: string;
|
|
73
75
|
mediaOptions: MediaOption[];
|
|
@@ -75,6 +77,7 @@ export default class Conversation extends EventEmitter {
|
|
|
75
77
|
joinLink?: string;
|
|
76
78
|
observedIds?: ExternalUserId[];
|
|
77
79
|
payload?: string;
|
|
80
|
+
onFastJoin?: FastJoinHandler;
|
|
78
81
|
}): Promise<ConversationData>;
|
|
79
82
|
private _onJoinPart2;
|
|
80
83
|
private _extractExternalRooms;
|
|
@@ -196,6 +199,7 @@ export default class Conversation extends EventEmitter {
|
|
|
196
199
|
*/
|
|
197
200
|
changePriorities(priorities: ParticipantPriority[]): Promise<void>;
|
|
198
201
|
changeParticipantState(state: ParticipantStateData, compositeUserId?: CompositeUserId): Promise<void>;
|
|
202
|
+
hold(hold: boolean): Promise<void>;
|
|
199
203
|
putHandsDown(): Promise<void>;
|
|
200
204
|
requestKeyFrame(participantStreamDescription: ParticipantStreamDescription): Promise<void | SignalingMessage>;
|
|
201
205
|
requestTestMode(consumerCommand: string, producerCommand: string): Promise<void>;
|
package/classes/Logger.d.ts
CHANGED
|
@@ -17,7 +17,6 @@ export default class Logger extends BaseLogger {
|
|
|
17
17
|
private readonly _externalLogger;
|
|
18
18
|
private readonly _api;
|
|
19
19
|
private readonly _batchInterval;
|
|
20
|
-
private _batchedLogItems;
|
|
21
20
|
private _batchedClientStats;
|
|
22
21
|
private _batchedClientEvents;
|
|
23
22
|
private _batchTimeout;
|
|
@@ -33,7 +32,6 @@ export default class Logger extends BaseLogger {
|
|
|
33
32
|
private _sendBatch;
|
|
34
33
|
private _startTimeout;
|
|
35
34
|
private _stopTimeout;
|
|
36
|
-
private _sendLogItems;
|
|
37
35
|
private _sendClientStats;
|
|
38
36
|
private _sendClientEvents;
|
|
39
37
|
private _calculateServerTimeDelta;
|
package/classes/MediaSource.d.ts
CHANGED
|
@@ -83,7 +83,6 @@ export declare class MediaSource extends EventEmitter {
|
|
|
83
83
|
private _changeAudioInput;
|
|
84
84
|
private _changeScreen;
|
|
85
85
|
private _disableScreenCapture;
|
|
86
|
-
private disableAudioShare;
|
|
87
86
|
private stopAudioShareTrack;
|
|
88
87
|
private _applyAudioEffect;
|
|
89
88
|
protected getSilentAudioShareTrack(): MediaStreamTrack;
|
|
@@ -4,15 +4,20 @@ export declare const enum VolumesDetectorEvent {
|
|
|
4
4
|
VOLUMES_DETECTED = "VOLUMES_DETECTED"
|
|
5
5
|
}
|
|
6
6
|
export declare class VolumesDetector extends EventEmitter {
|
|
7
|
-
private
|
|
7
|
+
private _detectors;
|
|
8
8
|
private _interval;
|
|
9
9
|
private _activeParticipants;
|
|
10
10
|
private _removedParticipants;
|
|
11
|
+
private _topology;
|
|
11
12
|
constructor(transport: Transport);
|
|
12
13
|
destroy(): void;
|
|
13
14
|
private _onRemoteTrackAdded;
|
|
14
15
|
private _onRemoteTrackRemoved;
|
|
15
16
|
private _collectVolumes;
|
|
17
|
+
private _getAudioTrackLevelByParticipantId;
|
|
18
|
+
private _getTransparentAudioLevelByParticipantId;
|
|
16
19
|
private _onSignalledActiveParticipants;
|
|
17
20
|
private _onTopologyChanged;
|
|
21
|
+
private _isTransparentAudioMode;
|
|
22
|
+
private _destroyDetectors;
|
|
18
23
|
}
|
|
@@ -55,6 +55,7 @@ export default class DirectTransport extends BaseTransport {
|
|
|
55
55
|
private _handleIceCandidate;
|
|
56
56
|
private _onSignalingStateChange;
|
|
57
57
|
private _onIceConnectionStateChange;
|
|
58
|
+
private _markConnected;
|
|
58
59
|
private _onConnectionStateChange;
|
|
59
60
|
private _startReconnection;
|
|
60
61
|
private _requestTopologySwitch;
|
|
@@ -25,6 +25,7 @@ export default class ServerTransport extends BaseTransport {
|
|
|
25
25
|
private _perfStatReporter;
|
|
26
26
|
private _producerOfferIsProcessing;
|
|
27
27
|
private _producerNextOffer;
|
|
28
|
+
private _producerNextSessionId;
|
|
28
29
|
private _lastStat;
|
|
29
30
|
private _serverSettings;
|
|
30
31
|
private _prevConsumerSettings;
|
|
@@ -75,7 +75,6 @@ export declare class Transport extends EventEmitter {
|
|
|
75
75
|
private _createServerTransport;
|
|
76
76
|
private _releaseDirectTransport;
|
|
77
77
|
private _releaseServerTransport;
|
|
78
|
-
private _setLocalNoiseSuppression;
|
|
79
78
|
private _onDirectTransportChanged;
|
|
80
79
|
private _onServerTransportChanged;
|
|
81
80
|
private _onTransportActiveParticipants;
|
package/default/Api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import BaseApi, { ClientEvent, ClientStats
|
|
1
|
+
import BaseApi, { ClientEvent, ClientStats } from '../abstract/BaseApi';
|
|
2
2
|
import CallType from '../enums/CallType';
|
|
3
3
|
import HangupType from '../enums/HangupType';
|
|
4
4
|
import ConversationParams from '../types/ConversationParams';
|
|
@@ -15,7 +15,6 @@ export default class Api extends BaseApi {
|
|
|
15
15
|
protected _call(method: string, data?: any, noSession?: boolean): Promise<any>;
|
|
16
16
|
userId(participantId: ParticipantId): Promise<ExternalParticipantId>;
|
|
17
17
|
authorize(): Promise<void>;
|
|
18
|
-
log(items: LogItem[]): void;
|
|
19
18
|
logClientStats(items: ClientStats[]): void;
|
|
20
19
|
logClientEvents(items: ClientEvent[]): void;
|
|
21
20
|
uploadDebugLogs(conversationId: string, startTime: number, endTime: number, log: string): Promise<void>;
|
|
@@ -65,7 +64,6 @@ export default class Api extends BaseApi {
|
|
|
65
64
|
getUserId(): OkUserId | null;
|
|
66
65
|
setUserId(userId: OkUserId): void;
|
|
67
66
|
hangupConversation(conversationId: string, reason?: HangupType): void;
|
|
68
|
-
sendUserFeedbackStats(conversationId: string, userResponse: number, reason?: string, groupCallUsersCount?: number): void;
|
|
69
67
|
removeHistoryRecords(recordIds: number[]): Promise<void>;
|
|
70
68
|
cleanup(): void;
|
|
71
69
|
private _getExternalIdsByOkIds;
|
package/default/Signaling.d.ts
CHANGED
|
@@ -89,6 +89,7 @@ export default class Signaling extends BaseSignaling {
|
|
|
89
89
|
acceptCall(mediaSettings: MediaSettings): Promise<SignalingMessage>;
|
|
90
90
|
changeMediaSettings(mediaSettings: MediaSettings): Promise<SignalingMessage>;
|
|
91
91
|
changeParticipantState(state: ParticipantStateData, compositeUserId?: CompositeUserId): Promise<SignalingMessage>;
|
|
92
|
+
hold(hold: boolean): Promise<SignalingMessage>;
|
|
92
93
|
putHandsDown(): Promise<SignalingMessage>;
|
|
93
94
|
addParticipant(externalIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
|
|
94
95
|
addParticipantLegacy(participantIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
|
|
@@ -96,7 +97,7 @@ export default class Signaling extends BaseSignaling {
|
|
|
96
97
|
allocateConsumer(description: RTCSessionDescription | null, capabilities: {
|
|
97
98
|
[key: string]: number | boolean | string;
|
|
98
99
|
}): Promise<SignalingMessage>;
|
|
99
|
-
acceptProducer(description: RTCSessionDescriptionInit, ssrcs: string[]): Promise<SignalingMessage>;
|
|
100
|
+
acceptProducer(description: RTCSessionDescriptionInit, ssrcs: string[], sessionId: string): Promise<SignalingMessage>;
|
|
100
101
|
/**
|
|
101
102
|
* @deprecated Use updateDisplayLayout instead
|
|
102
103
|
*/
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DevTools for SDK
|
|
3
|
+
* Позволяет подменять значения ручек перед инициализацией SDK
|
|
4
|
+
*/
|
|
5
|
+
import Params from './modules/Params';
|
|
6
|
+
import type { DevToolsOptions } from './types';
|
|
7
|
+
export type { DevToolsOptions };
|
|
8
|
+
/**
|
|
9
|
+
* DevTools API for runtime SDK configuration
|
|
10
|
+
* Singleton class to ensure consistent state across the application
|
|
11
|
+
*/
|
|
12
|
+
declare class DevTools {
|
|
13
|
+
private static instance;
|
|
14
|
+
static getInstance(): DevTools;
|
|
15
|
+
readonly params: Params;
|
|
16
|
+
private storage;
|
|
17
|
+
private constructor();
|
|
18
|
+
}
|
|
19
|
+
declare const _default: DevTools;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage utility for DevTools
|
|
3
|
+
* Handles persistence of DevTools options in localStorage
|
|
4
|
+
*/
|
|
5
|
+
import type { DevToolsOptions } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Storage utility for DevTools
|
|
8
|
+
*/
|
|
9
|
+
export default class DevToolsStorage {
|
|
10
|
+
set(key: string, value: any): void;
|
|
11
|
+
get<T>(key: string): T | null;
|
|
12
|
+
remove(key: string): void;
|
|
13
|
+
clear(): void;
|
|
14
|
+
getAll(): DevToolsOptions;
|
|
15
|
+
private getStorage;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as devtools } from './DevTools';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Params module for DevTools
|
|
3
|
+
* Позволяет подменять значения ручек перед инициализацией SDK
|
|
4
|
+
*/
|
|
5
|
+
import type DevToolsStorage from '../DevToolsStorage';
|
|
6
|
+
import type { DevToolsOptions } from '../types';
|
|
7
|
+
export type { DevToolsOptions };
|
|
8
|
+
export default class Params {
|
|
9
|
+
private storage;
|
|
10
|
+
constructor(storage: DevToolsStorage);
|
|
11
|
+
/**
|
|
12
|
+
* Set an option override
|
|
13
|
+
* @param key - Option name
|
|
14
|
+
* @param value - Option value
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* __CALLS_SDK.params.set('webtransport', true);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
set<K extends keyof DevToolsOptions>(key: K, value: DevToolsOptions[K]): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get an option override value
|
|
23
|
+
* @param key - Option name
|
|
24
|
+
* @returns Option value if override is set, null if not set
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const value = __CALLS_SDK.params.get('webtransport');
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
get<K extends keyof DevToolsOptions>(key: K): DevToolsOptions[K] | null;
|
|
31
|
+
/**
|
|
32
|
+
* Clear a specific option override
|
|
33
|
+
* @param key - Option name
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* __CALLS_SDK.params.clear('webtransport');
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
clear<K extends keyof DevToolsOptions>(key: K): void;
|
|
40
|
+
/**
|
|
41
|
+
* Clear all DevTools overrides
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* __CALLS_SDK.params.clearAll();
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
clearAll(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Get all current DevTools overrides
|
|
50
|
+
* @returns Current override values
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* const overrides = __CALLS_SDK.params.getAll();
|
|
54
|
+
* console.log(overrides); // { webtransport: true }
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
getAll(): DevToolsOptions;
|
|
58
|
+
/**
|
|
59
|
+
* Apply DevTools overrides to client options
|
|
60
|
+
* DevTools overrides take precedence over client-provided options
|
|
61
|
+
* @param clientOptions - Original client options
|
|
62
|
+
* @returns Modified options with DevTools overrides applied
|
|
63
|
+
*/
|
|
64
|
+
applyOverrides<T extends DevToolsOptions>(clientOptions: T): T;
|
|
65
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for DevTools
|
|
3
|
+
*/
|
|
4
|
+
import type { ParamsObject } from '../static/Params';
|
|
5
|
+
type Primitive = string | number | boolean;
|
|
6
|
+
type PrimitiveKeys<T> = {
|
|
7
|
+
[K in keyof T]-?: Exclude<T[K], undefined> extends Primitive ? K : never;
|
|
8
|
+
}[keyof T];
|
|
9
|
+
export type PrimitiveParamsObject = Pick<ParamsObject, PrimitiveKeys<ParamsObject>>;
|
|
10
|
+
/**
|
|
11
|
+
* Available DevTools options that can be overridden
|
|
12
|
+
* All properties are optional
|
|
13
|
+
*/
|
|
14
|
+
export type DevToolsOptions = Partial<PrimitiveParamsObject>;
|
|
15
|
+
export {};
|
package/enums/HangupType.d.ts
CHANGED
|
@@ -38,6 +38,10 @@ declare enum HangupType {
|
|
|
38
38
|
* Проблемы при работе через FastStart
|
|
39
39
|
*/
|
|
40
40
|
FAST_START_ERROR = "FAST_START_ERROR",
|
|
41
|
+
/**
|
|
42
|
+
* Проблемы при работе через FastJoin
|
|
43
|
+
*/
|
|
44
|
+
FAST_JOIN_ERROR = "FAST_JOIN_ERROR",
|
|
41
45
|
/**
|
|
42
46
|
* Таймаут инициализации вызова – звонок не начался
|
|
43
47
|
*
|
|
@@ -55,6 +55,7 @@ declare enum SignalingCommandType {
|
|
|
55
55
|
GET_HAND_QUEUE = "get-hand-queue",
|
|
56
56
|
ENABLE_VIDEO_SUSPEND = "enable-video-suspend",
|
|
57
57
|
ENABLE_VIDEO_SUSPEND_SUGGEST = "enable-video-suspend-suggest",
|
|
58
|
+
HOLD = "hold",
|
|
58
59
|
PUT_HANDS_DOWN = "put-hands-down",
|
|
59
60
|
CHANGE_SIMULCAST = "change-simulcast"
|
|
60
61
|
}
|
package/enums/TrackId.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/calls-sdk",
|
|
3
|
-
"version": "2.8.10-dev.
|
|
3
|
+
"version": "2.8.10-dev.38ca4a5a.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",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@vkontakte/calls-audio-effects": "1.2.8",
|
|
18
|
-
"@vkontakte/calls-video-effects": "2.2.3-beta.
|
|
18
|
+
"@vkontakte/calls-video-effects": "2.2.3-beta.7",
|
|
19
19
|
"@vkontakte/calls-vmoji": "1.0.10-beta.17",
|
|
20
20
|
"@vkontakte/libvpx": "2.0.9",
|
|
21
21
|
"bit-buffer": "0.2.5",
|
package/static/Params.d.ts
CHANGED
|
@@ -278,42 +278,6 @@ export type ParamsObject = {
|
|
|
278
278
|
preferVP9: boolean;
|
|
279
279
|
/** @hidden */
|
|
280
280
|
audioNack: boolean;
|
|
281
|
-
/**
|
|
282
|
-
* Принимать параллельно видео с камеры и трансляцию экрана от одного и того же участника.
|
|
283
|
-
* Работает только при приёме экрана через дата-канал.
|
|
284
|
-
*
|
|
285
|
-
* _По умолчанию: `true`_
|
|
286
|
-
* @deprecated
|
|
287
|
-
*/
|
|
288
|
-
producerScreenTrack: boolean;
|
|
289
|
-
/**
|
|
290
|
-
* Отдавать трансляцию экрана отдельным стримом.
|
|
291
|
-
* Работает только при отправке экрана через дата-канал.
|
|
292
|
-
*
|
|
293
|
-
* _По умолчанию: `true`_
|
|
294
|
-
* @deprecated
|
|
295
|
-
*/
|
|
296
|
-
consumerScreenTrack: boolean;
|
|
297
|
-
/**
|
|
298
|
-
* @hidden
|
|
299
|
-
* @deprecated
|
|
300
|
-
*/
|
|
301
|
-
producerNotificationDataChannel: boolean;
|
|
302
|
-
/**
|
|
303
|
-
* @hidden
|
|
304
|
-
* @deprecated
|
|
305
|
-
*/
|
|
306
|
-
producerCommandDataChannel: boolean;
|
|
307
|
-
/**
|
|
308
|
-
* @hidden
|
|
309
|
-
* @deprecated
|
|
310
|
-
*/
|
|
311
|
-
consumerScreenDataChannel: boolean;
|
|
312
|
-
/**
|
|
313
|
-
* @hidden
|
|
314
|
-
* @deprecated
|
|
315
|
-
*/
|
|
316
|
-
producerScreenDataChannel: boolean;
|
|
317
281
|
/** @hidden */
|
|
318
282
|
asrDataChannel: boolean;
|
|
319
283
|
/**
|
|
@@ -379,6 +343,7 @@ export type ParamsObject = {
|
|
|
379
343
|
* Включает поддержку режима WAIT_FOR_ADMIN в звонках.
|
|
380
344
|
*/
|
|
381
345
|
waitForAdminInGroupCalls: boolean;
|
|
346
|
+
hold: boolean;
|
|
382
347
|
/**
|
|
383
348
|
* Индекс участника для первого chunk'а который придет при установке соединения с сервером
|
|
384
349
|
*
|
|
@@ -390,27 +355,6 @@ export type ParamsObject = {
|
|
|
390
355
|
* если параметр не проставлен то будет использоваться значение по умолчанию установленное на сервере
|
|
391
356
|
*/
|
|
392
357
|
participantListChunkInitCount: number | null;
|
|
393
|
-
/**
|
|
394
|
-
* Включать RED-extension (redundancy) для групповых звонков
|
|
395
|
-
*
|
|
396
|
-
* _По умолчанию: `true`_
|
|
397
|
-
* @deprecated
|
|
398
|
-
*/
|
|
399
|
-
serverAudioRed: boolean;
|
|
400
|
-
/**
|
|
401
|
-
* Включать RED-extension (redundancy) для p2p звонков
|
|
402
|
-
*
|
|
403
|
-
* _По умолчанию: `true`_
|
|
404
|
-
* @deprecated
|
|
405
|
-
*/
|
|
406
|
-
p2pAudioRed: boolean;
|
|
407
|
-
/**
|
|
408
|
-
* Добавлять флаг spsPpsIdrInKeyframe для h264 кодека. В результате ключевые фреймы без sps и pps
|
|
409
|
-
* не используются как ключевые. Решает проблему с артефактами на видео в случае потерь пакетов.
|
|
410
|
-
* @hidden
|
|
411
|
-
* @deprecated
|
|
412
|
-
*/
|
|
413
|
-
h264spsPpsIdrInKeyframe: boolean;
|
|
414
358
|
/**
|
|
415
359
|
* Разрешить вход в звонок одним пользователем с разных устройств одновременно
|
|
416
360
|
*
|
|
@@ -450,6 +394,20 @@ export type ParamsObject = {
|
|
|
450
394
|
* _По умолчанию: `false`_
|
|
451
395
|
*/
|
|
452
396
|
audioShare: boolean;
|
|
397
|
+
/**
|
|
398
|
+
* Включить возможность захвата звука системы при трансляции окна
|
|
399
|
+
*
|
|
400
|
+
* _По умолчанию: `false`_
|
|
401
|
+
* @hidden
|
|
402
|
+
*/
|
|
403
|
+
audioShareWindowInclude: boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Включить возможность захвата звука системы при трансляции всего экрана
|
|
406
|
+
*
|
|
407
|
+
* _По умолчанию: `false`_
|
|
408
|
+
* @hidden
|
|
409
|
+
*/
|
|
410
|
+
audioShareSystemInclude: boolean;
|
|
453
411
|
/**
|
|
454
412
|
* Включить поддержку динамического контента при трансляция экрана
|
|
455
413
|
*
|
|
@@ -474,10 +432,6 @@ export type ParamsObject = {
|
|
|
474
432
|
* _По умолчанию: `false`_
|
|
475
433
|
*/
|
|
476
434
|
consumerFastScreenShareQualityOnDemand: boolean;
|
|
477
|
-
/**
|
|
478
|
-
* Использовать новые правила allMute для админа
|
|
479
|
-
*/
|
|
480
|
-
newMuteRules: boolean;
|
|
481
435
|
/**
|
|
482
436
|
* Включить поддержку приостановки видео в плохой сети.
|
|
483
437
|
*
|
|
@@ -527,6 +481,12 @@ export type ParamsObject = {
|
|
|
527
481
|
* _По умолчанию: `false`_
|
|
528
482
|
*/
|
|
529
483
|
webtransportFF: boolean;
|
|
484
|
+
/**
|
|
485
|
+
* Включить поддержку прозрачного аудио
|
|
486
|
+
*
|
|
487
|
+
* _По умолчанию: `false`_
|
|
488
|
+
*/
|
|
489
|
+
transparentAudio: boolean;
|
|
530
490
|
/**
|
|
531
491
|
* Получен локальный стрим с камеры/микрофона
|
|
532
492
|
*/
|
|
@@ -909,6 +869,7 @@ export default abstract class Params {
|
|
|
909
869
|
static set(data: {
|
|
910
870
|
[key: string]: any;
|
|
911
871
|
}): void;
|
|
872
|
+
static getScreenFrameRate(fastScreenShare: boolean): number;
|
|
912
873
|
static get<N extends keyof ParamsObject>(name: N): ParamsObject[N];
|
|
913
874
|
static get appName(): string;
|
|
914
875
|
static get appVersion(): number;
|
|
@@ -993,20 +954,13 @@ export default abstract class Params {
|
|
|
993
954
|
static get callStatReportEnabled(): boolean;
|
|
994
955
|
static get clientEventsLoggingEnabled(): boolean;
|
|
995
956
|
static get enableLogPerfStatReport(): boolean;
|
|
996
|
-
static get producerNotificationDataChannel(): boolean;
|
|
997
|
-
static get producerCommandDataChannel(): boolean;
|
|
998
|
-
static get consumerScreenDataChannel(): boolean;
|
|
999
|
-
static get producerScreenDataChannel(): boolean;
|
|
1000
957
|
static get asrDataChannel(): boolean;
|
|
1001
958
|
static get consumerScreenDataChannelPacketSize(): number;
|
|
1002
959
|
static get screenShareWebmBuilder(): boolean;
|
|
1003
960
|
static get noiseSuppression(): boolean;
|
|
1004
|
-
static set noiseSuppression(value: boolean);
|
|
1005
961
|
static get preferH264(): boolean;
|
|
1006
962
|
static get preferVP9(): boolean;
|
|
1007
963
|
static get audioNack(): boolean;
|
|
1008
|
-
static get consumerScreenTrack(): boolean;
|
|
1009
|
-
static get producerScreenTrack(): boolean;
|
|
1010
964
|
static get movieShare(): boolean;
|
|
1011
965
|
static get videoTracksCount(): number;
|
|
1012
966
|
static get breakVideoPayloadTypes(): boolean;
|
|
@@ -1016,15 +970,15 @@ export default abstract class Params {
|
|
|
1016
970
|
static get useChatRooms(): boolean;
|
|
1017
971
|
static get addParticipant(): boolean;
|
|
1018
972
|
static get waitForAdminInGroupCalls(): boolean;
|
|
973
|
+
static get hold(): boolean;
|
|
1019
974
|
static get participantListChunkInitIndex(): number;
|
|
1020
975
|
static get participantListChunkInitCount(): number | null;
|
|
1021
|
-
static get serverAudioRed(): boolean;
|
|
1022
|
-
static get p2pAudioRed(): boolean;
|
|
1023
|
-
static get h264spsPpsIdrInKeyframe(): boolean;
|
|
1024
976
|
static get filterObservers(): boolean;
|
|
1025
977
|
static get muteMode(): boolean;
|
|
1026
978
|
static get preserveAudioTracks(): boolean;
|
|
1027
979
|
static get audioShare(): boolean;
|
|
980
|
+
static get audioShareWindowInclude(): boolean;
|
|
981
|
+
static get audioShareSystemInclude(): boolean;
|
|
1028
982
|
static get fastScreenShare(): boolean;
|
|
1029
983
|
static get screenShareCongestionControl(): boolean;
|
|
1030
984
|
static get screenShareCongestionControlThreshold(): number;
|
|
@@ -1032,22 +986,20 @@ export default abstract class Params {
|
|
|
1032
986
|
static get fastScreenShareHeight(): number;
|
|
1033
987
|
static get consumerFastScreenShare(): boolean;
|
|
1034
988
|
static get consumerFastScreenShareQualityOnDemand(): boolean;
|
|
1035
|
-
static get newMuteRules(): boolean;
|
|
1036
989
|
static get videoSuspend(): boolean;
|
|
1037
990
|
static get enumerateDevicesDelay(): number;
|
|
1038
|
-
static getScreenFrameRate(fastScreenShare: boolean): number;
|
|
1039
991
|
static get switchVideoAtBadNetwork(): boolean;
|
|
1040
992
|
static get enableVideoEffectsFpsDegradation(): boolean;
|
|
1041
993
|
static get simulcast(): boolean;
|
|
1042
|
-
static set simulcast(value: boolean);
|
|
1043
994
|
static get webtransport(): boolean;
|
|
1044
|
-
static set webtransport(value: boolean);
|
|
1045
995
|
static get webtransportFF(): boolean;
|
|
1046
|
-
static
|
|
996
|
+
static get transparentAudio(): boolean;
|
|
1047
997
|
static toJSON(): {
|
|
1048
998
|
apiKey: string;
|
|
1049
999
|
apiEnv: string;
|
|
1050
1000
|
audioShare: boolean;
|
|
1001
|
+
audioShareWindowInclude: boolean;
|
|
1002
|
+
audioShareSystemInclude: boolean;
|
|
1051
1003
|
useCallsToContacts: boolean;
|
|
1052
1004
|
useParticipantListChunk: boolean;
|
|
1053
1005
|
useRooms: boolean;
|
|
@@ -1068,7 +1020,6 @@ export default abstract class Params {
|
|
|
1068
1020
|
callStatReportEnabled: boolean;
|
|
1069
1021
|
joinFromMultipleDevices: boolean;
|
|
1070
1022
|
movieShare: boolean;
|
|
1071
|
-
newMuteRules: boolean;
|
|
1072
1023
|
clientType: string;
|
|
1073
1024
|
clientStatsPlatform: string;
|
|
1074
1025
|
consumerScreenDataChannelPacketSize: number;
|
|
@@ -1076,5 +1027,6 @@ export default abstract class Params {
|
|
|
1076
1027
|
simulcast: boolean;
|
|
1077
1028
|
webtransport: boolean;
|
|
1078
1029
|
webtransportFF: boolean;
|
|
1030
|
+
transparentAudio: boolean;
|
|
1079
1031
|
};
|
|
1080
1032
|
}
|
|
@@ -20,6 +20,7 @@ declare const PREDICATES: {
|
|
|
20
20
|
readonly addParticipant: () => boolean;
|
|
21
21
|
readonly p2pRelay: () => boolean;
|
|
22
22
|
readonly waitForAdmin: () => boolean;
|
|
23
|
+
readonly hold: () => boolean;
|
|
23
24
|
};
|
|
24
25
|
type ParticipantCapabilitiesKeys = keyof typeof PREDICATES;
|
|
25
26
|
export type ParticipantCapabilities = Record<ParticipantCapabilitiesKeys, boolean>;
|
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, brokenH264Decoder: boolean, preferVP9: boolean,
|
|
10
|
+
function patchLocalSDP(sdp: string, preferH264: boolean, brokenH264Decoder: boolean, preferVP9: boolean, isAudioNack?: 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;
|
|
@@ -33,7 +33,9 @@ declare namespace Utils {
|
|
|
33
33
|
function uuid(): string;
|
|
34
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
|
-
function delay(time: number
|
|
36
|
+
function delay(time: number, { signal }?: {
|
|
37
|
+
signal?: AbortSignal;
|
|
38
|
+
}): Promise<void>;
|
|
37
39
|
function applySettings(pc: RTCPeerConnection, videoSettings: VideoSettings, prevSettings: any): any;
|
|
38
40
|
function applyVideoTrackSettings(videoSettings: VideoSettings, s: RTCRtpSender, track: MediaStreamTrack | null, prevSettings: any, retSettings: any): void;
|
|
39
41
|
/**
|
package/types/Conversation.d.ts
CHANGED
|
@@ -82,6 +82,7 @@ export type ConversationOnStartParams = {
|
|
|
82
82
|
onlyAdminCanShareMovie?: boolean;
|
|
83
83
|
externalIds?: ExternalId[];
|
|
84
84
|
onFastStart?: FastStartHandler;
|
|
85
|
+
conversationId?: string;
|
|
85
86
|
};
|
|
86
87
|
export type StartConversationParams = {
|
|
87
88
|
opponentIds?: OkUserId[];
|
|
@@ -95,4 +96,5 @@ export type StartConversationParams = {
|
|
|
95
96
|
externalIds?: ExternalId[];
|
|
96
97
|
startedTime: number;
|
|
97
98
|
onFastStart?: FastStartHandler;
|
|
99
|
+
conversationId?: string;
|
|
98
100
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Параметры для fast join
|
|
3
|
+
*/
|
|
4
|
+
export interface FastJoinParams {
|
|
5
|
+
joinLink: string;
|
|
6
|
+
isVideo: boolean;
|
|
7
|
+
internalParams: string;
|
|
8
|
+
}
|
|
9
|
+
export interface FastJoinResponse {
|
|
10
|
+
conversationId: string;
|
|
11
|
+
internalCallerParams: string;
|
|
12
|
+
}
|
|
13
|
+
export type FastJoinHandler = (params: FastJoinParams, signal?: AbortSignal) => Promise<FastJoinResponse>;
|
package/types/FastStart.d.ts
CHANGED
|
@@ -44,4 +44,4 @@ export interface FastStartResponse {
|
|
|
44
44
|
status: string;
|
|
45
45
|
}[];
|
|
46
46
|
}
|
|
47
|
-
export type FastStartHandler = (params: FastStartParams) => Promise<FastStartResponse>;
|
|
47
|
+
export type FastStartHandler = (params: FastStartParams, signal?: AbortSignal) => Promise<FastStartResponse>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|