@whereby.com/media 2.8.7 → 2.8.9

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.ts CHANGED
@@ -934,6 +934,7 @@ declare function fromLocation({ host, protocol }?: {
934
934
 
935
935
  type TrackAnnotation = {
936
936
  fromGetDisplayMedia: boolean;
937
+ isEffectTrack: boolean;
937
938
  };
938
939
  declare function trackAnnotations(o: MediaStreamTrack): TrackAnnotation;
939
940
 
@@ -949,7 +950,7 @@ interface RtcManagerOptions {
949
950
  room: SignalRoom;
950
951
  emitter: RtcEventEmitter;
951
952
  serverSocket: ServerSocket;
952
- webrtcProvider: any;
953
+ webrtcProvider: WebRTCProvider;
953
954
  features: any;
954
955
  }
955
956
  interface VegaRtcManagerOptions extends RtcManagerOptions {
@@ -965,7 +966,7 @@ interface RtcManager {
965
966
  disconnectAll(): void;
966
967
  rtcStatsDisconnect(): void;
967
968
  rtcStatsReconnect(): void;
968
- replaceTrack(oldTrack: CustomMediaStreamTrack, newTrack: CustomMediaStreamTrack): void;
969
+ replaceTrack(oldTrack: MediaStreamTrack, newTrack: MediaStreamTrack): void;
969
970
  removeStream(streamId: string, _stream: MediaStream, requestedByClientId: string | null): void;
970
971
  shouldAcceptStreamsFromBothSides: () => boolean;
971
972
  updateStreamResolution(streamId: string, ignored: null, resolution: {
@@ -1024,6 +1025,9 @@ type SDPRelayMessage = {
1024
1025
  clientId: string;
1025
1026
  message: RTCSessionDescription;
1026
1027
  };
1028
+ interface WebRTCProvider {
1029
+ getMediaConstraints: () => MediaStreamConstraints;
1030
+ }
1027
1031
  type GetMediaConstraintsOptions = {
1028
1032
  disableAEC: boolean;
1029
1033
  disableAGC: boolean;
@@ -1088,10 +1092,6 @@ type GetDeviceDataResult = {
1088
1092
  kind: string;
1089
1093
  };
1090
1094
  };
1091
- interface CustomMediaStreamTrack extends MediaStreamTrack {
1092
- effectTrack?: boolean;
1093
- replaced?: boolean;
1094
- }
1095
1095
  type SignalIceServer = {
1096
1096
  credential: string;
1097
1097
  url: string;
@@ -1188,7 +1188,7 @@ declare class Session {
1188
1188
  streams: MediaStream[];
1189
1189
  earlyIceCandidates: any[];
1190
1190
  afterConnected: Promise<unknown>;
1191
- registerConnected: any;
1191
+ registerConnected?: (value: unknown) => void;
1192
1192
  offerOptions: {
1193
1193
  offerToReceiveAudio: boolean;
1194
1194
  offerToReceiveVideo: boolean;
@@ -1199,6 +1199,7 @@ declare class Session {
1199
1199
  signalingState: any;
1200
1200
  srdComplete: any;
1201
1201
  _incrementAnalyticMetric: P2PIncrementAnalyticMetric;
1202
+ pendingReplaceTrackActions: (() => Promise<void>)[];
1202
1203
  constructor({ peerConnectionId, clientId, bandwidth, peerConnectionConfig, deprioritizeH264Encoding, incrementAnalyticMetric, }: P2PSessionOptions);
1203
1204
  addStream(stream: MediaStream): void;
1204
1205
  addTrack(track: MediaStreamTrack, stream?: MediaStream): void;
@@ -1211,16 +1212,16 @@ declare class Session {
1211
1212
  canModifyPeerConnection(): boolean;
1212
1213
  close(): void;
1213
1214
  hasConnectedPeerConnection(): boolean;
1214
- replaceTrack(oldTrack: CustomMediaStreamTrack | undefined, newTrack: CustomMediaStreamTrack | undefined): false | RTCRtpSender | Promise<CustomMediaStreamTrack>;
1215
+ replaceTrack(oldTrack: MediaStreamTrack | undefined, newTrack: MediaStreamTrack): Promise<void>;
1215
1216
  changeBandwidth(bandwidth: any): void;
1216
1217
  setAudioOnly(enable: boolean, excludedTrackIds?: string[]): void;
1217
1218
  }
1218
1219
 
1219
- interface GetOrCreateSessionOptions {
1220
+ interface CreateSessionOptions {
1220
1221
  peerConnectionId: string;
1221
1222
  clientId: string;
1222
1223
  initialBandwidth: number;
1223
- peerConnectionConfig: RTCConfiguration;
1224
+ isOfferer: boolean;
1224
1225
  }
1225
1226
  type P2PAnalytics = {
1226
1227
  P2PNonErrorRejectionValueGUMError: number;
@@ -1239,11 +1240,9 @@ type P2PAnalytics = {
1239
1240
  numPcOnOfferFailure: number;
1240
1241
  numPcSldFailure: number;
1241
1242
  P2PChangeBandwidthEmptySDPType: number;
1242
- P2PNegotiationNeeded: number;
1243
1243
  P2PSessionAlreadyCreated: number;
1244
1244
  P2PReplaceTrackNoStream: number;
1245
1245
  P2PReplaceTrackNewTrackEnded: number;
1246
- P2PReplaceTrackNoNewTrack: number;
1247
1246
  P2PReplaceTrackNewTrackNotInStream: number;
1248
1247
  P2PReplaceTrackOldTrackNotFound: number;
1249
1248
  P2PReplaceTrackToPCsPendingActionsNull: number;
@@ -1270,14 +1269,13 @@ declare class P2pRtcManager implements RtcManager {
1270
1269
  _localStreamDeregisterFunction: any;
1271
1270
  _emitter: any;
1272
1271
  _serverSocket: ServerSocket;
1273
- _webrtcProvider: any;
1272
+ _webrtcProvider: WebRTCProvider;
1274
1273
  _features: any;
1275
1274
  _isAudioOnlyMode: boolean;
1276
1275
  offerOptions: {
1277
1276
  offerToReceiveAudio: boolean;
1278
1277
  offerToReceiveVideo: boolean;
1279
1278
  };
1280
- _pendingActionsForConnectedPeerConnections: any[];
1281
1279
  _audioTrackOnEnded: () => void;
1282
1280
  _videoTrackOnEnded: () => void;
1283
1281
  _iceServers: any;
@@ -1287,8 +1285,8 @@ declare class P2pRtcManager implements RtcManager {
1287
1285
  _wasScreenSharing: any;
1288
1286
  _stoppedVideoTrack: any;
1289
1287
  icePublicIPGatheringTimeoutID: any;
1290
- _videoTrackBeingMonitored?: CustomMediaStreamTrack;
1291
- _audioTrackBeingMonitored?: CustomMediaStreamTrack;
1288
+ _videoTrackBeingMonitored?: MediaStreamTrack;
1289
+ _audioTrackBeingMonitored?: MediaStreamTrack;
1292
1290
  _closed: boolean;
1293
1291
  skipEmittingServerMessageCount: number;
1294
1292
  analytics: P2PAnalytics;
@@ -1301,8 +1299,8 @@ declare class P2pRtcManager implements RtcManager {
1301
1299
  isSfu: boolean;
1302
1300
  }): boolean;
1303
1301
  supportsScreenShareAudio(): boolean;
1304
- addNewStream(streamId: string, stream: MediaStream, audioPaused: boolean, videoPaused: boolean, beforeEffectTracks?: CustomMediaStreamTrack[]): void;
1305
- replaceTrack(oldTrack: CustomMediaStreamTrack | null, newTrack: CustomMediaStreamTrack): Promise<any[]>;
1302
+ addNewStream(streamId: string, stream: MediaStream, audioPaused: boolean, videoPaused: boolean, beforeEffectTracks?: MediaStreamTrack[]): void;
1303
+ replaceTrack(oldTrack: MediaStreamTrack | null, newTrack: MediaStreamTrack): Promise<void | any[]>;
1306
1304
  close(): void;
1307
1305
  disconnectAll(): void;
1308
1306
  setupSocketListeners(): void;
@@ -1322,22 +1320,16 @@ declare class P2pRtcManager implements RtcManager {
1322
1320
  _addEnabledLocalStreamId(streamId: string): void;
1323
1321
  _deleteEnabledLocalStreamId(streamId: string): void;
1324
1322
  _getSession(peerConnectionId: string): Session | null;
1325
- _getOrCreateSession({ peerConnectionId, clientId, initialBandwidth, peerConnectionConfig, }: GetOrCreateSessionOptions): Session;
1326
1323
  _getLocalCameraStream(): any;
1327
1324
  _getNonLocalCameraStreamIds(): string[];
1328
1325
  _isScreensharingLocally(): boolean;
1329
1326
  _getFirstLocalNonCameraStream(): any;
1330
- _createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }: {
1331
- clientId: string;
1332
- initialBandwidth: any;
1333
- isOfferer: any;
1334
- peerConnectionId: string;
1335
- }): Session;
1327
+ _createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId }: CreateSessionOptions): Session;
1336
1328
  _cleanup(peerConnectionId: string): void;
1337
1329
  _forEachPeerConnection(func: any): void;
1338
1330
  _addStreamToPeerConnections(stream: any): void;
1339
1331
  _addTrackToPeerConnections(track: any, stream?: any): void;
1340
- _replaceTrackToPeerConnections(oldTrack: any, newTrack: any): Promise<any[]>;
1332
+ _replaceTrackToPeerConnections(oldTrack: any, newTrack: any): Promise<void | any[]>;
1341
1333
  _removeStreamFromPeerConnections(stream: any): void;
1342
1334
  _removeTrackFromPeerConnections(track: any): void;
1343
1335
  _addLocalStream(streamId: string, stream: any): void;
@@ -1345,8 +1337,8 @@ declare class P2pRtcManager implements RtcManager {
1345
1337
  _updateAndScheduleMediaServersRefresh({ iceServers, turnServers, mediaserverConfigTtlSeconds, }: SignalMediaServerConfig): void;
1346
1338
  _clearMediaServersRefresh(): void;
1347
1339
  _monitorAudioTrack(track: any): void;
1348
- _monitorVideoTrack(track: CustomMediaStreamTrack): void;
1349
- _connect(clientId: string): Promise<Session>;
1340
+ _monitorVideoTrack(track: MediaStreamTrack): void;
1341
+ _connect(clientId: string): Session;
1350
1342
  _maybeRestartIce(clientId: string, session: any): void;
1351
1343
  _setCodecPreferences(pc: RTCPeerConnection): Promise<void>;
1352
1344
  _negotiatePeerConnection(clientId: string, session: Session, constraints?: any): void;
@@ -1368,7 +1360,7 @@ declare class P2pRtcManager implements RtcManager {
1368
1360
  enable: boolean;
1369
1361
  track: any;
1370
1362
  }): void;
1371
- stopOrResumeVideo(localStream: any, enable: boolean): void;
1363
+ stopOrResumeVideo(localStream: MediaStream, enable: boolean): void;
1372
1364
  _shareScreen(streamId: string, stream: any): void;
1373
1365
  removeStream(streamId: string, stream: any, requestedByClientId: any): void;
1374
1366
  hasClient(clientId: string): boolean;
@@ -1383,7 +1375,7 @@ declare class RtcManagerDispatcher {
1383
1375
  constructor({ emitter, serverSocket, webrtcProvider, features, }: {
1384
1376
  emitter: RtcEventEmitter;
1385
1377
  serverSocket: ServerSocket;
1386
- webrtcProvider: any;
1378
+ webrtcProvider: WebRTCProvider;
1387
1379
  features: any;
1388
1380
  });
1389
1381
  stopRtcManager(): void;
@@ -1660,8 +1652,8 @@ declare class VegaRtcManager implements RtcManager {
1660
1652
  _sfuServer?: SignalSFUServer;
1661
1653
  _sfuServers?: HostListEntryOptionalDC[];
1662
1654
  _mediaserverConfigTtlSeconds: any;
1663
- _videoTrackBeingMonitored?: CustomMediaStreamTrack;
1664
- _audioTrackBeingMonitored?: CustomMediaStreamTrack;
1655
+ _videoTrackBeingMonitored?: MediaStreamTrack;
1656
+ _audioTrackBeingMonitored?: MediaStreamTrack;
1665
1657
  _isConnectingOrConnected: boolean;
1666
1658
  _vegaConnectionManager?: ReturnType<typeof createVegaConnectionManager>;
1667
1659
  _networkIsDetectedUpBySignal: boolean;
@@ -1710,10 +1702,10 @@ declare class VegaRtcManager implements RtcManager {
1710
1702
  setRemoteScreenshareVideoTrackIds(): void;
1711
1703
  setRoomSessionId(roomSessionId: string): void;
1712
1704
  disconnect(clientId: string, eventClaim?: string): void;
1713
- replaceTrack(oldTrack: CustomMediaStreamTrack | null, track: CustomMediaStreamTrack): void;
1705
+ replaceTrack(oldTrack: MediaStreamTrack | null, track: MediaStreamTrack): void;
1714
1706
  removeStream(streamId: string, _stream: MediaStream, requestedByClientId: string): void;
1715
1707
  _onMicAnalyserScoreUpdated(data: any): void;
1716
- addNewStream(streamId: string, stream: MediaStream, audioPaused: boolean, videoPaused: boolean, beforeEffectTracks?: CustomMediaStreamTrack[]): void;
1708
+ addNewStream(streamId: string, stream: MediaStream, audioPaused: boolean, videoPaused: boolean, beforeEffectTracks?: MediaStreamTrack[]): void;
1717
1709
  _syncMicAnalyser(): void;
1718
1710
  stopOrResumeAudio(stream: MediaStream, enabled: boolean): void;
1719
1711
  _handleStopOrResumeVideo({ enable, track }: {
@@ -1739,7 +1731,7 @@ declare class VegaRtcManager implements RtcManager {
1739
1731
  rtcStatsDisconnect(): void;
1740
1732
  rtcStatsReconnect(): void;
1741
1733
  _monitorAudioTrack(track: any): void;
1742
- _monitorVideoTrack(track: CustomMediaStreamTrack): void;
1734
+ _monitorVideoTrack(track: MediaStreamTrack): void;
1743
1735
  _onMessage(message: any): Promise<void>;
1744
1736
  _onConsumerReady(options: any): Promise<void>;
1745
1737
  _onConsumerClosed({ consumerId, reason }: {
@@ -1930,4 +1922,4 @@ declare const STREAM_TYPES: {
1930
1922
  };
1931
1923
 
1932
1924
  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 };
1933
- 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 };
1925
+ export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, 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, WebRTCProvider };