@whereby.com/media 2.1.4 → 2.2.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/dist/index.cjs CHANGED
@@ -298,11 +298,12 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
298
298
  ],
299
299
  };
300
300
  const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
301
+ var _a;
301
302
  const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
302
303
  if (kind === "audio") {
303
304
  return AUDIO_SETTINGS;
304
305
  }
305
- const isChrome = adapterRaw.browserDetails.browser === "chrome";
306
+ const isChrome = ((_a = adapterRaw.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "chrome";
306
307
  const isVp9Available = isChrome && vp9On;
307
308
  if (isScreenShare) {
308
309
  return getScreenShareMediaSettings({
@@ -343,8 +344,9 @@ var PrioritizableCodec;
343
344
  PrioritizableCodec["VP9"] = "video/vp9";
344
345
  })(PrioritizableCodec || (PrioritizableCodec = {}));
345
346
  const modifyMediaCapabilities = (routerRtpCapabilities, features) => {
347
+ var _a;
346
348
  const { vp9On, h264On } = features;
347
- const isChrome = adapterRaw.browserDetails.browser === "chrome";
349
+ const isChrome = ((_a = adapterRaw.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "chrome";
348
350
  if (!(routerRtpCapabilities === null || routerRtpCapabilities === void 0 ? void 0 : routerRtpCapabilities.codecs)) {
349
351
  return routerRtpCapabilities;
350
352
  }
@@ -1566,10 +1568,12 @@ class ServerSocket {
1566
1568
  this._socket.sendBuffer = [];
1567
1569
  });
1568
1570
  this._socket.io.on("reconnect_attempt", () => {
1571
+ var _a;
1569
1572
  if (this._wasConnectedUsingWebsocket) {
1570
1573
  this._socket.io.opts.transports = ["websocket"];
1571
- if (adapter$6.browserDetails.browser !== "safari")
1574
+ if (((_a = adapter$6.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) !== "safari") {
1572
1575
  delete this._wasConnectedUsingWebsocket;
1576
+ }
1573
1577
  }
1574
1578
  else {
1575
1579
  this._socket.io.opts.transports = ["websocket", "polling"];
@@ -1895,10 +1899,10 @@ class PacketLossAnalyser {
1895
1899
  }
1896
1900
  }
1897
1901
 
1898
- var _a$5;
1902
+ var _a$5, _b$2;
1899
1903
  const adapter$5 = (_a$5 = adapterRaw.default) !== null && _a$5 !== void 0 ? _a$5 : adapterRaw;
1900
1904
  const logger$8 = new Logger();
1901
- const browserName$2 = adapter$5.browserDetails.browser;
1905
+ const browserName$2 = (_b$2 = adapter$5.browserDetails) === null || _b$2 === void 0 ? void 0 : _b$2.browser;
1902
1906
  const browserVersion$1 = adapter$5.browserDetails.version;
1903
1907
  function setCodecPreferenceSDP(sdp, redOn) {
1904
1908
  var _a, _b;
@@ -2277,10 +2281,11 @@ class Session {
2277
2281
  return;
2278
2282
  }
2279
2283
  this.srdComplete.then(() => {
2284
+ var _a;
2280
2285
  if (this.pc.signalingState === "closed") {
2281
2286
  return;
2282
2287
  }
2283
- if (adapter$4.browserDetails.browser === "safari" && candidate && candidate.candidate === "") {
2288
+ if (((_a = adapter$4.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "safari" && candidate && candidate.candidate === "") {
2284
2289
  return;
2285
2290
  }
2286
2291
  this.pc.addIceCandidate(candidate).catch((e) => {
@@ -2437,8 +2442,9 @@ const MEDIA_JITTER_BUFFER_TARGET = 400;
2437
2442
  var _a$3;
2438
2443
  const adapter$3 = (_a$3 = adapterRaw.default) !== null && _a$3 !== void 0 ? _a$3 : adapterRaw;
2439
2444
  function detectMicrophoneNotWorking(pc) {
2440
- if (adapter$3.browserDetails.browser !== "chrome" ||
2441
- adapter$3.browserDetails.browser < 58 ||
2445
+ var _a, _b;
2446
+ if (((_a = adapter$3.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) !== "chrome" ||
2447
+ ((_b = adapter$3.browserDetails) === null || _b === void 0 ? void 0 : _b.browser) < 58 ||
2442
2448
  pc.signalingState === "closed") {
2443
2449
  return Promise.resolve(false);
2444
2450
  }
@@ -2560,15 +2566,15 @@ var rtcManagerEvents = {
2560
2566
  PC_ON_OFFER_FAILURE: "pc_on_offer_failure",
2561
2567
  };
2562
2568
 
2563
- var _a$2, _b;
2569
+ var _a$2, _b$1, _c;
2564
2570
  const adapter$2 = (_a$2 = adapterRaw.default) !== null && _a$2 !== void 0 ? _a$2 : adapterRaw;
2565
2571
  const logger$6 = new Logger();
2566
2572
  const ICE_PUBLIC_IP_GATHERING_TIMEOUT = 3 * 1000;
2567
2573
  const CAMERA_STREAM_ID = RtcStream.getCameraId();
2568
- const browserName$1 = adapter$2.browserDetails.browser;
2574
+ const browserName$1 = (_b$1 = adapter$2.browserDetails) === null || _b$1 === void 0 ? void 0 : _b$1.browser;
2569
2575
  const browserVersion = adapter$2.browserDetails.version;
2570
2576
  if (browserName$1 === "firefox" && adapter$2.browserShim && "shimGetDisplayMedia" in adapter$2.browserShim) {
2571
- (_b = adapter$2.browserShim) === null || _b === void 0 ? void 0 : _b.shimGetDisplayMedia(window, "screen");
2577
+ (_c = adapter$2.browserShim) === null || _c === void 0 ? void 0 : _c.shimGetDisplayMedia(window, "screen");
2572
2578
  }
2573
2579
  let unloading$1 = false;
2574
2580
  if (browserName$1 === "chrome") {
@@ -6871,9 +6877,9 @@ class BandwidthTester extends EventEmitter {
6871
6877
  }
6872
6878
  }
6873
6879
 
6874
- var _a;
6880
+ var _a, _b;
6875
6881
  const adapter = (_a = adapterRaw.default) !== null && _a !== void 0 ? _a : adapterRaw;
6876
- const isSafari = adapter.browserDetails.browser === "safari";
6882
+ const isSafari = ((_b = adapter.browserDetails) === null || _b === void 0 ? void 0 : _b.browser) === "safari";
6877
6883
  const parseResolution = (res) => res.split(/[^\d]/g).map((n) => parseInt(n, 10));
6878
6884
  function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }) {
6879
6885
  var _a, _b;
package/dist/index.d.cts CHANGED
@@ -826,7 +826,7 @@ interface SocketConf {
826
826
  interface SocketManager {
827
827
  on: (eventName: string, callback: (args: unknown) => void) => void;
828
828
  }
829
- type RoleName = "none" | "visitor" | "granted_visitor" | "viewer" | "granted_viewer" | "host" | "recorder" | "streamer" | "captioner";
829
+ type RoleName = "none" | "visitor" | "granted_visitor" | "viewer" | "granted_viewer" | "host" | "recorder" | "streamer" | "captioner" | "assistant";
830
830
  interface ClientRole {
831
831
  roleName: RoleName;
832
832
  }
@@ -970,11 +970,20 @@ interface HostPresenceControlsError {
970
970
  interface InternalServerError {
971
971
  error: "internal_server_error";
972
972
  }
973
+ interface InvalidAssistantKeyError {
974
+ error: "invalid_assistant_key";
975
+ }
976
+ interface OrganizationAssistantNotFoundError {
977
+ error: "organization_assistant_not_found";
978
+ }
979
+ interface OrganizationAssistantNotEnabledError {
980
+ error: "organization_assistant_not_enabled";
981
+ }
973
982
  type ForbiddenErrorNames = "missing_parameters" | "invalid_parameters" | "invalid_room_name" | "invalid_key" | "invalid_avatar";
974
983
  interface ForbiddenError {
975
984
  error: ForbiddenErrorNames;
976
985
  }
977
- type RoomJoinedErrors = RoomLockedError | RoomFullError | RoomConcurrencyControlsError | CannotJoinUnclaimedRoomError | OrganizationPlanExhaustedError | RoomMeetingTimeExhaustedError | MaxViewerLimitReachedError | HostPresenceControlsError | ForbiddenError | InternalServerError;
986
+ type RoomJoinedErrors = RoomLockedError | RoomFullError | RoomConcurrencyControlsError | CannotJoinUnclaimedRoomError | OrganizationPlanExhaustedError | RoomMeetingTimeExhaustedError | MaxViewerLimitReachedError | HostPresenceControlsError | ForbiddenError | InternalServerError | InvalidAssistantKeyError | OrganizationAssistantNotFoundError | OrganizationAssistantNotEnabledError;
978
987
  interface RoomJoinedSuccess {
979
988
  room: {
980
989
  mode: RoomMode;
@@ -1825,4 +1834,4 @@ declare class RtcStream {
1825
1834
  }
1826
1835
 
1827
1836
  export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
1828
- 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, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
1837
+ 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, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
package/dist/index.d.mts CHANGED
@@ -826,7 +826,7 @@ interface SocketConf {
826
826
  interface SocketManager {
827
827
  on: (eventName: string, callback: (args: unknown) => void) => void;
828
828
  }
829
- type RoleName = "none" | "visitor" | "granted_visitor" | "viewer" | "granted_viewer" | "host" | "recorder" | "streamer" | "captioner";
829
+ type RoleName = "none" | "visitor" | "granted_visitor" | "viewer" | "granted_viewer" | "host" | "recorder" | "streamer" | "captioner" | "assistant";
830
830
  interface ClientRole {
831
831
  roleName: RoleName;
832
832
  }
@@ -970,11 +970,20 @@ interface HostPresenceControlsError {
970
970
  interface InternalServerError {
971
971
  error: "internal_server_error";
972
972
  }
973
+ interface InvalidAssistantKeyError {
974
+ error: "invalid_assistant_key";
975
+ }
976
+ interface OrganizationAssistantNotFoundError {
977
+ error: "organization_assistant_not_found";
978
+ }
979
+ interface OrganizationAssistantNotEnabledError {
980
+ error: "organization_assistant_not_enabled";
981
+ }
973
982
  type ForbiddenErrorNames = "missing_parameters" | "invalid_parameters" | "invalid_room_name" | "invalid_key" | "invalid_avatar";
974
983
  interface ForbiddenError {
975
984
  error: ForbiddenErrorNames;
976
985
  }
977
- type RoomJoinedErrors = RoomLockedError | RoomFullError | RoomConcurrencyControlsError | CannotJoinUnclaimedRoomError | OrganizationPlanExhaustedError | RoomMeetingTimeExhaustedError | MaxViewerLimitReachedError | HostPresenceControlsError | ForbiddenError | InternalServerError;
986
+ type RoomJoinedErrors = RoomLockedError | RoomFullError | RoomConcurrencyControlsError | CannotJoinUnclaimedRoomError | OrganizationPlanExhaustedError | RoomMeetingTimeExhaustedError | MaxViewerLimitReachedError | HostPresenceControlsError | ForbiddenError | InternalServerError | InvalidAssistantKeyError | OrganizationAssistantNotFoundError | OrganizationAssistantNotEnabledError;
978
987
  interface RoomJoinedSuccess {
979
988
  room: {
980
989
  mode: RoomMode;
@@ -1825,4 +1834,4 @@ declare class RtcStream {
1825
1834
  }
1826
1835
 
1827
1836
  export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
1828
- 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, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
1837
+ 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, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
package/dist/index.d.ts CHANGED
@@ -826,7 +826,7 @@ interface SocketConf {
826
826
  interface SocketManager {
827
827
  on: (eventName: string, callback: (args: unknown) => void) => void;
828
828
  }
829
- type RoleName = "none" | "visitor" | "granted_visitor" | "viewer" | "granted_viewer" | "host" | "recorder" | "streamer" | "captioner";
829
+ type RoleName = "none" | "visitor" | "granted_visitor" | "viewer" | "granted_viewer" | "host" | "recorder" | "streamer" | "captioner" | "assistant";
830
830
  interface ClientRole {
831
831
  roleName: RoleName;
832
832
  }
@@ -970,11 +970,20 @@ interface HostPresenceControlsError {
970
970
  interface InternalServerError {
971
971
  error: "internal_server_error";
972
972
  }
973
+ interface InvalidAssistantKeyError {
974
+ error: "invalid_assistant_key";
975
+ }
976
+ interface OrganizationAssistantNotFoundError {
977
+ error: "organization_assistant_not_found";
978
+ }
979
+ interface OrganizationAssistantNotEnabledError {
980
+ error: "organization_assistant_not_enabled";
981
+ }
973
982
  type ForbiddenErrorNames = "missing_parameters" | "invalid_parameters" | "invalid_room_name" | "invalid_key" | "invalid_avatar";
974
983
  interface ForbiddenError {
975
984
  error: ForbiddenErrorNames;
976
985
  }
977
- type RoomJoinedErrors = RoomLockedError | RoomFullError | RoomConcurrencyControlsError | CannotJoinUnclaimedRoomError | OrganizationPlanExhaustedError | RoomMeetingTimeExhaustedError | MaxViewerLimitReachedError | HostPresenceControlsError | ForbiddenError | InternalServerError;
986
+ type RoomJoinedErrors = RoomLockedError | RoomFullError | RoomConcurrencyControlsError | CannotJoinUnclaimedRoomError | OrganizationPlanExhaustedError | RoomMeetingTimeExhaustedError | MaxViewerLimitReachedError | HostPresenceControlsError | ForbiddenError | InternalServerError | InvalidAssistantKeyError | OrganizationAssistantNotFoundError | OrganizationAssistantNotEnabledError;
978
987
  interface RoomJoinedSuccess {
979
988
  room: {
980
989
  mode: RoomMode;
@@ -1825,4 +1834,4 @@ declare class RtcStream {
1825
1834
  }
1826
1835
 
1827
1836
  export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, 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, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
1828
- 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, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
1837
+ 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, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
package/dist/index.mjs CHANGED
@@ -277,11 +277,12 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
277
277
  ],
278
278
  };
279
279
  const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
280
+ var _a;
280
281
  const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
281
282
  if (kind === "audio") {
282
283
  return AUDIO_SETTINGS;
283
284
  }
284
- const isChrome = adapterRaw.browserDetails.browser === "chrome";
285
+ const isChrome = ((_a = adapterRaw.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "chrome";
285
286
  const isVp9Available = isChrome && vp9On;
286
287
  if (isScreenShare) {
287
288
  return getScreenShareMediaSettings({
@@ -322,8 +323,9 @@ var PrioritizableCodec;
322
323
  PrioritizableCodec["VP9"] = "video/vp9";
323
324
  })(PrioritizableCodec || (PrioritizableCodec = {}));
324
325
  const modifyMediaCapabilities = (routerRtpCapabilities, features) => {
326
+ var _a;
325
327
  const { vp9On, h264On } = features;
326
- const isChrome = adapterRaw.browserDetails.browser === "chrome";
328
+ const isChrome = ((_a = adapterRaw.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "chrome";
327
329
  if (!(routerRtpCapabilities === null || routerRtpCapabilities === void 0 ? void 0 : routerRtpCapabilities.codecs)) {
328
330
  return routerRtpCapabilities;
329
331
  }
@@ -1545,10 +1547,12 @@ class ServerSocket {
1545
1547
  this._socket.sendBuffer = [];
1546
1548
  });
1547
1549
  this._socket.io.on("reconnect_attempt", () => {
1550
+ var _a;
1548
1551
  if (this._wasConnectedUsingWebsocket) {
1549
1552
  this._socket.io.opts.transports = ["websocket"];
1550
- if (adapter$6.browserDetails.browser !== "safari")
1553
+ if (((_a = adapter$6.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) !== "safari") {
1551
1554
  delete this._wasConnectedUsingWebsocket;
1555
+ }
1552
1556
  }
1553
1557
  else {
1554
1558
  this._socket.io.opts.transports = ["websocket", "polling"];
@@ -1874,10 +1878,10 @@ class PacketLossAnalyser {
1874
1878
  }
1875
1879
  }
1876
1880
 
1877
- var _a$5;
1881
+ var _a$5, _b$2;
1878
1882
  const adapter$5 = (_a$5 = adapterRaw.default) !== null && _a$5 !== void 0 ? _a$5 : adapterRaw;
1879
1883
  const logger$8 = new Logger();
1880
- const browserName$2 = adapter$5.browserDetails.browser;
1884
+ const browserName$2 = (_b$2 = adapter$5.browserDetails) === null || _b$2 === void 0 ? void 0 : _b$2.browser;
1881
1885
  const browserVersion$1 = adapter$5.browserDetails.version;
1882
1886
  function setCodecPreferenceSDP(sdp, redOn) {
1883
1887
  var _a, _b;
@@ -2256,10 +2260,11 @@ class Session {
2256
2260
  return;
2257
2261
  }
2258
2262
  this.srdComplete.then(() => {
2263
+ var _a;
2259
2264
  if (this.pc.signalingState === "closed") {
2260
2265
  return;
2261
2266
  }
2262
- if (adapter$4.browserDetails.browser === "safari" && candidate && candidate.candidate === "") {
2267
+ if (((_a = adapter$4.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "safari" && candidate && candidate.candidate === "") {
2263
2268
  return;
2264
2269
  }
2265
2270
  this.pc.addIceCandidate(candidate).catch((e) => {
@@ -2416,8 +2421,9 @@ const MEDIA_JITTER_BUFFER_TARGET = 400;
2416
2421
  var _a$3;
2417
2422
  const adapter$3 = (_a$3 = adapterRaw.default) !== null && _a$3 !== void 0 ? _a$3 : adapterRaw;
2418
2423
  function detectMicrophoneNotWorking(pc) {
2419
- if (adapter$3.browserDetails.browser !== "chrome" ||
2420
- adapter$3.browserDetails.browser < 58 ||
2424
+ var _a, _b;
2425
+ if (((_a = adapter$3.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) !== "chrome" ||
2426
+ ((_b = adapter$3.browserDetails) === null || _b === void 0 ? void 0 : _b.browser) < 58 ||
2421
2427
  pc.signalingState === "closed") {
2422
2428
  return Promise.resolve(false);
2423
2429
  }
@@ -2539,15 +2545,15 @@ var rtcManagerEvents = {
2539
2545
  PC_ON_OFFER_FAILURE: "pc_on_offer_failure",
2540
2546
  };
2541
2547
 
2542
- var _a$2, _b;
2548
+ var _a$2, _b$1, _c;
2543
2549
  const adapter$2 = (_a$2 = adapterRaw.default) !== null && _a$2 !== void 0 ? _a$2 : adapterRaw;
2544
2550
  const logger$6 = new Logger();
2545
2551
  const ICE_PUBLIC_IP_GATHERING_TIMEOUT = 3 * 1000;
2546
2552
  const CAMERA_STREAM_ID = RtcStream.getCameraId();
2547
- const browserName$1 = adapter$2.browserDetails.browser;
2553
+ const browserName$1 = (_b$1 = adapter$2.browserDetails) === null || _b$1 === void 0 ? void 0 : _b$1.browser;
2548
2554
  const browserVersion = adapter$2.browserDetails.version;
2549
2555
  if (browserName$1 === "firefox" && adapter$2.browserShim && "shimGetDisplayMedia" in adapter$2.browserShim) {
2550
- (_b = adapter$2.browserShim) === null || _b === void 0 ? void 0 : _b.shimGetDisplayMedia(window, "screen");
2556
+ (_c = adapter$2.browserShim) === null || _c === void 0 ? void 0 : _c.shimGetDisplayMedia(window, "screen");
2551
2557
  }
2552
2558
  let unloading$1 = false;
2553
2559
  if (browserName$1 === "chrome") {
@@ -6850,9 +6856,9 @@ class BandwidthTester extends EventEmitter {
6850
6856
  }
6851
6857
  }
6852
6858
 
6853
- var _a;
6859
+ var _a, _b;
6854
6860
  const adapter = (_a = adapterRaw.default) !== null && _a !== void 0 ? _a : adapterRaw;
6855
- const isSafari = adapter.browserDetails.browser === "safari";
6861
+ const isSafari = ((_b = adapter.browserDetails) === null || _b === void 0 ? void 0 : _b.browser) === "safari";
6856
6862
  const parseResolution = (res) => res.split(/[^\d]/g).map((n) => parseInt(n, 10));
6857
6863
  function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }) {
6858
6864
  var _a, _b;
@@ -277,11 +277,12 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
277
277
  ],
278
278
  };
279
279
  const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
280
+ var _a;
280
281
  const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
281
282
  if (kind === "audio") {
282
283
  return AUDIO_SETTINGS;
283
284
  }
284
- const isChrome = adapterRaw.browserDetails.browser === "chrome";
285
+ const isChrome = ((_a = adapterRaw.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "chrome";
285
286
  const isVp9Available = isChrome && vp9On;
286
287
  if (isScreenShare) {
287
288
  return getScreenShareMediaSettings({
@@ -322,8 +323,9 @@ var PrioritizableCodec;
322
323
  PrioritizableCodec["VP9"] = "video/vp9";
323
324
  })(PrioritizableCodec || (PrioritizableCodec = {}));
324
325
  const modifyMediaCapabilities = (routerRtpCapabilities, features) => {
326
+ var _a;
325
327
  const { vp9On, h264On } = features;
326
- const isChrome = adapterRaw.browserDetails.browser === "chrome";
328
+ const isChrome = ((_a = adapterRaw.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "chrome";
327
329
  if (!(routerRtpCapabilities === null || routerRtpCapabilities === void 0 ? void 0 : routerRtpCapabilities.codecs)) {
328
330
  return routerRtpCapabilities;
329
331
  }
@@ -1545,10 +1547,12 @@ class ServerSocket {
1545
1547
  this._socket.sendBuffer = [];
1546
1548
  });
1547
1549
  this._socket.io.on("reconnect_attempt", () => {
1550
+ var _a;
1548
1551
  if (this._wasConnectedUsingWebsocket) {
1549
1552
  this._socket.io.opts.transports = ["websocket"];
1550
- if (adapter$6.browserDetails.browser !== "safari")
1553
+ if (((_a = adapter$6.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) !== "safari") {
1551
1554
  delete this._wasConnectedUsingWebsocket;
1555
+ }
1552
1556
  }
1553
1557
  else {
1554
1558
  this._socket.io.opts.transports = ["websocket", "polling"];
@@ -1874,10 +1878,10 @@ class PacketLossAnalyser {
1874
1878
  }
1875
1879
  }
1876
1880
 
1877
- var _a$5;
1881
+ var _a$5, _b$2;
1878
1882
  const adapter$5 = (_a$5 = adapterRaw.default) !== null && _a$5 !== void 0 ? _a$5 : adapterRaw;
1879
1883
  const logger$8 = new Logger();
1880
- const browserName$2 = adapter$5.browserDetails.browser;
1884
+ const browserName$2 = (_b$2 = adapter$5.browserDetails) === null || _b$2 === void 0 ? void 0 : _b$2.browser;
1881
1885
  const browserVersion$1 = adapter$5.browserDetails.version;
1882
1886
  function setCodecPreferenceSDP(sdp, redOn) {
1883
1887
  var _a, _b;
@@ -2256,10 +2260,11 @@ class Session {
2256
2260
  return;
2257
2261
  }
2258
2262
  this.srdComplete.then(() => {
2263
+ var _a;
2259
2264
  if (this.pc.signalingState === "closed") {
2260
2265
  return;
2261
2266
  }
2262
- if (adapter$4.browserDetails.browser === "safari" && candidate && candidate.candidate === "") {
2267
+ if (((_a = adapter$4.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) === "safari" && candidate && candidate.candidate === "") {
2263
2268
  return;
2264
2269
  }
2265
2270
  this.pc.addIceCandidate(candidate).catch((e) => {
@@ -2416,8 +2421,9 @@ const MEDIA_JITTER_BUFFER_TARGET = 400;
2416
2421
  var _a$3;
2417
2422
  const adapter$3 = (_a$3 = adapterRaw.default) !== null && _a$3 !== void 0 ? _a$3 : adapterRaw;
2418
2423
  function detectMicrophoneNotWorking(pc) {
2419
- if (adapter$3.browserDetails.browser !== "chrome" ||
2420
- adapter$3.browserDetails.browser < 58 ||
2424
+ var _a, _b;
2425
+ if (((_a = adapter$3.browserDetails) === null || _a === void 0 ? void 0 : _a.browser) !== "chrome" ||
2426
+ ((_b = adapter$3.browserDetails) === null || _b === void 0 ? void 0 : _b.browser) < 58 ||
2421
2427
  pc.signalingState === "closed") {
2422
2428
  return Promise.resolve(false);
2423
2429
  }
@@ -2539,15 +2545,15 @@ var rtcManagerEvents = {
2539
2545
  PC_ON_OFFER_FAILURE: "pc_on_offer_failure",
2540
2546
  };
2541
2547
 
2542
- var _a$2, _b;
2548
+ var _a$2, _b$1, _c;
2543
2549
  const adapter$2 = (_a$2 = adapterRaw.default) !== null && _a$2 !== void 0 ? _a$2 : adapterRaw;
2544
2550
  const logger$6 = new Logger();
2545
2551
  const ICE_PUBLIC_IP_GATHERING_TIMEOUT = 3 * 1000;
2546
2552
  const CAMERA_STREAM_ID = RtcStream.getCameraId();
2547
- const browserName$1 = adapter$2.browserDetails.browser;
2553
+ const browserName$1 = (_b$1 = adapter$2.browserDetails) === null || _b$1 === void 0 ? void 0 : _b$1.browser;
2548
2554
  const browserVersion = adapter$2.browserDetails.version;
2549
2555
  if (browserName$1 === "firefox" && adapter$2.browserShim && "shimGetDisplayMedia" in adapter$2.browserShim) {
2550
- (_b = adapter$2.browserShim) === null || _b === void 0 ? void 0 : _b.shimGetDisplayMedia(window, "screen");
2556
+ (_c = adapter$2.browserShim) === null || _c === void 0 ? void 0 : _c.shimGetDisplayMedia(window, "screen");
2551
2557
  }
2552
2558
  let unloading$1 = false;
2553
2559
  if (browserName$1 === "chrome") {
@@ -6850,9 +6856,9 @@ class BandwidthTester extends EventEmitter {
6850
6856
  }
6851
6857
  }
6852
6858
 
6853
- var _a;
6859
+ var _a, _b;
6854
6860
  const adapter = (_a = adapterRaw.default) !== null && _a !== void 0 ? _a : adapterRaw;
6855
- const isSafari = adapter.browserDetails.browser === "safari";
6861
+ const isSafari = ((_b = adapter.browserDetails) === null || _b === void 0 ? void 0 : _b.browser) === "safari";
6856
6862
  const parseResolution = (res) => res.split(/[^\d]/g).map((n) => parseInt(n, 10));
6857
6863
  function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }) {
6858
6864
  var _a, _b;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@whereby.com/media",
3
3
  "description": "Media library for Whereby",
4
- "version": "2.1.4",
4
+ "version": "2.2.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/whereby/sdk",
7
7
  "repository": {