@whereby.com/media 2.8.3 → 2.8.5

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/dist/index.d.mts CHANGED
@@ -315,248 +315,6 @@ declare function detectMicrophoneNotWorking(pc: any): any;
315
315
 
316
316
  declare const MEDIA_JITTER_BUFFER_TARGET = 400;
317
317
 
318
- declare enum RtcEventNames {
319
- rtc_manager_created = "rtc_manager_created",
320
- stream_added = "stream_added"
321
- }
322
- interface RtcManager {
323
- acceptNewStream: ({ clientId, streamId, }: {
324
- clientId: string;
325
- streamId: string;
326
- }) => void;
327
- addNewStream(streamId: string, stream: MediaStream, isAudioEnabled: boolean, isVideoEnabled: boolean): void;
328
- disconnect(streamId: string, eventClaim?: string): void;
329
- disconnectAll(): void;
330
- rtcStatsDisconnect(): void;
331
- rtcStatsReconnect(): void;
332
- replaceTrack(oldTrack: CustomMediaStreamTrack, newTrack: CustomMediaStreamTrack): void;
333
- removeStream(streamId: string, _stream: MediaStream, requestedByClientId: string | null): void;
334
- shouldAcceptStreamsFromBothSides: () => boolean;
335
- updateStreamResolution(streamId: string, ignored: null, resolution: {
336
- width: number;
337
- height: number;
338
- }): void;
339
- sendStatsCustomEvent(eventName: string, data: unknown): void;
340
- isInitializedWith({ selfId, roomName, isSfu }: {
341
- selfId: string;
342
- roomName: string;
343
- isSfu: boolean;
344
- }): boolean;
345
- setEventClaim?(eventClaim: string): void;
346
- hasClient(clientId: string): boolean;
347
- }
348
- interface RtcManagerCreatedPayload {
349
- rtcManager: RtcManager;
350
- }
351
- interface RtcStreamAddedPayload {
352
- clientId: string;
353
- stream: MediaStream;
354
- streamId: string | undefined;
355
- streamType: "webcam" | "screenshare" | undefined;
356
- }
357
- interface RtcClientConnectionStatusChangedPayload {
358
- streamIds: string[];
359
- clientId: string;
360
- status: string;
361
- previous: string;
362
- }
363
- interface RtcLocalStreamTrackAddedPayload {
364
- streamId: string;
365
- tracks: MediaStreamTrack[];
366
- screenShare: boolean;
367
- }
368
- interface RtcLocalStreamTrackRemovedPayload {
369
- stream: MediaStream;
370
- track: MediaStreamTrack;
371
- }
372
- type RtcEvents = {
373
- client_connection_status_changed: RtcClientConnectionStatusChangedPayload;
374
- stream_added: RtcStreamAddedPayload;
375
- rtc_manager_created: RtcManagerCreatedPayload;
376
- rtc_manager_destroyed: void;
377
- local_stream_track_added: RtcLocalStreamTrackAddedPayload;
378
- local_stream_track_removed: RtcLocalStreamTrackRemovedPayload;
379
- remote_stream_track_added: void;
380
- remote_stream_track_removed: void;
381
- };
382
- type UnifiedPlanSDP = {
383
- sdp: string;
384
- sdpU: string;
385
- type: RTCSdpType;
386
- };
387
- type SDPRelayMessage = {
388
- clientId: string;
389
- message: UnifiedPlanSDP;
390
- };
391
- type GetMediaConstraintsOptions = {
392
- disableAEC: boolean;
393
- disableAGC: boolean;
394
- hd: boolean;
395
- lax: boolean;
396
- lowDataMode: boolean;
397
- preferredDeviceIds: {
398
- audioId?: boolean | string | null | {
399
- ideal?: string | null;
400
- exact?: string | null;
401
- };
402
- videoId?: boolean | string | null | {
403
- ideal?: string | null;
404
- exact?: string | null;
405
- };
406
- };
407
- resolution?: string;
408
- simulcast: boolean;
409
- widescreen: boolean;
410
- usingAspectRatio16x9: boolean;
411
- };
412
- type GetConstraintsOptions = {
413
- devices: MediaDeviceInfo[];
414
- audioId?: boolean | string;
415
- videoId?: boolean | string;
416
- type?: "ideal" | "exact";
417
- options: Omit<GetMediaConstraintsOptions, "preferredDeviceIds">;
418
- };
419
- type GetStreamOptions = {
420
- replaceStream?: MediaStream;
421
- fallback?: boolean;
422
- };
423
- type GetStreamResult = {
424
- error?: unknown;
425
- replacedTracks?: MediaStreamTrack[];
426
- stream: MediaStream;
427
- };
428
- type UpdatedDeviceInfo = {
429
- deviceId?: string | null;
430
- kind?: MediaDeviceKind;
431
- label?: string;
432
- };
433
- type UpdatedDevicesInfo = {
434
- audioinput?: UpdatedDeviceInfo;
435
- videoinput?: UpdatedDeviceInfo;
436
- audiooutput?: UpdatedDeviceInfo;
437
- };
438
- type GetUpdatedDevicesResult = {
439
- addedDevices: UpdatedDevicesInfo;
440
- changedDevices: UpdatedDevicesInfo;
441
- removedDevices: UpdatedDevicesInfo;
442
- };
443
- type GetDeviceDataResult = {
444
- audio: {
445
- deviceId: string;
446
- label: string;
447
- kind: string;
448
- };
449
- video: {
450
- deviceId: string;
451
- label: string;
452
- kind: string;
453
- };
454
- };
455
- interface CustomMediaStreamTrack extends MediaStreamTrack {
456
- effectTrack?: boolean;
457
- replaced?: boolean;
458
- }
459
-
460
- declare function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): any;
461
- declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): any;
462
-
463
- declare const isMobile: boolean;
464
- declare class NoDevicesError extends Error {
465
- constructor(...args: any);
466
- }
467
- declare function enumerate(): Promise<MediaDeviceInfo[]>;
468
- declare function buildDeviceList({ busyDeviceIds, devices, kind }: any): any;
469
- declare function getUserMedia(constraints: any): Promise<MediaStream>;
470
- declare function getDeviceData({ audioTrack, videoTrack, devices, stoppedVideoTrack, lastAudioId, lastVideoId, }: {
471
- audioTrack?: MediaStreamTrack | null;
472
- videoTrack?: MediaStreamTrack | null;
473
- devices: MediaDeviceInfo[];
474
- stoppedVideoTrack?: boolean;
475
- lastAudioId?: string | undefined;
476
- lastVideoId?: string | undefined;
477
- }): GetDeviceDataResult;
478
- declare function stopStreamTracks(stream: MediaStream, only?: "audio" | "video" | false): void;
479
- declare function replaceTracksInStream(stream: MediaStream, newStream: MediaStream, only: "audio" | "video" | false): MediaStreamTrack[];
480
- declare function getStream(constraintOpt: any, { replaceStream, fallback }?: GetStreamOptions): Promise<GetStreamResult>;
481
- declare function hasGetDisplayMedia(): boolean;
482
- declare function getDisplayMedia(constraints?: {
483
- video: {
484
- width: {
485
- max: number;
486
- };
487
- height: {
488
- max: number;
489
- };
490
- };
491
- }, contentHint?: string): Promise<MediaStream>;
492
- declare function compareLocalDevices(before: MediaDeviceInfo[], after: MediaDeviceInfo[]): any;
493
- declare function getUpdatedDevices({ oldDevices, newDevices, currentAudioId, currentVideoId, currentSpeakerId, }: {
494
- oldDevices: MediaDeviceInfo[];
495
- newDevices: MediaDeviceInfo[];
496
- currentAudioId?: string | undefined;
497
- currentVideoId?: string | undefined;
498
- currentSpeakerId?: string | undefined;
499
- }): GetUpdatedDevicesResult;
500
-
501
- interface P2PSessionOptions {
502
- peerConnectionId: string;
503
- clientId: string;
504
- bandwidth: number;
505
- peerConnectionConfig: RTCConfiguration;
506
- deprioritizeH264Encoding: boolean;
507
- incrementAnalyticMetric: P2PIncrementAnalyticMetric;
508
- }
509
- declare class Session {
510
- peerConnectionId: any;
511
- relayCandidateSeen: boolean;
512
- serverReflexiveCandidateSeen: boolean;
513
- publicHostCandidateSeen: boolean;
514
- ipv6HostCandidateSeen: boolean;
515
- ipv6HostCandidateTeredoSeen: boolean;
516
- ipv6HostCandidate6to4Seen: boolean;
517
- mdnsHostCandidateSeen: boolean;
518
- pc: RTCPeerConnection;
519
- wasEverConnected: boolean;
520
- connectionStatus: any;
521
- stats: {
522
- totalSent: number;
523
- totalRecv: number;
524
- };
525
- bandwidth: any;
526
- pending: any[];
527
- isOperationPending: boolean;
528
- streamIds: string[];
529
- streams: MediaStream[];
530
- earlyIceCandidates: any[];
531
- afterConnected: Promise<unknown>;
532
- registerConnected: any;
533
- offerOptions: {
534
- offerToReceiveAudio: boolean;
535
- offerToReceiveVideo: boolean;
536
- };
537
- _deprioritizeH264Encoding: any;
538
- clientId: any;
539
- peerConnectionConfig: RTCConfiguration;
540
- signalingState: any;
541
- srdComplete: any;
542
- _incrementAnalyticMetric: P2PIncrementAnalyticMetric;
543
- constructor({ peerConnectionId, clientId, bandwidth, peerConnectionConfig, deprioritizeH264Encoding, incrementAnalyticMetric, }: P2PSessionOptions);
544
- addStream(stream: MediaStream): void;
545
- addTrack(track: MediaStreamTrack, stream?: MediaStream): void;
546
- removeTrack(track: MediaStreamTrack): void;
547
- removeStream(stream: MediaStream): void;
548
- _setRemoteDescription(desc: any): any;
549
- handleOffer(message: RTCSessionDescription): any;
550
- handleAnswer(message: RTCSessionDescription): any;
551
- addIceCandidate(candidate: any): void;
552
- canModifyPeerConnection(): boolean;
553
- close(): void;
554
- hasConnectedPeerConnection(): boolean;
555
- replaceTrack(oldTrack: CustomMediaStreamTrack | undefined, newTrack: CustomMediaStreamTrack | undefined): false | RTCRtpSender | Promise<CustomMediaStreamTrack>;
556
- changeBandwidth(bandwidth: any): void;
557
- setAudioOnly(enable: boolean, excludedTrackIds?: string[]): void;
558
- }
559
-
560
318
  declare const assert: {
561
319
  fail: (message?: string | Error) => void;
562
320
  ok: (value: any, message?: string | Error) => void;
@@ -942,23 +700,33 @@ interface ForbiddenError {
942
700
  error: ForbiddenErrorNames;
943
701
  }
944
702
  type RoomJoinedErrors = RoomLockedError | RoomFullError | RoomConcurrencyControlsError | CannotJoinUnclaimedRoomError | OrganizationPlanExhaustedError | RoomMeetingTimeExhaustedError | MaxViewerLimitReachedError | HostPresenceControlsError | ForbiddenError | InternalServerError | InvalidAssistantKeyError | OrganizationAssistantNotFoundError | OrganizationAssistantNotEnabledError;
945
- interface RoomJoinedSuccess {
946
- room: {
947
- mode: RoomMode;
948
- isClaimed: boolean;
949
- isLocked: boolean;
950
- clients: SignalClient[];
951
- knockers: SignalKnocker[];
952
- spotlights: Spotlight[];
953
- session: {
954
- createdAt: string;
955
- id: string;
956
- } | null;
703
+ type SignalRoom = {
704
+ clients: SignalClient[];
705
+ iceServers: {
706
+ iceServers: SignalIceServer[];
957
707
  };
708
+ isClaimed: boolean;
709
+ isLocked: boolean;
710
+ knockers: SignalKnocker[];
711
+ mediaserverConfigTtlSeconds: number;
712
+ mode: RoomMode;
713
+ name: string;
714
+ organizationId: string;
715
+ spotlights: Spotlight[];
716
+ session: {
717
+ createdAt: string;
718
+ id: string;
719
+ } | null;
720
+ sfuServer?: SignalSFUServer;
721
+ turnServers: SignalTurnServer[];
722
+ };
723
+ interface RoomJoinedSuccess {
724
+ room: SignalRoom;
958
725
  selfId: string;
959
726
  breakoutGroup?: string | null;
960
727
  clientClaim: string;
961
728
  breakout?: BreakoutConfig;
729
+ eventClaim: string;
962
730
  }
963
731
  type RoomJoinedEvent = RoomJoinedErrors | RoomJoinedSuccess;
964
732
  interface BreakoutSessionUpdatedEvent extends BreakoutConfig {
@@ -1169,6 +937,284 @@ type TrackAnnotation = {
1169
937
  };
1170
938
  declare function trackAnnotations(o: MediaStreamTrack): TrackAnnotation;
1171
939
 
940
+ declare enum RtcEventNames {
941
+ rtc_manager_created = "rtc_manager_created",
942
+ stream_added = "stream_added"
943
+ }
944
+ type RtcEventEmitter = {
945
+ emit: <K extends keyof RtcEvents>(eventName: K, args?: RtcEvents[K]) => void;
946
+ };
947
+ interface RtcManagerOptions {
948
+ selfId: string;
949
+ room: SignalRoom;
950
+ emitter: RtcEventEmitter;
951
+ serverSocket: ServerSocket;
952
+ webrtcProvider: any;
953
+ features: any;
954
+ }
955
+ interface VegaRtcManagerOptions extends RtcManagerOptions {
956
+ eventClaim: string;
957
+ }
958
+ interface RtcManager {
959
+ acceptNewStream: ({ clientId, streamId }: {
960
+ clientId: string;
961
+ streamId: string;
962
+ }) => void;
963
+ addNewStream(streamId: string, stream: MediaStream, isAudioEnabled: boolean, isVideoEnabled: boolean): void;
964
+ disconnect(streamId: string, eventClaim?: string): void;
965
+ disconnectAll(): void;
966
+ rtcStatsDisconnect(): void;
967
+ rtcStatsReconnect(): void;
968
+ replaceTrack(oldTrack: CustomMediaStreamTrack, newTrack: CustomMediaStreamTrack): void;
969
+ removeStream(streamId: string, _stream: MediaStream, requestedByClientId: string | null): void;
970
+ shouldAcceptStreamsFromBothSides: () => boolean;
971
+ updateStreamResolution(streamId: string, ignored: null, resolution: {
972
+ width: number;
973
+ height: number;
974
+ }): void;
975
+ sendStatsCustomEvent(eventName: string, data: unknown): void;
976
+ isInitializedWith({ selfId, roomName, isSfu }: {
977
+ selfId: string;
978
+ roomName: string;
979
+ isSfu: boolean;
980
+ }): boolean;
981
+ setEventClaim?(eventClaim: string): void;
982
+ hasClient(clientId: string): boolean;
983
+ }
984
+ interface RtcManagerCreatedPayload {
985
+ rtcManager: RtcManager;
986
+ }
987
+ interface RtcStreamAddedPayload {
988
+ clientId: string;
989
+ stream: MediaStream;
990
+ streamId: string | undefined;
991
+ streamType: "webcam" | "screenshare" | undefined;
992
+ }
993
+ interface RtcClientConnectionStatusChangedPayload {
994
+ streamIds: string[];
995
+ clientId: string;
996
+ status: string;
997
+ previous: string;
998
+ }
999
+ interface RtcLocalStreamTrackAddedPayload {
1000
+ streamId: string;
1001
+ tracks: MediaStreamTrack[];
1002
+ screenShare: boolean;
1003
+ }
1004
+ interface RtcLocalStreamTrackRemovedPayload {
1005
+ stream: MediaStream;
1006
+ track: MediaStreamTrack;
1007
+ }
1008
+ type RtcEvents = {
1009
+ client_connection_status_changed: RtcClientConnectionStatusChangedPayload;
1010
+ stream_added: RtcStreamAddedPayload;
1011
+ rtc_manager_created: RtcManagerCreatedPayload;
1012
+ rtc_manager_destroyed: void;
1013
+ local_stream_track_added: RtcLocalStreamTrackAddedPayload;
1014
+ local_stream_track_removed: RtcLocalStreamTrackRemovedPayload;
1015
+ remote_stream_track_added: void;
1016
+ remote_stream_track_removed: void;
1017
+ };
1018
+ type RTCSessionDescription = {
1019
+ sdp: string;
1020
+ type: RTCSdpType;
1021
+ };
1022
+ type SDPRelayMessage = {
1023
+ clientId: string;
1024
+ message: RTCSessionDescription;
1025
+ };
1026
+ type GetMediaConstraintsOptions = {
1027
+ disableAEC: boolean;
1028
+ disableAGC: boolean;
1029
+ hd: boolean;
1030
+ lax: boolean;
1031
+ lowDataMode: boolean;
1032
+ preferredDeviceIds: {
1033
+ audioId?: boolean | string | null | {
1034
+ ideal?: string | null;
1035
+ exact?: string | null;
1036
+ };
1037
+ videoId?: boolean | string | null | {
1038
+ ideal?: string | null;
1039
+ exact?: string | null;
1040
+ };
1041
+ };
1042
+ resolution?: string;
1043
+ simulcast: boolean;
1044
+ widescreen: boolean;
1045
+ usingAspectRatio16x9: boolean;
1046
+ };
1047
+ type GetConstraintsOptions = {
1048
+ devices: MediaDeviceInfo[];
1049
+ audioId?: boolean | string;
1050
+ videoId?: boolean | string;
1051
+ type?: "ideal" | "exact";
1052
+ options: Omit<GetMediaConstraintsOptions, "preferredDeviceIds">;
1053
+ };
1054
+ type GetStreamOptions = {
1055
+ replaceStream?: MediaStream;
1056
+ fallback?: boolean;
1057
+ };
1058
+ type GetStreamResult = {
1059
+ error?: unknown;
1060
+ replacedTracks?: MediaStreamTrack[];
1061
+ stream: MediaStream;
1062
+ };
1063
+ type UpdatedDeviceInfo = {
1064
+ deviceId?: string | null;
1065
+ kind?: MediaDeviceKind;
1066
+ label?: string;
1067
+ };
1068
+ type UpdatedDevicesInfo = {
1069
+ audioinput?: UpdatedDeviceInfo;
1070
+ videoinput?: UpdatedDeviceInfo;
1071
+ audiooutput?: UpdatedDeviceInfo;
1072
+ };
1073
+ type GetUpdatedDevicesResult = {
1074
+ addedDevices: UpdatedDevicesInfo;
1075
+ changedDevices: UpdatedDevicesInfo;
1076
+ removedDevices: UpdatedDevicesInfo;
1077
+ };
1078
+ type GetDeviceDataResult = {
1079
+ audio: {
1080
+ deviceId: string;
1081
+ label: string;
1082
+ kind: string;
1083
+ };
1084
+ video: {
1085
+ deviceId: string;
1086
+ label: string;
1087
+ kind: string;
1088
+ };
1089
+ };
1090
+ interface CustomMediaStreamTrack extends MediaStreamTrack {
1091
+ effectTrack?: boolean;
1092
+ replaced?: boolean;
1093
+ }
1094
+ type SignalIceServer = {
1095
+ credential: string;
1096
+ url: string;
1097
+ urls: string[];
1098
+ username: string;
1099
+ };
1100
+ type SignalTurnServer = {
1101
+ credential: string;
1102
+ urls: string | string[];
1103
+ username: string;
1104
+ };
1105
+ type SignalMediaServerConfig = {
1106
+ error?: any;
1107
+ mediaserverConfigTtlSeconds: number;
1108
+ iceServers: SignalIceServer[];
1109
+ turnServers: SignalTurnServer[];
1110
+ sfuServer?: SignalSFUServer;
1111
+ };
1112
+ type SignalSFUServer = {
1113
+ url: string;
1114
+ fallbackUrl?: string;
1115
+ fallbackServers?: any[];
1116
+ };
1117
+
1118
+ declare function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): any;
1119
+ declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): any;
1120
+
1121
+ declare const isMobile: boolean;
1122
+ declare class NoDevicesError extends Error {
1123
+ constructor(...args: any);
1124
+ }
1125
+ declare function enumerate(): Promise<MediaDeviceInfo[]>;
1126
+ declare function buildDeviceList({ busyDeviceIds, devices, kind }: any): any;
1127
+ declare function getUserMedia(constraints: any): Promise<MediaStream>;
1128
+ declare function getDeviceData({ audioTrack, videoTrack, devices, stoppedVideoTrack, lastAudioId, lastVideoId, }: {
1129
+ audioTrack?: MediaStreamTrack | null;
1130
+ videoTrack?: MediaStreamTrack | null;
1131
+ devices: MediaDeviceInfo[];
1132
+ stoppedVideoTrack?: boolean;
1133
+ lastAudioId?: string | undefined;
1134
+ lastVideoId?: string | undefined;
1135
+ }): GetDeviceDataResult;
1136
+ declare function stopStreamTracks(stream: MediaStream, only?: "audio" | "video" | false): void;
1137
+ declare function replaceTracksInStream(stream: MediaStream, newStream: MediaStream, only: "audio" | "video" | false): MediaStreamTrack[];
1138
+ declare function getStream(constraintOpt: any, { replaceStream, fallback }?: GetStreamOptions): Promise<GetStreamResult>;
1139
+ declare function hasGetDisplayMedia(): boolean;
1140
+ declare function getDisplayMedia(constraints?: {
1141
+ video: {
1142
+ width: {
1143
+ max: number;
1144
+ };
1145
+ height: {
1146
+ max: number;
1147
+ };
1148
+ };
1149
+ }, contentHint?: string): Promise<MediaStream>;
1150
+ declare function compareLocalDevices(before: MediaDeviceInfo[], after: MediaDeviceInfo[]): any;
1151
+ declare function getUpdatedDevices({ oldDevices, newDevices, currentAudioId, currentVideoId, currentSpeakerId, }: {
1152
+ oldDevices: MediaDeviceInfo[];
1153
+ newDevices: MediaDeviceInfo[];
1154
+ currentAudioId?: string | undefined;
1155
+ currentVideoId?: string | undefined;
1156
+ currentSpeakerId?: string | undefined;
1157
+ }): GetUpdatedDevicesResult;
1158
+
1159
+ interface P2PSessionOptions {
1160
+ peerConnectionId: string;
1161
+ clientId: string;
1162
+ bandwidth: number;
1163
+ peerConnectionConfig: RTCConfiguration;
1164
+ deprioritizeH264Encoding: boolean;
1165
+ incrementAnalyticMetric: P2PIncrementAnalyticMetric;
1166
+ }
1167
+ declare class Session {
1168
+ peerConnectionId: any;
1169
+ relayCandidateSeen: boolean;
1170
+ serverReflexiveCandidateSeen: boolean;
1171
+ publicHostCandidateSeen: boolean;
1172
+ ipv6HostCandidateSeen: boolean;
1173
+ ipv6HostCandidateTeredoSeen: boolean;
1174
+ ipv6HostCandidate6to4Seen: boolean;
1175
+ mdnsHostCandidateSeen: boolean;
1176
+ pc: RTCPeerConnection;
1177
+ wasEverConnected: boolean;
1178
+ connectionStatus: any;
1179
+ stats: {
1180
+ totalSent: number;
1181
+ totalRecv: number;
1182
+ };
1183
+ bandwidth: any;
1184
+ pending: any[];
1185
+ isOperationPending: boolean;
1186
+ streamIds: string[];
1187
+ streams: MediaStream[];
1188
+ earlyIceCandidates: any[];
1189
+ afterConnected: Promise<unknown>;
1190
+ registerConnected: any;
1191
+ offerOptions: {
1192
+ offerToReceiveAudio: boolean;
1193
+ offerToReceiveVideo: boolean;
1194
+ };
1195
+ _deprioritizeH264Encoding: any;
1196
+ clientId: any;
1197
+ peerConnectionConfig: RTCConfiguration;
1198
+ signalingState: any;
1199
+ srdComplete: any;
1200
+ _incrementAnalyticMetric: P2PIncrementAnalyticMetric;
1201
+ constructor({ peerConnectionId, clientId, bandwidth, peerConnectionConfig, deprioritizeH264Encoding, incrementAnalyticMetric, }: P2PSessionOptions);
1202
+ addStream(stream: MediaStream): void;
1203
+ addTrack(track: MediaStreamTrack, stream?: MediaStream): void;
1204
+ removeTrack(track: MediaStreamTrack): void;
1205
+ removeStream(stream: MediaStream): void;
1206
+ _setRemoteDescription(desc: RTCSessionDescription): Promise<void>;
1207
+ handleOffer(offer: RTCSessionDescription): Promise<RTCSessionDescription>;
1208
+ handleAnswer(message: RTCSessionDescription): Promise<void>;
1209
+ addIceCandidate(candidate: any): void;
1210
+ canModifyPeerConnection(): boolean;
1211
+ close(): void;
1212
+ hasConnectedPeerConnection(): boolean;
1213
+ replaceTrack(oldTrack: CustomMediaStreamTrack | undefined, newTrack: CustomMediaStreamTrack | undefined): false | RTCRtpSender | Promise<CustomMediaStreamTrack>;
1214
+ changeBandwidth(bandwidth: any): void;
1215
+ setAudioOnly(enable: boolean, excludedTrackIds?: string[]): void;
1216
+ }
1217
+
1172
1218
  interface GetOrCreateSessionOptions {
1173
1219
  peerConnectionId: string;
1174
1220
  clientId: string;
@@ -1205,6 +1251,9 @@ type P2PAnalytics = {
1205
1251
  P2PReplaceTrackSourceKindNotFound: number;
1206
1252
  P2PRemoveStreamNoPC: number;
1207
1253
  P2POnTrackNoStream: number;
1254
+ P2PSetCodecPreferenceError: number;
1255
+ P2PCreateOfferNoSDP: number;
1256
+ P2PCreateAnswerNoSDP: number;
1208
1257
  };
1209
1258
  type P2PAnalyticMetric = keyof P2PAnalytics;
1210
1259
  type P2PIncrementAnalyticMetric = (metric: P2PAnalyticMetric) => void;
@@ -1232,7 +1281,6 @@ declare class P2pRtcManager implements RtcManager {
1232
1281
  _videoTrackOnEnded: () => void;
1233
1282
  _iceServers: any;
1234
1283
  _turnServers: any;
1235
- _sfuServer: any;
1236
1284
  _mediaserverConfigTtlSeconds: any;
1237
1285
  _fetchMediaServersTimer: any;
1238
1286
  _wasScreenSharing: any;
@@ -1244,19 +1292,12 @@ declare class P2pRtcManager implements RtcManager {
1244
1292
  skipEmittingServerMessageCount: number;
1245
1293
  analytics: P2PAnalytics;
1246
1294
  _rtcStatsDisconnectTimeout?: ReturnType<typeof setTimeout>;
1247
- constructor({ selfId, room, emitter, serverSocket, webrtcProvider, features, }: {
1248
- selfId: any;
1249
- room: any;
1250
- emitter: any;
1251
- serverSocket: ServerSocket;
1252
- webrtcProvider: any;
1253
- features: any;
1254
- });
1295
+ constructor({ selfId, room, emitter, serverSocket, webrtcProvider, features }: RtcManagerOptions);
1255
1296
  numberOfPeerconnections(): number;
1256
1297
  isInitializedWith({ selfId, roomName, isSfu }: {
1257
- selfId: any;
1258
- roomName: any;
1259
- isSfu: any;
1298
+ selfId: string;
1299
+ roomName: string;
1300
+ isSfu: boolean;
1260
1301
  }): boolean;
1261
1302
  supportsScreenShareAudio(): boolean;
1262
1303
  addNewStream(streamId: string, stream: MediaStream, audioPaused: boolean, videoPaused: boolean, beforeEffectTracks?: CustomMediaStreamTrack[]): void;
@@ -1285,8 +1326,6 @@ declare class P2pRtcManager implements RtcManager {
1285
1326
  _getNonLocalCameraStreamIds(): string[];
1286
1327
  _isScreensharingLocally(): boolean;
1287
1328
  _getFirstLocalNonCameraStream(): any;
1288
- _transformIncomingSdp(original: UnifiedPlanSDP): RTCSessionDescription;
1289
- _transformOutgoingSdp(original: RTCSessionDescription): UnifiedPlanSDP;
1290
1329
  _createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }: {
1291
1330
  clientId: string;
1292
1331
  initialBandwidth: any;
@@ -1302,14 +1341,14 @@ declare class P2pRtcManager implements RtcManager {
1302
1341
  _removeTrackFromPeerConnections(track: any): void;
1303
1342
  _addLocalStream(streamId: string, stream: any): void;
1304
1343
  _removeLocalStream(streamId: string): void;
1305
- _updateAndScheduleMediaServersRefresh({ iceServers, turnServers, sfuServer, mediaserverConfigTtlSeconds }: any): void;
1344
+ _updateAndScheduleMediaServersRefresh({ iceServers, turnServers, mediaserverConfigTtlSeconds, }: SignalMediaServerConfig): void;
1306
1345
  _clearMediaServersRefresh(): void;
1307
1346
  _monitorAudioTrack(track: any): void;
1308
1347
  _monitorVideoTrack(track: CustomMediaStreamTrack): void;
1309
1348
  _connect(clientId: string): Promise<Session>;
1310
1349
  _maybeRestartIce(clientId: string, session: any): void;
1311
1350
  _setCodecPreferences(pc: RTCPeerConnection): Promise<void>;
1312
- _negotiatePeerConnection(clientId: string, session: any, constraints?: any): void;
1351
+ _negotiatePeerConnection(clientId: string, session: Session, constraints?: any): void;
1313
1352
  _withForcedRenegotiation(session: Session, action: any): void;
1314
1353
  _changeBandwidthForAllClients(isJoining: boolean): number;
1315
1354
  _createP2pSession({ clientId, initialBandwidth, isOfferer, }: {
@@ -1341,9 +1380,7 @@ declare class RtcManagerDispatcher {
1341
1380
  };
1342
1381
  currentManager: RtcManager | null;
1343
1382
  constructor({ emitter, serverSocket, webrtcProvider, features, }: {
1344
- emitter: {
1345
- emit: <K extends keyof RtcEvents>(eventName: K, args?: RtcEvents[K]) => void;
1346
- };
1383
+ emitter: RtcEventEmitter;
1347
1384
  serverSocket: ServerSocket;
1348
1385
  webrtcProvider: any;
1349
1386
  features: any;
@@ -1365,7 +1402,7 @@ declare const _default: {
1365
1402
  DOMINANT_SPEAKER: string;
1366
1403
  };
1367
1404
 
1368
- declare function setVideoBandwidthUsingSetParameters(pc: any, bandwidth: any, logger?: any): any;
1405
+ declare function setVideoBandwidthUsingSetParameters(pc: RTCPeerConnection, bandwidth: number, logger?: any): Promise<void>;
1369
1406
 
1370
1407
  declare const rtcStats: {
1371
1408
  sendEvent: (type: any, value: any) => void;
@@ -1380,7 +1417,12 @@ declare const rtcStats: {
1380
1417
  };
1381
1418
  };
1382
1419
 
1383
- declare function setCodecPreferenceSDP(sdp: any, redOn?: boolean): string | undefined;
1420
+ interface SetCodecPreferenceSDPOptions {
1421
+ sdp: string;
1422
+ redOn: boolean;
1423
+ incrementAnalyticMetric: P2PIncrementAnalyticMetric;
1424
+ }
1425
+ declare function setCodecPreferenceSDP({ sdp, redOn, incrementAnalyticMetric }: SetCodecPreferenceSDPOptions): string;
1384
1426
  declare function cleanSdp(sdp: string): string;
1385
1427
  declare function maybeRejectNoH264(sdp: any): any;
1386
1428
  declare function deprioritizeH264(sdp: any): string;
@@ -1614,7 +1656,7 @@ declare class VegaRtcManager implements RtcManager {
1614
1656
  _fetchMediaServersTimer: any;
1615
1657
  _iceServers: any;
1616
1658
  _turnServers: any;
1617
- _sfuServer: any;
1659
+ _sfuServer?: SignalSFUServer;
1618
1660
  _sfuServers?: HostListEntryOptionalDC[];
1619
1661
  _mediaserverConfigTtlSeconds: any;
1620
1662
  _videoTrackBeingMonitored?: CustomMediaStreamTrack;
@@ -1624,22 +1666,8 @@ declare class VegaRtcManager implements RtcManager {
1624
1666
  _networkIsDetectedUpBySignal: boolean;
1625
1667
  _cpuOveruseDetected: boolean;
1626
1668
  analytics: VegaAnalytics;
1627
- constructor({ selfId, room, emitter, serverSocket, webrtcProvider, features, eventClaim, }: {
1628
- selfId: any;
1629
- room: any;
1630
- emitter: any;
1631
- serverSocket: any;
1632
- webrtcProvider: any;
1633
- features?: any;
1634
- eventClaim?: string;
1635
- });
1636
- _updateAndScheduleMediaServersRefresh({ iceServers, turnServers, sfuServer, sfuServers, mediaserverConfigTtlSeconds, }: {
1637
- iceServers: any;
1638
- turnServers: any;
1639
- sfuServer: any;
1640
- sfuServers: any;
1641
- mediaserverConfigTtlSeconds: any;
1642
- }): void;
1669
+ constructor({ selfId, room, emitter, serverSocket, webrtcProvider, features, eventClaim }: VegaRtcManagerOptions);
1670
+ _updateAndScheduleMediaServersRefresh({ iceServers, turnServers, sfuServer, mediaserverConfigTtlSeconds, }: SignalMediaServerConfig): void;
1643
1671
  _clearMediaServersRefresh(): void;
1644
1672
  _onNetworkIsDetectedUpBySignal(): void;
1645
1673
  _onNetworkIsDetectedPossiblyDownBySignal(): void;
@@ -1901,4 +1929,4 @@ declare const STREAM_TYPES: {
1901
1929
  };
1902
1930
 
1903
1931
  export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
1904
- export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UnifiedPlanSDP, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
1932
+ export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RTCSessionDescription, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRequests, SignalRoom, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };