@whereby.com/media 6.0.0 → 7.0.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
@@ -2526,75 +2526,11 @@ var rtcManagerEvents = {
2526
2526
 
2527
2527
  var _a$2, _b$1;
2528
2528
  const adapter$2 = (_a$2 = adapterRaw.default) !== null && _a$2 !== void 0 ? _a$2 : adapterRaw;
2529
- const isSafari = ((_b$1 = adapter$2.browserDetails) === null || _b$1 === void 0 ? void 0 : _b$1.browser) === "safari";
2530
- const parseResolution = (res) => res.split(/[^\d]/g).map((n) => parseInt(n, 10));
2531
- function getMediaConstraints({ audioWanted, videoWanted, disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }) {
2532
- let HIGH_HEIGHT = 480;
2533
- let LOW_HEIGHT = 240;
2534
- if (hd) {
2535
- HIGH_HEIGHT = lax || isSafari ? 720 : { min: 360, ideal: 720 };
2536
- }
2537
- if (simulcast) {
2538
- if (hd === false) {
2539
- HIGH_HEIGHT = 360;
2540
- LOW_HEIGHT = 270;
2541
- }
2542
- else {
2543
- LOW_HEIGHT = 360;
2544
- }
2545
- }
2546
- const { audioId, videoId } = preferredDeviceIds;
2547
- const constraints = Object.assign(Object.assign({}, (audioWanted && {
2548
- audio: Object.assign(Object.assign(Object.assign({}, (audioId ? { deviceId: audioId } : {})), (disableAGC ? { autoGainControl: false } : {})), (disableAEC ? { echoCancellation: false } : {})),
2549
- })), (videoWanted && {
2550
- video: Object.assign({ height: lowDataMode ? LOW_HEIGHT : HIGH_HEIGHT, frameRate: lowDataMode && !simulcast ? 15 : 24 }, (videoId ? { deviceId: videoId } : { facingMode: "user" })),
2551
- }));
2552
- if (lax) {
2553
- if (audioWanted && !audioId)
2554
- constraints.audio = true;
2555
- if (videoWanted && !videoId && typeof constraints.video === "object") {
2556
- delete constraints.video.facingMode;
2557
- }
2558
- return constraints;
2559
- }
2560
- if (videoWanted && typeof constraints.video === "object") {
2561
- if (resolution) {
2562
- const [w, h, fps] = parseResolution(resolution);
2563
- if (w)
2564
- constraints.video.width = { exact: w };
2565
- if (h)
2566
- constraints.video.height = { exact: h };
2567
- if (fps)
2568
- constraints.video.frameRate = { exact: fps };
2569
- delete constraints.video.facingMode;
2570
- }
2571
- else {
2572
- constraints.video.aspectRatio = widescreen ? 16 / 9 : 4 / 3;
2573
- }
2574
- }
2575
- return constraints;
2576
- }
2577
- function getConstraints({ devices, videoId, audioId, options, type = "ideal" }) {
2578
- const audioDevices = devices.filter((d) => d.kind === "audioinput");
2579
- const videoDevices = devices.filter((d) => d.kind === "videoinput");
2580
- const preferredDeviceIds = {};
2581
- if (typeof audioId === "string" && audioDevices.some((d) => d.deviceId === audioId)) {
2582
- preferredDeviceIds.audioId = { [type]: audioId };
2583
- }
2584
- if (typeof videoId === "string" && videoDevices.some((d) => d.deviceId === videoId)) {
2585
- preferredDeviceIds.videoId = { [type]: videoId };
2586
- }
2587
- const constraints = getMediaConstraints(Object.assign({ preferredDeviceIds, audioWanted: Boolean(audioId) && audioDevices.length > 0, videoWanted: Boolean(videoId) && videoDevices.length > 0 }, options));
2588
- return constraints;
2589
- }
2590
-
2591
- var _a$1, _b;
2592
- const adapter$1 = (_a$1 = adapterRaw.default) !== null && _a$1 !== void 0 ? _a$1 : adapterRaw;
2593
2529
  const logger$6 = new Logger();
2594
2530
  const ICE_PUBLIC_IP_GATHERING_TIMEOUT = 3 * 1000;
2595
2531
  const ICE_RESTART_DELAY = 2 * 1000;
2596
- const browserName$1 = (_b = adapter$1.browserDetails) === null || _b === void 0 ? void 0 : _b.browser;
2597
- const browserVersion = adapter$1.browserDetails.version;
2532
+ const browserName$1 = (_b$1 = adapter$2.browserDetails) === null || _b$1 === void 0 ? void 0 : _b$1.browser;
2533
+ const browserVersion = adapter$2.browserDetails.version;
2598
2534
  let unloading$1 = false;
2599
2535
  if (browserName$1 === "chrome") {
2600
2536
  window.document.addEventListener("beforeunload", () => {
@@ -3579,7 +3515,7 @@ class P2pRtcManager {
3579
3515
  }
3580
3516
  else {
3581
3517
  if (localStream.getVideoTracks().length === 0) {
3582
- const constraints = getConstraints(this._webrtcProvider.getMediaConstraints()).video;
3518
+ const constraints = this._webrtcProvider.getMediaConstraints().video;
3583
3519
  if (!constraints) {
3584
3520
  return;
3585
3521
  }
@@ -4448,10 +4384,10 @@ const STREAM_TYPES = {
4448
4384
  screenshare: "screenshare",
4449
4385
  };
4450
4386
 
4451
- var _a;
4452
- const adapter = (_a = adapterRaw.default) !== null && _a !== void 0 ? _a : adapterRaw;
4387
+ var _a$1;
4388
+ const adapter$1 = (_a$1 = adapterRaw.default) !== null && _a$1 !== void 0 ? _a$1 : adapterRaw;
4453
4389
  const logger$2 = new Logger();
4454
- const browserName = adapter.browserDetails.browser;
4390
+ const browserName = adapter$1.browserDetails.browser;
4455
4391
  let unloading = false;
4456
4392
  const RESTARTICE_ERROR_RETRY_THRESHOLD_IN_MS = 3500;
4457
4393
  const RESTARTICE_ERROR_MAX_RETRY_COUNT = 5;
@@ -5535,7 +5471,7 @@ class VegaRtcManager {
5535
5471
  }, stopCameraDelay);
5536
5472
  }
5537
5473
  else if (localStream.getVideoTracks().length === 0) {
5538
- const constraints = getConstraints(this._webrtcProvider.getMediaConstraints()).video;
5474
+ const constraints = this._webrtcProvider.getMediaConstraints().video;
5539
5475
  navigator.mediaDevices
5540
5476
  .getUserMedia({ video: constraints })
5541
5477
  .then((stream) => {
@@ -7060,6 +6996,73 @@ class BandwidthTester extends EventEmitter {
7060
6996
  }
7061
6997
  }
7062
6998
 
6999
+ var _a, _b;
7000
+ const adapter = (_a = adapterRaw.default) !== null && _a !== void 0 ? _a : adapterRaw;
7001
+ const isSafari = ((_b = adapter.browserDetails) === null || _b === void 0 ? void 0 : _b.browser) === "safari";
7002
+ const parseResolution = (res) => res.split(/[^\d]/g).map((n) => parseInt(n, 10));
7003
+ function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }) {
7004
+ var _a, _b;
7005
+ let HIGH_HEIGHT = 480;
7006
+ let LOW_HEIGHT = 240;
7007
+ if (hd) {
7008
+ HIGH_HEIGHT = lax || isSafari ? 720 : { min: 360, ideal: 720 };
7009
+ }
7010
+ if (simulcast) {
7011
+ if (hd === false) {
7012
+ HIGH_HEIGHT = 360;
7013
+ LOW_HEIGHT = 270;
7014
+ }
7015
+ else {
7016
+ LOW_HEIGHT = 360;
7017
+ }
7018
+ }
7019
+ const constraints = {
7020
+ audio: Object.assign({}, (preferredDeviceIds.audioId && { deviceId: preferredDeviceIds.audioId })),
7021
+ video: Object.assign(Object.assign({}, (preferredDeviceIds.videoId ? { deviceId: preferredDeviceIds.videoId } : { facingMode: "user" })), { height: lowDataMode ? LOW_HEIGHT : HIGH_HEIGHT, frameRate: lowDataMode && !simulcast ? 15 : 24 }),
7022
+ };
7023
+ if (lax) {
7024
+ if (!((_a = constraints.audio) === null || _a === void 0 ? void 0 : _a.deviceId))
7025
+ constraints.audio = true;
7026
+ (_b = constraints.video) === null || _b === void 0 ? true : delete _b.facingMode;
7027
+ return constraints;
7028
+ }
7029
+ if (resolution) {
7030
+ const [w, h, fps] = parseResolution(resolution);
7031
+ if (w)
7032
+ constraints.video.width = { exact: w };
7033
+ if (h)
7034
+ constraints.video.height = { exact: h };
7035
+ if (fps)
7036
+ constraints.video.frameRate = { exact: fps };
7037
+ delete constraints.video.facingMode;
7038
+ }
7039
+ else {
7040
+ constraints.video.aspectRatio = widescreen ? 16 / 9 : 4 / 3;
7041
+ }
7042
+ if (disableAGC)
7043
+ constraints.audio.autoGainControl = false;
7044
+ if (disableAEC)
7045
+ constraints.audio.echoCancellation = false;
7046
+ return constraints;
7047
+ }
7048
+ function getConstraints({ devices, videoId, audioId, options, type = "ideal" }) {
7049
+ const audioDevices = devices.filter((d) => d.kind === "audioinput");
7050
+ const videoDevices = devices.filter((d) => d.kind === "videoinput");
7051
+ const useDefaultAudio = !audioId || !audioDevices.some((d) => d.deviceId === audioId);
7052
+ const useDefaultVideo = !videoId || !videoDevices.some((d) => d.deviceId === videoId);
7053
+ const constraints = getMediaConstraints(Object.assign({ preferredDeviceIds: {
7054
+ audioId: useDefaultAudio ? null : { [type]: audioId },
7055
+ videoId: useDefaultVideo ? null : { [type]: videoId },
7056
+ } }, options));
7057
+ if (audioId === false || !audioDevices.length) {
7058
+ delete constraints.audio;
7059
+ }
7060
+ if (videoId === false || !videoDevices.length) {
7061
+ delete constraints.video;
7062
+ }
7063
+ return constraints;
7064
+ }
7065
+
7063
7066
  const logger = new Logger();
7064
7067
  const isMobile = /mobi/i.test(navigator.userAgent);
7065
7068
  class NoDevicesError extends Error {
@@ -7093,29 +7096,23 @@ function buildDeviceList({ busyDeviceIds, devices, kind }) {
7093
7096
  label: `${busyDeviceIds.includes(d.deviceId) ? "(busy) " : ""}${d.label || d.deviceId.slice(0, 5)}`,
7094
7097
  busy: busyDeviceIds.includes(d.deviceId),
7095
7098
  }));
7096
- return deviceList && deviceList.length !== 0 ? deviceList : [{ [idFieldsByKind[kind]]: "", label: "Default" }];
7099
+ return deviceList && deviceList.length !== 0
7100
+ ? deviceList
7101
+ : [{ [idFieldsByKind[kind]]: "", label: "Default" }];
7097
7102
  }
7098
7103
  function getUserMedia(constraints) {
7099
- return __awaiter(this, void 0, void 0, function* () {
7100
- if (!constraints.audio && !constraints.video) {
7101
- throw new NoDevicesError("No provided devices");
7102
- }
7103
- try {
7104
- const stream = yield navigator.mediaDevices.getUserMedia(constraints);
7105
- return stream;
7106
- }
7107
- catch (error) {
7108
- const message = `${error}, ${JSON.stringify(constraints, null, 2)}`;
7109
- logger.error(`getUserMedia ${message}`);
7110
- throw error;
7111
- }
7104
+ if (!constraints.audio && !constraints.video) {
7105
+ return Promise.reject(new NoDevicesError("No provided devices"));
7106
+ }
7107
+ return navigator.mediaDevices.getUserMedia(constraints).catch((error) => {
7108
+ const message = `${error}, ${JSON.stringify(constraints, null, 2)}`;
7109
+ logger.error(`getUserMedia ${message}`);
7110
+ throw error;
7112
7111
  });
7113
7112
  }
7114
7113
  function getSettingsFromTrack(kind, track, devices, lastUsedId) {
7115
7114
  var _a, _b, _c;
7116
- let settings = {
7117
- deviceId: undefined,
7118
- };
7115
+ let settings = { deviceId: null };
7119
7116
  if (!track) {
7120
7117
  if (lastUsedId && devices) {
7121
7118
  settings.deviceId = (_a = devices.find((d) => d.deviceId === lastUsedId && d.kind === kind)) === null || _a === void 0 ? void 0 : _a.deviceId;
@@ -7139,10 +7136,11 @@ function getSettingsFromTrack(kind, track, devices, lastUsedId) {
7139
7136
  if (settings.deviceId)
7140
7137
  return settings;
7141
7138
  settings.deviceId = (_c = track.getConstraints()) === null || _c === void 0 ? void 0 : _c.deviceId;
7139
+ settings.broken = 1;
7142
7140
  return settings;
7143
7141
  }
7144
7142
  function getDeviceData({ audioTrack, videoTrack, devices, stoppedVideoTrack, lastAudioId, lastVideoId, }) {
7145
- const usable = (d) => ((d === null || d === void 0 ? void 0 : d.readyState) === "live" ? d : undefined);
7143
+ const usable = (d) => ((d === null || d === void 0 ? void 0 : d.readyState) === "live" ? d : null);
7146
7144
  videoTrack = usable(videoTrack) || stoppedVideoTrack;
7147
7145
  audioTrack = usable(audioTrack);
7148
7146
  const video = getSettingsFromTrack("videoinput", videoTrack, devices, lastVideoId);
@@ -7175,7 +7173,7 @@ function getStream(constraintOpt_1) {
7175
7173
  let newConstraints;
7176
7174
  let retryConstraintOpt;
7177
7175
  let stream = null;
7178
- const only = (!constraintOpt.audioId && "video") || (!constraintOpt.videoId && "audio");
7176
+ const only = (constraintOpt.audioId === false && "video") || (constraintOpt.videoId === false && "audio");
7179
7177
  const stopTracks = isMobile || only !== "video";
7180
7178
  const constraints = getConstraints(constraintOpt);
7181
7179
  const addDetails = (err, orgErr) => {
@@ -7186,7 +7184,7 @@ function getStream(constraintOpt_1) {
7186
7184
  return err;
7187
7185
  }
7188
7186
  else {
7189
- return new Error("GetStream: gUM rejected without error");
7187
+ return new Error("Unknown error");
7190
7188
  }
7191
7189
  };
7192
7190
  const getSingleStream = (e) => __awaiter(this, void 0, void 0, function* () {
@@ -7220,18 +7218,12 @@ function getStream(constraintOpt_1) {
7220
7218
  }
7221
7219
  if ((e === null || e === void 0 ? void 0 : e.name) === "OverconstrainedError") {
7222
7220
  const laxConstraints = {
7223
- deviceId: { videoId: true, audioId: true },
7221
+ deviceId: { videoId: null, audioId: null },
7224
7222
  width: { lax: true },
7225
7223
  height: { lax: true },
7226
- "": { audioId: true, videoId: true, lax: true },
7224
+ "": { audioId: null, videoId: null, lax: true },
7227
7225
  };
7228
7226
  retryConstraintOpt = laxConstraints[e.constraint || ""];
7229
- if (!constraintOpt.audioId || only === "video") {
7230
- delete retryConstraintOpt.audioId;
7231
- }
7232
- if (!constraintOpt.videoId || only === "audio") {
7233
- delete retryConstraintOpt.videoId;
7234
- }
7235
7227
  }
7236
7228
  else if ((e === null || e === void 0 ? void 0 : e.name) === "NotFoundError") {
7237
7229
  yield getSingleStream(e);
@@ -7255,7 +7247,7 @@ function getStream(constraintOpt_1) {
7255
7247
  const problemWith = { audio: "audioId", video: "videoId" }[((_a = /(video|audio)/.exec(errMsg)) === null || _a === void 0 ? void 0 : _a[0]) || only || ""];
7256
7248
  if (!stream && problemWith) {
7257
7249
  try {
7258
- stream = yield getUserMedia(getConstraints(Object.assign(Object.assign({}, constraintOpt), { [problemWith]: true })));
7250
+ stream = yield getUserMedia(getConstraints(Object.assign(Object.assign({}, constraintOpt), { [problemWith]: null })));
7259
7251
  }
7260
7252
  catch (e2) {
7261
7253
  logger.warn(`Re-tried ${problemWith} with no constraints, but failed: ${"" + e2}`);
@@ -7315,9 +7307,8 @@ const defaultDisplayMediaConstraints = {
7315
7307
  height: { max: window.screen.height },
7316
7308
  },
7317
7309
  };
7318
- function getDisplayMedia() {
7319
- return __awaiter(this, arguments, void 0, function* (constraints = defaultDisplayMediaConstraints, contentHint = "detail") {
7320
- const stream = yield navigator.mediaDevices.getDisplayMedia(constraints);
7310
+ function getDisplayMedia(constraints = defaultDisplayMediaConstraints, contentHint = "detail") {
7311
+ return navigator.mediaDevices.getDisplayMedia(constraints).then((stream) => {
7321
7312
  stream.getVideoTracks().forEach((t) => {
7322
7313
  if ("contentHint" in t) {
7323
7314
  t.contentHint = contentHint;
@@ -7375,10 +7366,14 @@ function getUpdatedDevices({ oldDevices, newDevices, currentAudioId, currentVide
7375
7366
  }
7376
7367
  if (currentDeviceId) {
7377
7368
  if (changes.removed[currentDeviceId]) {
7378
- removedDevices[kind] = changes.removed[currentDeviceId];
7369
+ changedDevices[kind] = { deviceId: null };
7370
+ if (kind === "audiooutput") {
7371
+ const fallbackSpeakerDevice = newDevices.find((d) => d.kind === "audiooutput");
7372
+ changedDevices[kind] = { deviceId: fallbackSpeakerDevice === null || fallbackSpeakerDevice === void 0 ? void 0 : fallbackSpeakerDevice.deviceId };
7373
+ }
7379
7374
  }
7380
7375
  if (changes.changed[currentDeviceId]) {
7381
- changedDevices[kind] = changes.changed[currentDeviceId];
7376
+ changedDevices[kind] = { deviceId: currentDeviceId };
7382
7377
  }
7383
7378
  }
7384
7379
  if (Object.keys(changes.added).length > 0) {
@@ -7386,6 +7381,10 @@ function getUpdatedDevices({ oldDevices, newDevices, currentAudioId, currentVide
7386
7381
  const add = changes.added[deviceAdded];
7387
7382
  addedDevices[kind] = { deviceId: add.deviceId, label: add.label, kind: add.kind };
7388
7383
  }
7384
+ if (Object.keys(changes.removed).length > 0) {
7385
+ const [deviceRemoved] = Object.keys(changes.removed).slice(0, 1);
7386
+ removedDevices[kind] = changes.removed[deviceRemoved];
7387
+ }
7389
7388
  });
7390
7389
  return { addedDevices, changedDevices, removedDevices };
7391
7390
  }
package/dist/index.d.cts CHANGED
@@ -1057,9 +1057,7 @@ type SignalIceEndOfCandidatesMessage = {
1057
1057
  clientId: string;
1058
1058
  };
1059
1059
  interface WebRTCProvider {
1060
- getMediaConstraints: () => GetConstraintsOptions;
1061
- browser?: string;
1062
- version?: number;
1060
+ getMediaConstraints: () => MediaStreamConstraints;
1063
1061
  }
1064
1062
  type GetMediaConstraintsOptions = {
1065
1063
  disableAEC: boolean;
@@ -1067,32 +1065,27 @@ type GetMediaConstraintsOptions = {
1067
1065
  hd: boolean;
1068
1066
  lax: boolean;
1069
1067
  lowDataMode: boolean;
1070
- audioWanted: boolean;
1071
- videoWanted: boolean;
1072
1068
  preferredDeviceIds: {
1073
- audioId?: {
1074
- ideal?: string;
1075
- exact?: string;
1069
+ audioId?: boolean | string | null | {
1070
+ ideal?: string | null;
1071
+ exact?: string | null;
1076
1072
  };
1077
- videoId?: {
1078
- ideal?: string;
1079
- exact?: string;
1073
+ videoId?: boolean | string | null | {
1074
+ ideal?: string | null;
1075
+ exact?: string | null;
1080
1076
  };
1081
1077
  };
1082
1078
  resolution?: string;
1083
1079
  simulcast: boolean;
1084
1080
  widescreen: boolean;
1081
+ usingAspectRatio16x9: boolean;
1085
1082
  };
1086
- interface GetSettingsFromTrackResult extends Omit<MediaTrackSettings, "deviceId"> {
1087
- deviceId?: string;
1088
- label?: string;
1089
- }
1090
1083
  type GetConstraintsOptions = {
1091
1084
  devices: MediaDeviceInfo[];
1092
1085
  audioId?: boolean | string;
1093
1086
  videoId?: boolean | string;
1094
1087
  type?: "ideal" | "exact";
1095
- options: Omit<GetMediaConstraintsOptions, "preferredDeviceIds" | "audioWanted" | "videoWanted">;
1088
+ options: Omit<GetMediaConstraintsOptions, "preferredDeviceIds">;
1096
1089
  };
1097
1090
  type GetStreamOptions = {
1098
1091
  replaceStream?: MediaStream;
@@ -1103,13 +1096,8 @@ type GetStreamResult = {
1103
1096
  replacedTracks?: MediaStreamTrack[];
1104
1097
  stream: MediaStream;
1105
1098
  };
1106
- interface BuildDeviceListOptions {
1107
- devices: MediaDeviceInfo[];
1108
- busyDeviceIds: string[];
1109
- kind: MediaDeviceKind;
1110
- }
1111
1099
  type UpdatedDeviceInfo = {
1112
- deviceId?: string;
1100
+ deviceId?: string | null;
1113
1101
  kind?: MediaDeviceKind;
1114
1102
  label?: string;
1115
1103
  };
@@ -1124,8 +1112,16 @@ type GetUpdatedDevicesResult = {
1124
1112
  removedDevices: UpdatedDevicesInfo;
1125
1113
  };
1126
1114
  type GetDeviceDataResult = {
1127
- audio: GetSettingsFromTrackResult;
1128
- video: GetSettingsFromTrackResult;
1115
+ audio: {
1116
+ deviceId: string;
1117
+ label: string;
1118
+ kind: string;
1119
+ };
1120
+ video: {
1121
+ deviceId: string;
1122
+ label: string;
1123
+ kind: string;
1124
+ };
1129
1125
  };
1130
1126
  type SignalIceServer = {
1131
1127
  credential: string;
@@ -1159,47 +1155,36 @@ interface RemoveScreenshareStreamOptions {
1159
1155
  requestedByClientId?: string;
1160
1156
  }
1161
1157
 
1162
- declare function getMediaConstraints({ audioWanted, videoWanted, disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): MediaStreamConstraints;
1163
- declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): MediaStreamConstraints;
1158
+ declare function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): any;
1159
+ declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): any;
1164
1160
 
1165
1161
  declare const isMobile: boolean;
1166
1162
  declare class NoDevicesError extends Error {
1167
1163
  constructor(...args: any);
1168
1164
  }
1169
1165
  declare function enumerate(): Promise<MediaDeviceInfo[]>;
1170
- declare function buildDeviceList({ busyDeviceIds, devices, kind }: BuildDeviceListOptions): {
1171
- [x: string]: string | boolean;
1172
- label: string;
1173
- busy: boolean;
1174
- }[] | {
1175
- [x: string]: string;
1176
- label: string;
1177
- }[];
1178
- declare function getUserMedia(constraints: MediaStreamConstraints): Promise<MediaStream>;
1166
+ declare function buildDeviceList({ busyDeviceIds, devices, kind }: any): any;
1167
+ declare function getUserMedia(constraints: any): Promise<MediaStream>;
1179
1168
  declare function getDeviceData({ audioTrack, videoTrack, devices, stoppedVideoTrack, lastAudioId, lastVideoId, }: {
1180
- audioTrack?: MediaStreamTrack;
1181
- videoTrack?: MediaStreamTrack;
1169
+ audioTrack?: MediaStreamTrack | null;
1170
+ videoTrack?: MediaStreamTrack | null;
1182
1171
  devices: MediaDeviceInfo[];
1183
- stoppedVideoTrack?: MediaStreamTrack;
1172
+ stoppedVideoTrack?: boolean;
1184
1173
  lastAudioId?: string | undefined;
1185
1174
  lastVideoId?: string | undefined;
1186
1175
  }): GetDeviceDataResult;
1187
1176
  declare function stopStreamTracks(stream: MediaStream, only?: "audio" | "video" | false): void;
1188
1177
  declare function replaceTracksInStream(stream: MediaStream, newStream: MediaStream, only: "audio" | "video" | false): MediaStreamTrack[];
1189
- declare function getStream(constraintOpt: GetConstraintsOptions, { replaceStream, fallback }?: GetStreamOptions): Promise<GetStreamResult>;
1178
+ declare function getStream(constraintOpt: any, { replaceStream, fallback }?: GetStreamOptions): Promise<GetStreamResult>;
1190
1179
  declare function hasGetDisplayMedia(): boolean;
1191
- declare function getDisplayMedia(constraints?: DisplayMediaStreamOptions, contentHint?: "detail" | "motion" | "text"): Promise<MediaStream>;
1192
- declare function compareLocalDevices(before: MediaDeviceInfo[], after: MediaDeviceInfo[]): Record<MediaDeviceKind, {
1193
- removed: Record<string, MediaDeviceInfo>;
1194
- added: Record<string, MediaDeviceInfo>;
1195
- changed: Record<string, MediaDeviceInfo>;
1196
- }>;
1180
+ declare function getDisplayMedia(constraints?: DisplayMediaStreamOptions, contentHint?: string): Promise<MediaStream>;
1181
+ declare function compareLocalDevices(before: MediaDeviceInfo[], after: MediaDeviceInfo[]): any;
1197
1182
  declare function getUpdatedDevices({ oldDevices, newDevices, currentAudioId, currentVideoId, currentSpeakerId, }: {
1198
1183
  oldDevices: MediaDeviceInfo[];
1199
1184
  newDevices: MediaDeviceInfo[];
1200
- currentAudioId?: string;
1201
- currentVideoId?: string;
1202
- currentSpeakerId?: string;
1185
+ currentAudioId?: string | undefined;
1186
+ currentVideoId?: string | undefined;
1187
+ currentSpeakerId?: string | undefined;
1203
1188
  }): GetUpdatedDevicesResult;
1204
1189
 
1205
1190
  interface P2PSessionOptions {
@@ -1629,7 +1614,7 @@ declare class VegaRtcManager implements RtcManager {
1629
1614
  _roomSessionId: any;
1630
1615
  _emitter: any;
1631
1616
  _serverSocket: ServerSocket;
1632
- _webrtcProvider: WebRTCProvider;
1617
+ _webrtcProvider: any;
1633
1618
  _features: any;
1634
1619
  _eventClaim?: any;
1635
1620
  _vegaConnection: VegaConnection | null;
@@ -1958,4 +1943,4 @@ declare const STREAM_TYPES: {
1958
1943
  };
1959
1944
 
1960
1945
  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, 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, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
1961
- export type { AddCameraStreamOptions, AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, BuildDeviceListOptions, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetSettingsFromTrackResult, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveScreenshareStreamOptions, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomEmptyError, RoomFullError, RoomJoinPermissionDeniedError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceCandidateMessage, SignalIceEndOfCandidatesMessage, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRTCSessionDescription, SignalReadyToReceiveOfferMessage, SignalRequests, SignalRoom, SignalSDPMessage, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UniqueRoleAlreadyInRoomError, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, WebRTCProvider };
1946
+ export type { AddCameraStreamOptions, 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, RemoveScreenshareStreamOptions, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomEmptyError, RoomFullError, RoomJoinPermissionDeniedError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceCandidateMessage, SignalIceEndOfCandidatesMessage, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRTCSessionDescription, SignalReadyToReceiveOfferMessage, SignalRequests, SignalRoom, SignalSDPMessage, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UniqueRoleAlreadyInRoomError, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, WebRTCProvider };
package/dist/index.d.mts CHANGED
@@ -1057,9 +1057,7 @@ type SignalIceEndOfCandidatesMessage = {
1057
1057
  clientId: string;
1058
1058
  };
1059
1059
  interface WebRTCProvider {
1060
- getMediaConstraints: () => GetConstraintsOptions;
1061
- browser?: string;
1062
- version?: number;
1060
+ getMediaConstraints: () => MediaStreamConstraints;
1063
1061
  }
1064
1062
  type GetMediaConstraintsOptions = {
1065
1063
  disableAEC: boolean;
@@ -1067,32 +1065,27 @@ type GetMediaConstraintsOptions = {
1067
1065
  hd: boolean;
1068
1066
  lax: boolean;
1069
1067
  lowDataMode: boolean;
1070
- audioWanted: boolean;
1071
- videoWanted: boolean;
1072
1068
  preferredDeviceIds: {
1073
- audioId?: {
1074
- ideal?: string;
1075
- exact?: string;
1069
+ audioId?: boolean | string | null | {
1070
+ ideal?: string | null;
1071
+ exact?: string | null;
1076
1072
  };
1077
- videoId?: {
1078
- ideal?: string;
1079
- exact?: string;
1073
+ videoId?: boolean | string | null | {
1074
+ ideal?: string | null;
1075
+ exact?: string | null;
1080
1076
  };
1081
1077
  };
1082
1078
  resolution?: string;
1083
1079
  simulcast: boolean;
1084
1080
  widescreen: boolean;
1081
+ usingAspectRatio16x9: boolean;
1085
1082
  };
1086
- interface GetSettingsFromTrackResult extends Omit<MediaTrackSettings, "deviceId"> {
1087
- deviceId?: string;
1088
- label?: string;
1089
- }
1090
1083
  type GetConstraintsOptions = {
1091
1084
  devices: MediaDeviceInfo[];
1092
1085
  audioId?: boolean | string;
1093
1086
  videoId?: boolean | string;
1094
1087
  type?: "ideal" | "exact";
1095
- options: Omit<GetMediaConstraintsOptions, "preferredDeviceIds" | "audioWanted" | "videoWanted">;
1088
+ options: Omit<GetMediaConstraintsOptions, "preferredDeviceIds">;
1096
1089
  };
1097
1090
  type GetStreamOptions = {
1098
1091
  replaceStream?: MediaStream;
@@ -1103,13 +1096,8 @@ type GetStreamResult = {
1103
1096
  replacedTracks?: MediaStreamTrack[];
1104
1097
  stream: MediaStream;
1105
1098
  };
1106
- interface BuildDeviceListOptions {
1107
- devices: MediaDeviceInfo[];
1108
- busyDeviceIds: string[];
1109
- kind: MediaDeviceKind;
1110
- }
1111
1099
  type UpdatedDeviceInfo = {
1112
- deviceId?: string;
1100
+ deviceId?: string | null;
1113
1101
  kind?: MediaDeviceKind;
1114
1102
  label?: string;
1115
1103
  };
@@ -1124,8 +1112,16 @@ type GetUpdatedDevicesResult = {
1124
1112
  removedDevices: UpdatedDevicesInfo;
1125
1113
  };
1126
1114
  type GetDeviceDataResult = {
1127
- audio: GetSettingsFromTrackResult;
1128
- video: GetSettingsFromTrackResult;
1115
+ audio: {
1116
+ deviceId: string;
1117
+ label: string;
1118
+ kind: string;
1119
+ };
1120
+ video: {
1121
+ deviceId: string;
1122
+ label: string;
1123
+ kind: string;
1124
+ };
1129
1125
  };
1130
1126
  type SignalIceServer = {
1131
1127
  credential: string;
@@ -1159,47 +1155,36 @@ interface RemoveScreenshareStreamOptions {
1159
1155
  requestedByClientId?: string;
1160
1156
  }
1161
1157
 
1162
- declare function getMediaConstraints({ audioWanted, videoWanted, disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): MediaStreamConstraints;
1163
- declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): MediaStreamConstraints;
1158
+ declare function getMediaConstraints({ disableAEC, disableAGC, hd, lax, lowDataMode, preferredDeviceIds, resolution, simulcast, widescreen, }: GetMediaConstraintsOptions): any;
1159
+ declare function getConstraints({ devices, videoId, audioId, options, type }: GetConstraintsOptions): any;
1164
1160
 
1165
1161
  declare const isMobile: boolean;
1166
1162
  declare class NoDevicesError extends Error {
1167
1163
  constructor(...args: any);
1168
1164
  }
1169
1165
  declare function enumerate(): Promise<MediaDeviceInfo[]>;
1170
- declare function buildDeviceList({ busyDeviceIds, devices, kind }: BuildDeviceListOptions): {
1171
- [x: string]: string | boolean;
1172
- label: string;
1173
- busy: boolean;
1174
- }[] | {
1175
- [x: string]: string;
1176
- label: string;
1177
- }[];
1178
- declare function getUserMedia(constraints: MediaStreamConstraints): Promise<MediaStream>;
1166
+ declare function buildDeviceList({ busyDeviceIds, devices, kind }: any): any;
1167
+ declare function getUserMedia(constraints: any): Promise<MediaStream>;
1179
1168
  declare function getDeviceData({ audioTrack, videoTrack, devices, stoppedVideoTrack, lastAudioId, lastVideoId, }: {
1180
- audioTrack?: MediaStreamTrack;
1181
- videoTrack?: MediaStreamTrack;
1169
+ audioTrack?: MediaStreamTrack | null;
1170
+ videoTrack?: MediaStreamTrack | null;
1182
1171
  devices: MediaDeviceInfo[];
1183
- stoppedVideoTrack?: MediaStreamTrack;
1172
+ stoppedVideoTrack?: boolean;
1184
1173
  lastAudioId?: string | undefined;
1185
1174
  lastVideoId?: string | undefined;
1186
1175
  }): GetDeviceDataResult;
1187
1176
  declare function stopStreamTracks(stream: MediaStream, only?: "audio" | "video" | false): void;
1188
1177
  declare function replaceTracksInStream(stream: MediaStream, newStream: MediaStream, only: "audio" | "video" | false): MediaStreamTrack[];
1189
- declare function getStream(constraintOpt: GetConstraintsOptions, { replaceStream, fallback }?: GetStreamOptions): Promise<GetStreamResult>;
1178
+ declare function getStream(constraintOpt: any, { replaceStream, fallback }?: GetStreamOptions): Promise<GetStreamResult>;
1190
1179
  declare function hasGetDisplayMedia(): boolean;
1191
- declare function getDisplayMedia(constraints?: DisplayMediaStreamOptions, contentHint?: "detail" | "motion" | "text"): Promise<MediaStream>;
1192
- declare function compareLocalDevices(before: MediaDeviceInfo[], after: MediaDeviceInfo[]): Record<MediaDeviceKind, {
1193
- removed: Record<string, MediaDeviceInfo>;
1194
- added: Record<string, MediaDeviceInfo>;
1195
- changed: Record<string, MediaDeviceInfo>;
1196
- }>;
1180
+ declare function getDisplayMedia(constraints?: DisplayMediaStreamOptions, contentHint?: string): Promise<MediaStream>;
1181
+ declare function compareLocalDevices(before: MediaDeviceInfo[], after: MediaDeviceInfo[]): any;
1197
1182
  declare function getUpdatedDevices({ oldDevices, newDevices, currentAudioId, currentVideoId, currentSpeakerId, }: {
1198
1183
  oldDevices: MediaDeviceInfo[];
1199
1184
  newDevices: MediaDeviceInfo[];
1200
- currentAudioId?: string;
1201
- currentVideoId?: string;
1202
- currentSpeakerId?: string;
1185
+ currentAudioId?: string | undefined;
1186
+ currentVideoId?: string | undefined;
1187
+ currentSpeakerId?: string | undefined;
1203
1188
  }): GetUpdatedDevicesResult;
1204
1189
 
1205
1190
  interface P2PSessionOptions {
@@ -1629,7 +1614,7 @@ declare class VegaRtcManager implements RtcManager {
1629
1614
  _roomSessionId: any;
1630
1615
  _emitter: any;
1631
1616
  _serverSocket: ServerSocket;
1632
- _webrtcProvider: WebRTCProvider;
1617
+ _webrtcProvider: any;
1633
1618
  _features: any;
1634
1619
  _eventClaim?: any;
1635
1620
  _vegaConnection: VegaConnection | null;
@@ -1958,4 +1943,4 @@ declare const STREAM_TYPES: {
1958
1943
  };
1959
1944
 
1960
1945
  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, 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, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
1961
- export type { AddCameraStreamOptions, AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, BuildDeviceListOptions, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetSettingsFromTrackResult, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveScreenshareStreamOptions, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomEmptyError, RoomFullError, RoomJoinPermissionDeniedError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceCandidateMessage, SignalIceEndOfCandidatesMessage, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRTCSessionDescription, SignalReadyToReceiveOfferMessage, SignalRequests, SignalRoom, SignalSDPMessage, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UniqueRoleAlreadyInRoomError, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, WebRTCProvider };
1946
+ export type { AddCameraStreamOptions, 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, RemoveScreenshareStreamOptions, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomEmptyError, RoomFullError, RoomJoinPermissionDeniedError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceCandidateMessage, SignalIceEndOfCandidatesMessage, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRTCSessionDescription, SignalReadyToReceiveOfferMessage, SignalRequests, SignalRoom, SignalSDPMessage, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UniqueRoleAlreadyInRoomError, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, WebRTCProvider };