@vkontakte/calls-sdk 2.8.11-dev.89ba1e7f.0 → 2.8.11-dev.95961e8b.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 +55 -21
- package/abstract/BaseApi.d.ts +2 -3
- package/abstract/BaseSignaling.d.ts +6 -6
- package/calls-sdk.cjs.js +9 -9
- package/calls-sdk.esm.js +7840 -7360
- package/classes/AudioFix.d.ts +5 -1
- package/classes/AudioOutput.d.ts +5 -1
- package/classes/Conversation.d.ts +13 -14
- package/classes/ConversationResponseValidator.d.ts +3 -0
- package/classes/DebugInfo.d.ts +3 -0
- package/classes/DisplayLayoutRequester.d.ts +39 -0
- package/classes/ExternalIdCache.d.ts +19 -0
- package/classes/MediaSource.d.ts +5 -8
- package/classes/ParticipantIdRegistry.d.ts +3 -0
- package/classes/ProducerCommandSerializationService.d.ts +3 -0
- package/classes/SignalingActor.d.ts +3 -1
- package/classes/SpeakerDetector.d.ts +2 -1
- package/classes/SpecListener.d.ts +5 -3
- package/classes/{Logger.d.ts → StatsLogger.d.ts} +3 -10
- package/classes/VideoEffectsFpsLimiter.d.ts +3 -0
- package/classes/asr/AsrReceiver.d.ts +3 -1
- package/classes/codec/LibVPxDecoder.d.ts +3 -0
- package/classes/codec/LibVPxEncoder.d.ts +3 -1
- package/classes/codec/WebCodecsDecoder.d.ts +3 -0
- package/classes/codec/WebCodecsEncoder.d.ts +3 -1
- package/classes/codec/WorkerBase.d.ts +5 -0
- package/classes/screenshare/BaseStreamBuilder.d.ts +4 -1
- package/classes/screenshare/CanvasRenderer.d.ts +3 -1
- package/classes/screenshare/ScreenCaptureReceiver.d.ts +7 -1
- package/classes/screenshare/ScreenCaptureSender.d.ts +5 -1
- package/classes/screenshare/ScreenCongestionControl.d.ts +3 -1
- package/classes/screenshare/StreamBuilder.d.ts +5 -1
- package/classes/screenshare/TrackGeneratorRenderer.d.ts +3 -1
- package/classes/screenshare/WebmBuilder.d.ts +3 -1
- package/classes/stat/CodecStatsAggregator.d.ts +7 -7
- package/classes/stat/ConversationStats.d.ts +21 -0
- package/classes/stat/StatAggregator.d.ts +6 -6
- package/classes/stat/StatFirstMediaReceived.d.ts +6 -2
- package/classes/stat/StatPings.d.ts +9 -9
- package/classes/stat/StatScreenShareFirstFrame.d.ts +3 -1
- package/classes/stat/StatSignalingCommands.d.ts +8 -8
- package/classes/transport/BaseTransport.d.ts +1 -1
- package/classes/transport/DirectStatReporter.d.ts +3 -1
- package/classes/transport/DirectTransport.d.ts +9 -1
- package/classes/transport/PerfStatReporter.d.ts +5 -1
- package/classes/transport/ServerTransport.d.ts +10 -2
- package/classes/transport/Transport.d.ts +11 -14
- package/default/Api.d.ts +8 -11
- package/default/Signaling.d.ts +39 -45
- package/default/SignalingTransport.d.ts +68 -0
- package/enums/HangupType.d.ts +2 -1
- package/enums/SignalingNotification.d.ts +1 -2
- package/enums/TransportState.d.ts +10 -0
- package/enums/TransportTopology.d.ts +5 -0
- package/package.json +1 -1
- package/static/Debug.d.ts +27 -8
- package/static/External.d.ts +74 -143
- package/static/Params.d.ts +84 -84
- package/static/Utils.d.ts +3 -2
- package/static/WebRTCUtils.d.ts +6 -4
- package/types/Conversation.d.ts +1 -1
- package/types/FastStart.d.ts +1 -0
- package/types/ParticipantLayout.d.ts +33 -0
- package/types/SignalingMessage.d.ts +2 -5
- package/types/Statistics.d.ts +1 -1
- package/types/WebTransport.d.ts +4 -0
- package/utils/DebugStorage.d.ts +100 -1
- package/classes/CallRegistry.d.ts +0 -22
- package/classes/stat/EventMetricsService.d.ts +0 -9
- package/static/Capabilities.d.ts +0 -5
- package/static/ConversationDebugLogger.d.ts +0 -13
- package/types/Capabilities.d.ts +0 -24
package/static/Params.d.ts
CHANGED
|
@@ -306,6 +306,12 @@ export type ParamsObject = {
|
|
|
306
306
|
* _По умолчанию: `30`_
|
|
307
307
|
*/
|
|
308
308
|
videoTracksCount: number;
|
|
309
|
+
/**
|
|
310
|
+
* Минимальный интервал отправки diff для requestDisplayLayout в миллисекундах.
|
|
311
|
+
*
|
|
312
|
+
* _По умолчанию: `250`_
|
|
313
|
+
*/
|
|
314
|
+
requestDisplayLayoutThrottleMs: number;
|
|
309
315
|
/** @hidden */
|
|
310
316
|
movieShare: boolean;
|
|
311
317
|
/** @hidden */
|
|
@@ -343,14 +349,7 @@ export type ParamsObject = {
|
|
|
343
349
|
* Включает поддержку режима WAIT_FOR_ADMIN в звонках.
|
|
344
350
|
*/
|
|
345
351
|
waitForAdminInGroupCalls: boolean;
|
|
346
|
-
/**
|
|
347
|
-
* Включает поддержку удержания звонка
|
|
348
|
-
*/
|
|
349
352
|
hold: boolean;
|
|
350
|
-
/**
|
|
351
|
-
* Максимальное количество параллельных звонков
|
|
352
|
-
*/
|
|
353
|
-
maxParallelCalls: number;
|
|
354
353
|
/**
|
|
355
354
|
* Индекс участника для первого chunk'а который придет при установке соединения с сервером
|
|
356
355
|
*
|
|
@@ -497,104 +496,104 @@ export type ParamsObject = {
|
|
|
497
496
|
/**
|
|
498
497
|
* Получен локальный стрим с камеры/микрофона
|
|
499
498
|
*/
|
|
500
|
-
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings
|
|
499
|
+
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
501
500
|
/**
|
|
502
501
|
* Локальный стрим изменился
|
|
503
502
|
*/
|
|
504
|
-
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind
|
|
503
|
+
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind) => void;
|
|
505
504
|
/**
|
|
506
505
|
* Локальный стрим с экрана добавлен/удалён
|
|
507
506
|
*/
|
|
508
|
-
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings
|
|
507
|
+
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
509
508
|
/**
|
|
510
509
|
* Локальный стрим вимоджи добавлен/удалён
|
|
511
510
|
*/
|
|
512
|
-
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings
|
|
511
|
+
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
513
512
|
/**
|
|
514
513
|
* Произошла ошибка вимоджи
|
|
515
514
|
*/
|
|
516
|
-
onVmojiError?: (error: VmojiError
|
|
515
|
+
onVmojiError?: (error: VmojiError) => void;
|
|
517
516
|
/**
|
|
518
517
|
* Изменился статус локального соединения
|
|
519
518
|
*/
|
|
520
|
-
onLocalStatus?: (status: ParticipantStatus
|
|
519
|
+
onLocalStatus?: (status: ParticipantStatus) => void;
|
|
521
520
|
/**
|
|
522
521
|
* Получен стрим собеседника.
|
|
523
522
|
* Если сервер закончил стримить собеседника, вместо стрима будет передан null
|
|
524
523
|
*/
|
|
525
|
-
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null
|
|
524
|
+
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
526
525
|
/**
|
|
527
526
|
* Cтрим собеседника приостановлен/возобновлен.
|
|
528
527
|
*/
|
|
529
|
-
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean
|
|
528
|
+
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean) => void;
|
|
530
529
|
/**
|
|
531
530
|
* Получен стрим с экрана собеседника.
|
|
532
531
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
533
532
|
*/
|
|
534
|
-
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null
|
|
533
|
+
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
535
534
|
/**
|
|
536
535
|
* Получен стрим вимоджи собеседника.
|
|
537
536
|
* Если сервер закончил стримить вимоджи собеседника, вместо стрима будет передан null
|
|
538
537
|
*/
|
|
539
|
-
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null
|
|
538
|
+
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
540
539
|
/**
|
|
541
540
|
* Получен стрим трансляция или мувик от собеседника.
|
|
542
541
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
543
542
|
*/
|
|
544
|
-
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData
|
|
543
|
+
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
545
544
|
/**
|
|
546
545
|
* Получен собственный стрим трансляция или мувик.
|
|
547
546
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
548
547
|
*/
|
|
549
|
-
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData
|
|
548
|
+
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
550
549
|
/**
|
|
551
550
|
* Получено обновление стрима или лайва от собеседника.
|
|
552
551
|
*/
|
|
553
|
-
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState
|
|
552
|
+
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
554
553
|
/**
|
|
555
554
|
* Получено обновление собственного стрима или лайва.
|
|
556
555
|
*/
|
|
557
|
-
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState
|
|
556
|
+
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
558
557
|
/**
|
|
559
558
|
* Начат звонок
|
|
560
559
|
*/
|
|
561
|
-
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms
|
|
560
|
+
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms) => void;
|
|
562
561
|
/**
|
|
563
562
|
* Начальный список участников для постраничного звонка
|
|
564
563
|
*/
|
|
565
|
-
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk
|
|
564
|
+
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk) => void;
|
|
566
565
|
/**
|
|
567
566
|
* Изменились данные стрима собеседника
|
|
568
567
|
*/
|
|
569
|
-
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null
|
|
568
|
+
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null) => void;
|
|
570
569
|
/**
|
|
571
570
|
* Изменились данные стрима собеседника
|
|
572
571
|
*/
|
|
573
|
-
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings
|
|
572
|
+
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings) => void;
|
|
574
573
|
/**
|
|
575
574
|
* Полученны данные по стримам (лайв/мувик) от собеседника
|
|
576
575
|
*/
|
|
577
|
-
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId
|
|
576
|
+
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
578
577
|
/**
|
|
579
578
|
* Полученны данные по остановленным стримам (лайв/мувик) от собеседника
|
|
580
579
|
*/
|
|
581
|
-
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId
|
|
580
|
+
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
582
581
|
/**
|
|
583
582
|
* Полученны данные по собственным стримам (лайв/мувик)
|
|
584
583
|
*/
|
|
585
|
-
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId
|
|
584
|
+
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
586
585
|
/**
|
|
587
586
|
* Полученны данные по собственным остановленным стримам (лайв/мувик)
|
|
588
587
|
*/
|
|
589
|
-
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId
|
|
588
|
+
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
590
589
|
/**
|
|
591
590
|
* Добавили участника
|
|
592
591
|
*/
|
|
593
|
-
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null
|
|
592
|
+
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
594
593
|
/**
|
|
595
594
|
* Участник присоединился к звонку
|
|
596
595
|
*/
|
|
597
|
-
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers
|
|
596
|
+
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers) => void;
|
|
598
597
|
/**
|
|
599
598
|
* Получены данные по изменению локальных состояний со стороны админа
|
|
600
599
|
* Например, принудительно опущена рука
|
|
@@ -602,19 +601,19 @@ export type ParamsObject = {
|
|
|
602
601
|
* @param participantState Полный объект состояния участника, полученный от SDK/сервера.
|
|
603
602
|
* @param global `true` – действие глобальное (для всех участников), `false` – действие локальное (только у текущего пользователя).
|
|
604
603
|
*/
|
|
605
|
-
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean
|
|
604
|
+
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean) => void;
|
|
606
605
|
/**
|
|
607
606
|
* Изменились данные состояний собеседника
|
|
608
607
|
*/
|
|
609
|
-
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null
|
|
608
|
+
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null) => void;
|
|
610
609
|
/**
|
|
611
610
|
* Изменились данные состояний нескольких собеседников
|
|
612
611
|
*/
|
|
613
|
-
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId
|
|
612
|
+
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId) => void;
|
|
614
613
|
/**
|
|
615
614
|
* Изменился статус соединения собеседников
|
|
616
615
|
*/
|
|
617
|
-
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any
|
|
616
|
+
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any) => void;
|
|
618
617
|
/**
|
|
619
618
|
* Разрешения на доступы были запрошены в браузере
|
|
620
619
|
*/
|
|
@@ -626,56 +625,56 @@ export type ParamsObject = {
|
|
|
626
625
|
/**
|
|
627
626
|
* Пользователь отключился от звонка
|
|
628
627
|
*/
|
|
629
|
-
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null
|
|
628
|
+
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
630
629
|
/**
|
|
631
630
|
* Изменилось состояние звонка
|
|
632
631
|
*/
|
|
633
|
-
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData
|
|
632
|
+
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData) => void;
|
|
634
633
|
/**
|
|
635
634
|
* Изменилось состояние камеры или микрофона
|
|
636
635
|
*/
|
|
637
|
-
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean
|
|
636
|
+
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean) => void;
|
|
638
637
|
/**
|
|
639
638
|
* Изменились состояния устройств пользователя или разрешения включать камеру/микрофон
|
|
640
639
|
*/
|
|
641
|
-
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null
|
|
640
|
+
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null) => void;
|
|
642
641
|
/**
|
|
643
642
|
* Изменились роли собеседника в звонке
|
|
644
643
|
*/
|
|
645
|
-
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean
|
|
644
|
+
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean) => void;
|
|
646
645
|
/**
|
|
647
646
|
* Изменились свои роли в звонке
|
|
648
647
|
*/
|
|
649
|
-
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean
|
|
648
|
+
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean) => void;
|
|
650
649
|
/**
|
|
651
650
|
* Закрепляет/открепляет собеседника для всех
|
|
652
651
|
*/
|
|
653
|
-
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null
|
|
652
|
+
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null) => void;
|
|
654
653
|
/**
|
|
655
654
|
* Закрепляет/открепляет текущего пользователя у других собеседников
|
|
656
655
|
*/
|
|
657
|
-
onLocalPin?: (unpin: boolean
|
|
656
|
+
onLocalPin?: (unpin: boolean) => void;
|
|
658
657
|
/**
|
|
659
658
|
* Изменились опции звонка
|
|
660
659
|
*/
|
|
661
|
-
onOptionsChanged?: (options: ConversationOption[]
|
|
662
|
-
onRateNeeded?:
|
|
660
|
+
onOptionsChanged?: (options: ConversationOption[]) => void;
|
|
661
|
+
onRateNeeded?: Function;
|
|
663
662
|
/**
|
|
664
663
|
* Изменился говорящий в звонке
|
|
665
664
|
*/
|
|
666
|
-
onSpeakerChanged?: (userId: ExternalParticipantId
|
|
665
|
+
onSpeakerChanged?: (userId: ExternalParticipantId) => void;
|
|
667
666
|
/**
|
|
668
667
|
* Громкость собеседников
|
|
669
668
|
*/
|
|
670
669
|
onVolumesDetected?: (volumes: {
|
|
671
670
|
uid: ExternalParticipantId;
|
|
672
671
|
volume: number;
|
|
673
|
-
}[]
|
|
672
|
+
}[]) => void;
|
|
674
673
|
/**
|
|
675
674
|
* Громкость своего микрофона
|
|
676
675
|
*/
|
|
677
676
|
onLocalVolume?: (volume: number, isMicEnabled: boolean) => void;
|
|
678
|
-
onJoinStatus?:
|
|
677
|
+
onJoinStatus?: Function;
|
|
679
678
|
/**
|
|
680
679
|
* Звонок был завершен
|
|
681
680
|
*/
|
|
@@ -683,12 +682,12 @@ export type ParamsObject = {
|
|
|
683
682
|
/**
|
|
684
683
|
* Входящий звонок был принят мной
|
|
685
684
|
*/
|
|
686
|
-
onCallAccepted?: (
|
|
685
|
+
onCallAccepted?: () => void;
|
|
687
686
|
/**
|
|
688
687
|
* Исходящий звонок был принят кем-то
|
|
689
688
|
* @param userId
|
|
690
689
|
*/
|
|
691
|
-
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities
|
|
690
|
+
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities) => void;
|
|
692
691
|
/**
|
|
693
692
|
* Список устройств изменился
|
|
694
693
|
*/
|
|
@@ -705,25 +704,25 @@ export type ParamsObject = {
|
|
|
705
704
|
/**
|
|
706
705
|
* Получено сообщение чата
|
|
707
706
|
*/
|
|
708
|
-
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean
|
|
707
|
+
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean) => void;
|
|
709
708
|
/**
|
|
710
709
|
* Получены данные от собеседника
|
|
711
710
|
*/
|
|
712
|
-
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean
|
|
711
|
+
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean) => void;
|
|
713
712
|
/**
|
|
714
713
|
* Начата трансляция/запись звонка
|
|
715
714
|
*/
|
|
716
|
-
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null
|
|
715
|
+
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null) => void;
|
|
717
716
|
/**
|
|
718
717
|
* Закончена трансляция/запись звонка
|
|
719
718
|
*/
|
|
720
|
-
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null
|
|
719
|
+
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null) => void;
|
|
721
720
|
/**
|
|
722
721
|
* Состояние своей сети
|
|
723
722
|
*
|
|
724
723
|
* @param rating Оценка качества соединения от 0 до 1
|
|
725
724
|
*/
|
|
726
|
-
onLocalNetworkStatusChanged?: (rating: number
|
|
725
|
+
onLocalNetworkStatusChanged?: (rating: number) => void;
|
|
727
726
|
/**
|
|
728
727
|
* Состояние сети участников
|
|
729
728
|
*
|
|
@@ -732,11 +731,17 @@ export type ParamsObject = {
|
|
|
732
731
|
onNetworkStatusChanged?: (status: {
|
|
733
732
|
uid: ExternalParticipantId;
|
|
734
733
|
rating: number;
|
|
735
|
-
}[]
|
|
734
|
+
}[]) => void;
|
|
736
735
|
/**
|
|
737
736
|
* Получено отладочное сообщение. Работает только при выключенном режиме отладки
|
|
738
737
|
*/
|
|
739
738
|
onDebugMessage?: (type: DebugMessageType, ...args: any[]) => void;
|
|
739
|
+
/**
|
|
740
|
+
* Получено отладочное сообщение с контекстом звонка. Работает только при выключенном режиме отладки
|
|
741
|
+
*/
|
|
742
|
+
onDebugMessageWithContext?: (type: DebugMessageType, context: {
|
|
743
|
+
conversationId: string | null;
|
|
744
|
+
}, ...args: any[]) => void;
|
|
740
745
|
/**
|
|
741
746
|
* Статистика звонка
|
|
742
747
|
*/
|
|
@@ -754,74 +759,74 @@ export type ParamsObject = {
|
|
|
754
759
|
* @param addedParticipantIds Некоторое количество участников, добавленных в зал
|
|
755
760
|
* @param removedParticipantIds Некоторое количество участников, убранных из зала
|
|
756
761
|
*/
|
|
757
|
-
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[]
|
|
762
|
+
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[]) => void;
|
|
758
763
|
/**
|
|
759
764
|
* Получен микшированный аудио стрим.
|
|
760
765
|
* @hidden
|
|
761
766
|
* @param stream стрим от WebRTC
|
|
762
767
|
*/
|
|
763
|
-
onRemoteMixedAudioStream?: (stream: MediaStream
|
|
768
|
+
onRemoteMixedAudioStream?: (stream: MediaStream) => void;
|
|
764
769
|
/**
|
|
765
770
|
* Получена новая ссылка на звонок
|
|
766
771
|
* @param joinLink токен присоединения к звонку
|
|
767
772
|
*/
|
|
768
|
-
onJoinLinkChanged?: (joinLink: string
|
|
773
|
+
onJoinLinkChanged?: (joinLink: string) => void;
|
|
769
774
|
/**
|
|
770
775
|
* Получено обновление списка сессионных залов
|
|
771
776
|
* @param updates список обновлений по залам
|
|
772
777
|
*/
|
|
773
|
-
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate
|
|
778
|
+
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate>>) => void;
|
|
774
779
|
/**
|
|
775
780
|
* Получено обновление сессионных зало
|
|
776
781
|
* @param eventTypes список событий
|
|
777
782
|
* @param roomId номер сессионного зала
|
|
778
783
|
* @param room сессионный зал
|
|
779
784
|
*/
|
|
780
|
-
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null
|
|
785
|
+
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null) => void;
|
|
781
786
|
/**
|
|
782
787
|
* Получение обновление списка участников в сессионном зале
|
|
783
788
|
* @param update обновление списка участников
|
|
784
789
|
*/
|
|
785
|
-
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate
|
|
790
|
+
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate) => void;
|
|
786
791
|
/**
|
|
787
792
|
* Получение информации о смене зала
|
|
788
793
|
* @param roomId номер сессионного зала
|
|
789
794
|
*/
|
|
790
|
-
onRoomSwitched?: (roomId: number | null
|
|
795
|
+
onRoomSwitched?: (roomId: number | null) => void;
|
|
791
796
|
/**
|
|
792
797
|
* Установить id сессионного зала на старте звонка
|
|
793
798
|
* @param roomId номер сессионного зала
|
|
794
799
|
*/
|
|
795
|
-
onRoomStart?: (roomId: number | null
|
|
800
|
+
onRoomStart?: (roomId: number | null) => void;
|
|
796
801
|
/**
|
|
797
802
|
* Получены новые реакции в звонке
|
|
798
803
|
* @param feedback массив с реакциями
|
|
799
804
|
*/
|
|
800
|
-
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null
|
|
805
|
+
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null) => void;
|
|
801
806
|
/**
|
|
802
807
|
* Изменился список ролей, которым доступны ConversationFeatures
|
|
803
808
|
*
|
|
804
809
|
* @param featuresPerRole Объект вида ключ: ConversationFeature = значение: UserRole[]
|
|
805
810
|
* (если ключ фичи отсутствует, или в ролях пустой массив, считаем фичу доступной для всех пользователей)
|
|
806
811
|
*/
|
|
807
|
-
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole
|
|
812
|
+
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole) => void;
|
|
808
813
|
/**
|
|
809
814
|
* Изменился Vmoji-аватар пользователя
|
|
810
815
|
* @param externalId Id пользователя, у которого изменился аватар
|
|
811
816
|
*/
|
|
812
|
-
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId
|
|
817
|
+
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId) => void;
|
|
813
818
|
/**
|
|
814
819
|
* Начата текстовая расшифровка звонка
|
|
815
820
|
* @param initiatorId Id пользователя, запустившего расшифровку звонка
|
|
816
821
|
* @param movieId Id расшифровки
|
|
817
822
|
* @param roomId Id комнаты
|
|
818
823
|
*/
|
|
819
|
-
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null
|
|
824
|
+
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null) => void;
|
|
820
825
|
/**
|
|
821
826
|
* Закончена текстовая расшифровка звонка
|
|
822
827
|
* @param roomId Id комнаты
|
|
823
828
|
*/
|
|
824
|
-
onAsrStopped?: (roomId: number | null
|
|
829
|
+
onAsrStopped?: (roomId: number | null) => void;
|
|
825
830
|
/**
|
|
826
831
|
* Получена расшифровка речи
|
|
827
832
|
* @param id Id пользователя, произнесшего реплику
|
|
@@ -829,53 +834,47 @@ export type ParamsObject = {
|
|
|
829
834
|
* @param timestamp Время расшифровки
|
|
830
835
|
* @param duration Длительность реплики в расшифровке
|
|
831
836
|
*/
|
|
832
|
-
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number
|
|
837
|
+
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number) => void;
|
|
833
838
|
/**
|
|
834
839
|
* Установка начальных параметров текстовой расшифровки звонка. (Используется при входе в звонок/ смене комнаты)
|
|
835
840
|
* @param data Начальная информация по ASR
|
|
836
841
|
* @param roomId Id Комнаты
|
|
837
842
|
*/
|
|
838
|
-
onAsrSet?: (data: IAsrData | null, roomId: number | null
|
|
843
|
+
onAsrSet?: (data: IAsrData | null, roomId: number | null) => void;
|
|
839
844
|
/**
|
|
840
845
|
* Админ начал/остановил совместное использование стороннего web-приложения
|
|
841
846
|
* @param userId id участника-админа
|
|
842
847
|
* @param sharedUrl url страницы
|
|
843
848
|
*/
|
|
844
|
-
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId
|
|
849
|
+
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId) => void;
|
|
845
850
|
/**
|
|
846
851
|
* Изменился id участника (деанонимизация)
|
|
847
852
|
* @param prevId
|
|
848
853
|
* @param newId
|
|
849
854
|
*/
|
|
850
|
-
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId
|
|
855
|
+
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId) => void;
|
|
851
856
|
/**
|
|
852
857
|
* Предложение включить режим автоматического отключения приёма видео
|
|
853
858
|
* в плохой сети
|
|
854
859
|
* @param bandwidth текущая полоса пропускания, kbps
|
|
855
860
|
*/
|
|
856
|
-
onVideoSuspendSuggest?: (bandwidth: number
|
|
861
|
+
onVideoSuspendSuggest?: (bandwidth: number) => void;
|
|
857
862
|
/**
|
|
858
863
|
* Одобрено повышение пользователя в зале ожидания/зале в режиме Audience
|
|
859
864
|
*
|
|
860
865
|
* @param adminParticipantId админ, одобривший повышение
|
|
861
866
|
*/
|
|
862
|
-
onPromotionApproved?: (adminParticipantId: ExternalParticipantId
|
|
867
|
+
onPromotionApproved?: (adminParticipantId: ExternalParticipantId) => void;
|
|
863
868
|
/**
|
|
864
869
|
* Участник повышен/разжалован в зале ожидания/зале в режиме Audience
|
|
865
870
|
*
|
|
866
871
|
* @param demoted участник разжалован
|
|
867
872
|
*/
|
|
868
|
-
onPromoted?: (demoted: boolean
|
|
869
|
-
/**
|
|
870
|
-
* Активным установлен определенный звонок
|
|
871
|
-
*
|
|
872
|
-
* @param conversationId ID звонка
|
|
873
|
-
*/
|
|
874
|
-
onCallActive?: (conversationId: string) => void;
|
|
873
|
+
onPromoted?: (demoted: boolean) => void;
|
|
875
874
|
/**
|
|
876
875
|
* Собеседник подключился к сигналлингу
|
|
877
876
|
*/
|
|
878
|
-
onPeerRegistered?: (
|
|
877
|
+
onPeerRegistered?: () => void;
|
|
879
878
|
};
|
|
880
879
|
export default abstract class Params {
|
|
881
880
|
private static _params;
|
|
@@ -976,6 +975,7 @@ export default abstract class Params {
|
|
|
976
975
|
static get audioNack(): boolean;
|
|
977
976
|
static get movieShare(): boolean;
|
|
978
977
|
static get videoTracksCount(): number;
|
|
978
|
+
static get requestDisplayLayoutThrottleMs(): number;
|
|
979
979
|
static get breakVideoPayloadTypes(): boolean;
|
|
980
980
|
static get useCallsToContacts(): boolean;
|
|
981
981
|
static get useParticipantListChunk(): boolean;
|
|
@@ -984,7 +984,6 @@ export default abstract class Params {
|
|
|
984
984
|
static get addParticipant(): boolean;
|
|
985
985
|
static get waitForAdminInGroupCalls(): boolean;
|
|
986
986
|
static get hold(): boolean;
|
|
987
|
-
static get maxParallelCalls(): number;
|
|
988
987
|
static get participantListChunkInitIndex(): number;
|
|
989
988
|
static get participantListChunkInitCount(): number | null;
|
|
990
989
|
static get filterObservers(): boolean;
|
|
@@ -1024,6 +1023,7 @@ export default abstract class Params {
|
|
|
1024
1023
|
screenShareCongestionControl: boolean;
|
|
1025
1024
|
screenShareCongestionControlThreshold: number;
|
|
1026
1025
|
videoTracksCount: number;
|
|
1026
|
+
requestDisplayLayoutThrottleMs: number;
|
|
1027
1027
|
asrDataChannel: boolean;
|
|
1028
1028
|
videoMaxHeight: number;
|
|
1029
1029
|
videoMaxWidth: number;
|
package/static/Utils.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ExternalParticipant, ExternalParticipantListMarker } from '../types/Ext
|
|
|
3
3
|
import { CompositeUserId, OkUserId, Participant, ParticipantId, ParticipantStateMapped } from '../types/Participant';
|
|
4
4
|
import SignalingMessage from '../types/SignalingMessage';
|
|
5
5
|
import VideoSettings from '../types/VideoSettings';
|
|
6
|
+
import { type DebugLogger } from './Debug';
|
|
6
7
|
export declare const PARAMETERS_SEPARATOR = ":";
|
|
7
8
|
export declare const DEVICE_IDX_PARAMETER = "d";
|
|
8
9
|
/** @hidden */
|
|
@@ -36,8 +37,8 @@ declare namespace Utils {
|
|
|
36
37
|
function delay(time: number, { signal }?: {
|
|
37
38
|
signal?: AbortSignal;
|
|
38
39
|
}): Promise<void>;
|
|
39
|
-
function applySettings(pc: RTCPeerConnection, videoSettings: VideoSettings, prevSettings: any): any;
|
|
40
|
-
function applyVideoTrackSettings(videoSettings: VideoSettings, s: RTCRtpSender, track: MediaStreamTrack | null, prevSettings: any, retSettings: any): void;
|
|
40
|
+
function applySettings(pc: RTCPeerConnection, videoSettings: VideoSettings, prevSettings: any, debug?: DebugLogger): any;
|
|
41
|
+
function applyVideoTrackSettings(videoSettings: VideoSettings, s: RTCRtpSender, track: MediaStreamTrack | null, prevSettings: any, retSettings: any, debug?: DebugLogger): void;
|
|
41
42
|
/**
|
|
42
43
|
* Проверяет, есть ли в первом массиве хотя бы один элемент из второго массива
|
|
43
44
|
* @param arr Где ищем
|
package/static/WebRTCUtils.d.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Вспомогательный плагин для работы с WebRTC
|
|
3
3
|
*/
|
|
4
4
|
import { IVideoDimentions } from '../types/MediaSettings';
|
|
5
|
+
import type StatsLogger from '../classes/StatsLogger';
|
|
6
|
+
import { type DebugLogger } from './Debug';
|
|
5
7
|
/**
|
|
6
8
|
* Тип камеры мобильного устройства
|
|
7
9
|
*/
|
|
@@ -83,24 +85,24 @@ declare namespace WebRTCUtils {
|
|
|
83
85
|
* @param needAudio Нужно ли аудио
|
|
84
86
|
* @param needEmptyTracks Добавлять ли в стрим пустые треки для отключенного видео/аудио
|
|
85
87
|
*/
|
|
86
|
-
function getUserMedia(needVideo?: boolean, needAudio?: boolean, needEmptyTracks?: boolean): Promise<MediaStream>;
|
|
88
|
+
function getUserMedia(needVideo?: boolean, needAudio?: boolean, needEmptyTracks?: boolean, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
87
89
|
/**
|
|
88
90
|
* Запрашивает трансляцию экрана пользователя с опциональным захватом звука
|
|
89
91
|
*/
|
|
90
|
-
function getScreenMedia(fastScreenShare: boolean, withAudioShare: boolean): Promise<MediaStream>;
|
|
92
|
+
function getScreenMedia(fastScreenShare: boolean, withAudioShare: boolean, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
91
93
|
/**
|
|
92
94
|
* Запрашивает камеру пользователя
|
|
93
95
|
*
|
|
94
96
|
* @param deviceId ID устройства
|
|
95
97
|
* @param resolution Размеры видео
|
|
96
98
|
*/
|
|
97
|
-
function getUserVideo(deviceId?: string, resolution?: IVideoDimentions): Promise<MediaStream>;
|
|
99
|
+
function getUserVideo(deviceId?: string, resolution?: IVideoDimentions, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
98
100
|
/**
|
|
99
101
|
* Запрашивает микрофон пользователя
|
|
100
102
|
*
|
|
101
103
|
* @param deviceId ID устройства
|
|
102
104
|
*/
|
|
103
|
-
function getUserAudio(deviceId?: string): Promise<MediaStream>;
|
|
105
|
+
function getUserAudio(deviceId?: string, debug?: DebugLogger, logger?: StatsLogger | null): Promise<MediaStream>;
|
|
104
106
|
/**
|
|
105
107
|
* Устанавливает размер видео в стриме
|
|
106
108
|
*
|
package/types/Conversation.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TransportTopology from '../enums/TransportTopology';
|
|
2
2
|
import CallDirection from '../enums/CallDirection';
|
|
3
3
|
import CallType from '../enums/CallType';
|
|
4
4
|
import ConversationFeature from '../enums/ConversationFeature';
|
package/types/FastStart.d.ts
CHANGED
|
@@ -54,4 +54,37 @@ export type ParticipantLayout = (Layout | StopStream | RequestKeyFrame) & {
|
|
|
54
54
|
*/
|
|
55
55
|
streamName?: string;
|
|
56
56
|
};
|
|
57
|
+
/**
|
|
58
|
+
* Запрос стрима, который клиент хочет получать для отображения.
|
|
59
|
+
*/
|
|
60
|
+
export type DisplayLayoutRequest = {
|
|
61
|
+
/**
|
|
62
|
+
* Внешний ID пользователя
|
|
63
|
+
*/
|
|
64
|
+
uid: ExternalParticipantId | string;
|
|
65
|
+
/**
|
|
66
|
+
* Тип медиа (видео с камеры, картинка с экрана, лайв или мувик)
|
|
67
|
+
*/
|
|
68
|
+
mediaType: MediaType;
|
|
69
|
+
/**
|
|
70
|
+
* Ширина окошка в котором отображается видео, в пикселях
|
|
71
|
+
*/
|
|
72
|
+
width: number;
|
|
73
|
+
/**
|
|
74
|
+
* Высота окошка в котором отображается видео, в пикселях
|
|
75
|
+
*/
|
|
76
|
+
height: number;
|
|
77
|
+
/**
|
|
78
|
+
* Отображать видео как CSS object-fit: cover. По умолчанию используется contain.
|
|
79
|
+
*/
|
|
80
|
+
cover?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Приоритет
|
|
83
|
+
*/
|
|
84
|
+
priority?: number;
|
|
85
|
+
/**
|
|
86
|
+
* ID лайва или мувика. null для камеры или скрин-шары.
|
|
87
|
+
*/
|
|
88
|
+
streamName?: string;
|
|
89
|
+
};
|
|
57
90
|
export default ParticipantLayout;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnimojiVersion } from '@vkontakte/calls-vmoji';
|
|
2
|
-
import
|
|
2
|
+
import TransportTopology from '../enums/TransportTopology';
|
|
3
3
|
import ChatRoomEventType from '../enums/ChatRoomEventType';
|
|
4
4
|
import ConversationFeature from '../enums/ConversationFeature';
|
|
5
5
|
import ConversationOption from '../enums/ConversationOption';
|
|
@@ -190,6 +190,7 @@ declare namespace SignalingMessage {
|
|
|
190
190
|
deviceIdx?: number;
|
|
191
191
|
peerId: PeerId;
|
|
192
192
|
reason: HangupType;
|
|
193
|
+
errorCode?: string;
|
|
193
194
|
markers?: ParticipantListMarkers;
|
|
194
195
|
}
|
|
195
196
|
export interface ClosedConversation extends Notification {
|
|
@@ -455,10 +456,6 @@ declare namespace SignalingMessage {
|
|
|
455
456
|
export interface VideoSuspendSuggest extends Notification {
|
|
456
457
|
bandwidth: number;
|
|
457
458
|
}
|
|
458
|
-
export interface Hold extends Notification {
|
|
459
|
-
participantId: ParticipantId;
|
|
460
|
-
hold: boolean;
|
|
461
|
-
}
|
|
462
459
|
export {};
|
|
463
460
|
}
|
|
464
461
|
export default SignalingMessage;
|
package/types/Statistics.d.ts
CHANGED