@vkontakte/calls-sdk 2.8.10-dev.f8bba32e.0 → 2.8.10
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 +6 -0
- package/abstract/BaseApi.d.ts +22 -0
- package/abstract/BaseSignaling.d.ts +7 -0
- package/calls-sdk.cjs.js +10 -10
- package/calls-sdk.esm.js +10 -10
- package/classes/AudioOutput.d.ts +17 -20
- package/classes/Conversation.d.ts +2 -0
- package/classes/Logger.d.ts +2 -0
- package/classes/VolumesDetector.d.ts +6 -1
- package/classes/transport/DirectTransport.d.ts +1 -0
- package/default/Api.d.ts +2 -1
- package/default/Signaling.d.ts +1 -0
- package/enums/SignalingCommandType.d.ts +1 -0
- package/package.json +1 -1
- package/static/Params.d.ts +2 -0
- package/static/SignalingCapabilities.d.ts +1 -0
- package/static/Utils.d.ts +3 -1
- package/types/FastJoin.d.ts +1 -1
- package/types/FastStart.d.ts +1 -1
- package/classes/TransparentAudioOutput.d.ts +0 -19
package/classes/AudioOutput.d.ts
CHANGED
|
@@ -1,30 +1,27 @@
|
|
|
1
|
+
import { ParticipantId } from '../types/Participant';
|
|
1
2
|
import { StatFirstMediaReceived } from './stat/StatFirstMediaReceived';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
get volume(): number;
|
|
10
|
-
set volume(volume: number);
|
|
11
|
-
destroy(): void;
|
|
12
|
-
changeOutput(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export default class AudioOutput implements IAudioOutput {
|
|
15
|
-
protected _output: ParticipantAudioOutput | null;
|
|
3
|
+
/**
|
|
4
|
+
* Единый AudioOutput поддерживающий p2p, audioMix и transparent-audio
|
|
5
|
+
*/
|
|
6
|
+
export default class AudioOutput {
|
|
7
|
+
protected _audioElement: HTMLAudioElement | null;
|
|
8
|
+
private _audioTracks;
|
|
9
|
+
private readonly _allowMultipleTracks;
|
|
16
10
|
private _volume;
|
|
17
11
|
private readonly _features;
|
|
18
12
|
private readonly _statFirstMediaReceived;
|
|
19
|
-
constructor(statFirstMediaReceived: StatFirstMediaReceived);
|
|
20
|
-
add(track: MediaStreamTrack): void;
|
|
21
|
-
remove(track: MediaStreamTrack): void;
|
|
13
|
+
constructor(statFirstMediaReceived: StatFirstMediaReceived, allowMultipleTracks?: boolean);
|
|
14
|
+
add(participantId: ParticipantId, track: MediaStreamTrack): void;
|
|
15
|
+
remove(participantId: ParticipantId, track: MediaStreamTrack): void;
|
|
22
16
|
get volume(): number;
|
|
23
17
|
set volume(volume: number);
|
|
24
|
-
protected _initAudioElement(): void;
|
|
25
|
-
protected _stopAudioElement(): void;
|
|
26
18
|
destroy(): void;
|
|
27
19
|
/** изменяем устройство для воспроизведения аудио */
|
|
28
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;
|
|
29
27
|
}
|
|
30
|
-
export {};
|
|
@@ -52,6 +52,7 @@ export default class Conversation extends EventEmitter {
|
|
|
52
52
|
private static _current;
|
|
53
53
|
private static _activationMutex;
|
|
54
54
|
private static _delayedHangup;
|
|
55
|
+
private static _abortController;
|
|
55
56
|
private readonly _onUnload;
|
|
56
57
|
private readonly _audioOutput;
|
|
57
58
|
private _lastStalled;
|
|
@@ -198,6 +199,7 @@ export default class Conversation extends EventEmitter {
|
|
|
198
199
|
*/
|
|
199
200
|
changePriorities(priorities: ParticipantPriority[]): Promise<void>;
|
|
200
201
|
changeParticipantState(state: ParticipantStateData, compositeUserId?: CompositeUserId): Promise<void>;
|
|
202
|
+
hold(hold: boolean): Promise<void>;
|
|
201
203
|
putHandsDown(): Promise<void>;
|
|
202
204
|
requestKeyFrame(participantStreamDescription: ParticipantStreamDescription): Promise<void | SignalingMessage>;
|
|
203
205
|
requestTestMode(consumerCommand: string, producerCommand: string): Promise<void>;
|
package/classes/Logger.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export default class Logger extends BaseLogger {
|
|
|
17
17
|
private readonly _externalLogger;
|
|
18
18
|
private readonly _api;
|
|
19
19
|
private readonly _batchInterval;
|
|
20
|
+
private _batchedLogItems;
|
|
20
21
|
private _batchedClientStats;
|
|
21
22
|
private _batchedClientEvents;
|
|
22
23
|
private _batchTimeout;
|
|
@@ -32,6 +33,7 @@ export default class Logger extends BaseLogger {
|
|
|
32
33
|
private _sendBatch;
|
|
33
34
|
private _startTimeout;
|
|
34
35
|
private _stopTimeout;
|
|
36
|
+
private _sendLogItems;
|
|
35
37
|
private _sendClientStats;
|
|
36
38
|
private _sendClientEvents;
|
|
37
39
|
private _calculateServerTimeDelta;
|
|
@@ -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;
|
package/default/Api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import BaseApi, { ClientEvent, ClientStats } from '../abstract/BaseApi';
|
|
1
|
+
import BaseApi, { ClientEvent, ClientStats, LogItem } 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,6 +15,7 @@ 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;
|
|
18
19
|
logClientStats(items: ClientStats[]): void;
|
|
19
20
|
logClientEvents(items: ClientEvent[]): void;
|
|
20
21
|
uploadDebugLogs(conversationId: string, startTime: number, endTime: number, log: string): Promise<void>;
|
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>;
|
|
@@ -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/package.json
CHANGED
package/static/Params.d.ts
CHANGED
|
@@ -343,6 +343,7 @@ export type ParamsObject = {
|
|
|
343
343
|
* Включает поддержку режима WAIT_FOR_ADMIN в звонках.
|
|
344
344
|
*/
|
|
345
345
|
waitForAdminInGroupCalls: boolean;
|
|
346
|
+
hold: boolean;
|
|
346
347
|
/**
|
|
347
348
|
* Индекс участника для первого chunk'а который придет при установке соединения с сервером
|
|
348
349
|
*
|
|
@@ -969,6 +970,7 @@ export default abstract class Params {
|
|
|
969
970
|
static get useChatRooms(): boolean;
|
|
970
971
|
static get addParticipant(): boolean;
|
|
971
972
|
static get waitForAdminInGroupCalls(): boolean;
|
|
973
|
+
static get hold(): boolean;
|
|
972
974
|
static get participantListChunkInitIndex(): number;
|
|
973
975
|
static get participantListChunkInitCount(): number | null;
|
|
974
976
|
static get filterObservers(): boolean;
|
|
@@ -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
|
@@ -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/FastJoin.d.ts
CHANGED
|
@@ -10,4 +10,4 @@ export interface FastJoinResponse {
|
|
|
10
10
|
conversationId: string;
|
|
11
11
|
internalCallerParams: string;
|
|
12
12
|
}
|
|
13
|
-
export type FastJoinHandler = (params: FastJoinParams) => Promise<FastJoinResponse>;
|
|
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,19 +0,0 @@
|
|
|
1
|
-
import { IAudioOutput } from './AudioOutput';
|
|
2
|
-
import { StatFirstMediaReceived } from './stat/StatFirstMediaReceived';
|
|
3
|
-
export default class TransparentAudioOutput implements IAudioOutput {
|
|
4
|
-
private audioTracks;
|
|
5
|
-
private audioElement;
|
|
6
|
-
private _volume;
|
|
7
|
-
private readonly _features;
|
|
8
|
-
private readonly _statFirstMediaReceived;
|
|
9
|
-
constructor(statFirstMediaReceived: StatFirstMediaReceived);
|
|
10
|
-
add(track: MediaStreamTrack): void;
|
|
11
|
-
remove(track: MediaStreamTrack): void;
|
|
12
|
-
get volume(): number;
|
|
13
|
-
set volume(volume: number);
|
|
14
|
-
protected _initAudioElement(): void;
|
|
15
|
-
protected _stopAudioElement(): void;
|
|
16
|
-
destroy(): void;
|
|
17
|
-
/** изменяем устройство для воспроизведения аудио */
|
|
18
|
-
changeOutput(): Promise<void>;
|
|
19
|
-
}
|