@whereby.com/media 2.4.0 → 2.5.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
@@ -297,7 +297,7 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
297
297
  { scaleResolutionDownBy: 1, dtx: true, maxBitrate: 1500000 },
298
298
  ],
299
299
  };
300
- const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
300
+ const getMediaSettings = (kind, isScreenShare, features, areTooManyAlreadyPresenting = false) => {
301
301
  var _a;
302
302
  const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
303
303
  if (kind === "audio") {
@@ -307,7 +307,7 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
307
307
  const isVp9Available = isChrome && vp9On;
308
308
  if (isScreenShare) {
309
309
  return getScreenShareMediaSettings({
310
- isSomeoneAlreadyPresenting,
310
+ areTooManyAlreadyPresenting,
311
311
  simulcastScreenshareOn,
312
312
  });
313
313
  }
@@ -330,8 +330,8 @@ const getCameraMediaSettings = ({ lowBandwidth, isVp9Available, }) => {
330
330
  }
331
331
  return VIDEO_SETTINGS_HD;
332
332
  };
333
- const getScreenShareMediaSettings = ({ isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
334
- if (isSomeoneAlreadyPresenting) {
333
+ const getScreenShareMediaSettings = ({ areTooManyAlreadyPresenting, simulcastScreenshareOn, }) => {
334
+ if (areTooManyAlreadyPresenting) {
335
335
  return ADDITIONAL_SCREEN_SHARE_SETTINGS;
336
336
  }
337
337
  if (simulcastScreenshareOn)
@@ -1258,6 +1258,8 @@ const PROTOCOL_RESPONSES = {
1258
1258
  CLIENT_UNABLE_TO_JOIN: "client_unable_to_join",
1259
1259
  LIVE_TRANSCRIPTION_STARTED: "live_transcription_started",
1260
1260
  LIVE_TRANSCRIPTION_STOPPED: "live_transcription_stopped",
1261
+ LIVE_CAPTIONS_STARTED: "live_captions_started",
1262
+ LIVE_CAPTIONS_STOPPED: "live_captions_stopped",
1261
1263
  };
1262
1264
  const PROTOCOL_ERRORS = {
1263
1265
  CANNOT_INVITE_YOURSELF: "cannot_invite_yourself",
@@ -5122,7 +5124,7 @@ class VegaRtcManager {
5122
5124
  const codec = this._features.sfuVp9On
5123
5125
  ? (_b = (_a = this._routerRtpCapabilities) === null || _a === void 0 ? void 0 : _a.codecs) === null || _b === void 0 ? void 0 : _b.find((codec) => codec.mimeType.match(/vp8/i))
5124
5126
  : undefined;
5125
- const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getIsSomeoneAlreadyPresenting())), { appData: {
5127
+ const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getAreTooManyAlreadyPresenting())), { appData: {
5126
5128
  streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
5127
5129
  sourceClientId: this._selfId,
5128
5130
  screenShare: true,
@@ -5256,8 +5258,9 @@ class VegaRtcManager {
5256
5258
  producer.appData.localClosed = true;
5257
5259
  producer.close();
5258
5260
  }
5259
- _getIsSomeoneAlreadyPresenting() {
5260
- return !![...this._clientStates.values()].find((state) => state.hasAcceptedScreenStream && state.screenStream);
5261
+ _getAreTooManyAlreadyPresenting() {
5262
+ return ([...this._clientStates.values()].filter((state) => state.hasAcceptedScreenStream && state.screenStream)
5263
+ .length >= 3);
5261
5264
  }
5262
5265
  isInitializedWith({ selfId, roomName, isSfu }) {
5263
5266
  return this._selfId === selfId && this._room.name === roomName && Boolean(isSfu);
package/dist/index.d.cts CHANGED
@@ -717,7 +717,7 @@ declare const getMediaSettings: (kind: string, isScreenShare: boolean, features:
717
717
  lowDataModeEnabled?: boolean;
718
718
  simulcastScreenshareOn?: boolean;
719
719
  vp9On?: boolean;
720
- }, isSomeoneAlreadyPresenting?: boolean) => {
720
+ }, areTooManyAlreadyPresenting?: boolean) => {
721
721
  encodings: {}[];
722
722
  };
723
723
  declare const modifyMediaCapabilities: (routerRtpCapabilities: RtpCapabilities, features: {
@@ -1109,6 +1109,8 @@ interface SignalEvents {
1109
1109
  video_enable_requested: VideoEnableRequestedEvent;
1110
1110
  live_transcription_started: LiveTranscriptionStartedEvent;
1111
1111
  live_transcription_stopped: LiveTranscriptionStoppedEvent;
1112
+ live_captions_started: void;
1113
+ live_captions_stopped: void;
1112
1114
  }
1113
1115
  interface IdentifyDeviceRequest {
1114
1116
  deviceCredentials: Credentials;
@@ -1592,7 +1594,7 @@ declare class VegaRtcManager implements RtcManager {
1592
1594
  _replaceScreenAudioTrack(): Promise<void>;
1593
1595
  _sendScreenAudio(track: MediaStreamTrack): Promise<void>;
1594
1596
  _stopProducer(producer: any): void;
1595
- _getIsSomeoneAlreadyPresenting(): boolean;
1597
+ _getAreTooManyAlreadyPresenting(): boolean;
1596
1598
  isInitializedWith({ selfId, roomName, isSfu }: {
1597
1599
  selfId: string;
1598
1600
  roomName: string;
@@ -1759,6 +1761,8 @@ declare const PROTOCOL_RESPONSES: {
1759
1761
  CLIENT_UNABLE_TO_JOIN: string;
1760
1762
  LIVE_TRANSCRIPTION_STARTED: string;
1761
1763
  LIVE_TRANSCRIPTION_STOPPED: string;
1764
+ LIVE_CAPTIONS_STARTED: string;
1765
+ LIVE_CAPTIONS_STOPPED: string;
1762
1766
  };
1763
1767
  declare const PROTOCOL_ERRORS: {
1764
1768
  CANNOT_INVITE_YOURSELF: string;
package/dist/index.d.mts CHANGED
@@ -717,7 +717,7 @@ declare const getMediaSettings: (kind: string, isScreenShare: boolean, features:
717
717
  lowDataModeEnabled?: boolean;
718
718
  simulcastScreenshareOn?: boolean;
719
719
  vp9On?: boolean;
720
- }, isSomeoneAlreadyPresenting?: boolean) => {
720
+ }, areTooManyAlreadyPresenting?: boolean) => {
721
721
  encodings: {}[];
722
722
  };
723
723
  declare const modifyMediaCapabilities: (routerRtpCapabilities: RtpCapabilities, features: {
@@ -1109,6 +1109,8 @@ interface SignalEvents {
1109
1109
  video_enable_requested: VideoEnableRequestedEvent;
1110
1110
  live_transcription_started: LiveTranscriptionStartedEvent;
1111
1111
  live_transcription_stopped: LiveTranscriptionStoppedEvent;
1112
+ live_captions_started: void;
1113
+ live_captions_stopped: void;
1112
1114
  }
1113
1115
  interface IdentifyDeviceRequest {
1114
1116
  deviceCredentials: Credentials;
@@ -1592,7 +1594,7 @@ declare class VegaRtcManager implements RtcManager {
1592
1594
  _replaceScreenAudioTrack(): Promise<void>;
1593
1595
  _sendScreenAudio(track: MediaStreamTrack): Promise<void>;
1594
1596
  _stopProducer(producer: any): void;
1595
- _getIsSomeoneAlreadyPresenting(): boolean;
1597
+ _getAreTooManyAlreadyPresenting(): boolean;
1596
1598
  isInitializedWith({ selfId, roomName, isSfu }: {
1597
1599
  selfId: string;
1598
1600
  roomName: string;
@@ -1759,6 +1761,8 @@ declare const PROTOCOL_RESPONSES: {
1759
1761
  CLIENT_UNABLE_TO_JOIN: string;
1760
1762
  LIVE_TRANSCRIPTION_STARTED: string;
1761
1763
  LIVE_TRANSCRIPTION_STOPPED: string;
1764
+ LIVE_CAPTIONS_STARTED: string;
1765
+ LIVE_CAPTIONS_STOPPED: string;
1762
1766
  };
1763
1767
  declare const PROTOCOL_ERRORS: {
1764
1768
  CANNOT_INVITE_YOURSELF: string;
package/dist/index.d.ts CHANGED
@@ -717,7 +717,7 @@ declare const getMediaSettings: (kind: string, isScreenShare: boolean, features:
717
717
  lowDataModeEnabled?: boolean;
718
718
  simulcastScreenshareOn?: boolean;
719
719
  vp9On?: boolean;
720
- }, isSomeoneAlreadyPresenting?: boolean) => {
720
+ }, areTooManyAlreadyPresenting?: boolean) => {
721
721
  encodings: {}[];
722
722
  };
723
723
  declare const modifyMediaCapabilities: (routerRtpCapabilities: RtpCapabilities, features: {
@@ -1109,6 +1109,8 @@ interface SignalEvents {
1109
1109
  video_enable_requested: VideoEnableRequestedEvent;
1110
1110
  live_transcription_started: LiveTranscriptionStartedEvent;
1111
1111
  live_transcription_stopped: LiveTranscriptionStoppedEvent;
1112
+ live_captions_started: void;
1113
+ live_captions_stopped: void;
1112
1114
  }
1113
1115
  interface IdentifyDeviceRequest {
1114
1116
  deviceCredentials: Credentials;
@@ -1592,7 +1594,7 @@ declare class VegaRtcManager implements RtcManager {
1592
1594
  _replaceScreenAudioTrack(): Promise<void>;
1593
1595
  _sendScreenAudio(track: MediaStreamTrack): Promise<void>;
1594
1596
  _stopProducer(producer: any): void;
1595
- _getIsSomeoneAlreadyPresenting(): boolean;
1597
+ _getAreTooManyAlreadyPresenting(): boolean;
1596
1598
  isInitializedWith({ selfId, roomName, isSfu }: {
1597
1599
  selfId: string;
1598
1600
  roomName: string;
@@ -1759,6 +1761,8 @@ declare const PROTOCOL_RESPONSES: {
1759
1761
  CLIENT_UNABLE_TO_JOIN: string;
1760
1762
  LIVE_TRANSCRIPTION_STARTED: string;
1761
1763
  LIVE_TRANSCRIPTION_STOPPED: string;
1764
+ LIVE_CAPTIONS_STARTED: string;
1765
+ LIVE_CAPTIONS_STOPPED: string;
1762
1766
  };
1763
1767
  declare const PROTOCOL_ERRORS: {
1764
1768
  CANNOT_INVITE_YOURSELF: string;
package/dist/index.mjs CHANGED
@@ -276,7 +276,7 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
276
276
  { scaleResolutionDownBy: 1, dtx: true, maxBitrate: 1500000 },
277
277
  ],
278
278
  };
279
- const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
279
+ const getMediaSettings = (kind, isScreenShare, features, areTooManyAlreadyPresenting = false) => {
280
280
  var _a;
281
281
  const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
282
282
  if (kind === "audio") {
@@ -286,7 +286,7 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
286
286
  const isVp9Available = isChrome && vp9On;
287
287
  if (isScreenShare) {
288
288
  return getScreenShareMediaSettings({
289
- isSomeoneAlreadyPresenting,
289
+ areTooManyAlreadyPresenting,
290
290
  simulcastScreenshareOn,
291
291
  });
292
292
  }
@@ -309,8 +309,8 @@ const getCameraMediaSettings = ({ lowBandwidth, isVp9Available, }) => {
309
309
  }
310
310
  return VIDEO_SETTINGS_HD;
311
311
  };
312
- const getScreenShareMediaSettings = ({ isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
313
- if (isSomeoneAlreadyPresenting) {
312
+ const getScreenShareMediaSettings = ({ areTooManyAlreadyPresenting, simulcastScreenshareOn, }) => {
313
+ if (areTooManyAlreadyPresenting) {
314
314
  return ADDITIONAL_SCREEN_SHARE_SETTINGS;
315
315
  }
316
316
  if (simulcastScreenshareOn)
@@ -1237,6 +1237,8 @@ const PROTOCOL_RESPONSES = {
1237
1237
  CLIENT_UNABLE_TO_JOIN: "client_unable_to_join",
1238
1238
  LIVE_TRANSCRIPTION_STARTED: "live_transcription_started",
1239
1239
  LIVE_TRANSCRIPTION_STOPPED: "live_transcription_stopped",
1240
+ LIVE_CAPTIONS_STARTED: "live_captions_started",
1241
+ LIVE_CAPTIONS_STOPPED: "live_captions_stopped",
1240
1242
  };
1241
1243
  const PROTOCOL_ERRORS = {
1242
1244
  CANNOT_INVITE_YOURSELF: "cannot_invite_yourself",
@@ -5101,7 +5103,7 @@ class VegaRtcManager {
5101
5103
  const codec = this._features.sfuVp9On
5102
5104
  ? (_b = (_a = this._routerRtpCapabilities) === null || _a === void 0 ? void 0 : _a.codecs) === null || _b === void 0 ? void 0 : _b.find((codec) => codec.mimeType.match(/vp8/i))
5103
5105
  : undefined;
5104
- const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getIsSomeoneAlreadyPresenting())), { appData: {
5106
+ const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getAreTooManyAlreadyPresenting())), { appData: {
5105
5107
  streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
5106
5108
  sourceClientId: this._selfId,
5107
5109
  screenShare: true,
@@ -5235,8 +5237,9 @@ class VegaRtcManager {
5235
5237
  producer.appData.localClosed = true;
5236
5238
  producer.close();
5237
5239
  }
5238
- _getIsSomeoneAlreadyPresenting() {
5239
- return !![...this._clientStates.values()].find((state) => state.hasAcceptedScreenStream && state.screenStream);
5240
+ _getAreTooManyAlreadyPresenting() {
5241
+ return ([...this._clientStates.values()].filter((state) => state.hasAcceptedScreenStream && state.screenStream)
5242
+ .length >= 3);
5240
5243
  }
5241
5244
  isInitializedWith({ selfId, roomName, isSfu }) {
5242
5245
  return this._selfId === selfId && this._room.name === roomName && Boolean(isSfu);
@@ -276,7 +276,7 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
276
276
  { scaleResolutionDownBy: 1, dtx: true, maxBitrate: 1500000 },
277
277
  ],
278
278
  };
279
- const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
279
+ const getMediaSettings = (kind, isScreenShare, features, areTooManyAlreadyPresenting = false) => {
280
280
  var _a;
281
281
  const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
282
282
  if (kind === "audio") {
@@ -286,7 +286,7 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
286
286
  const isVp9Available = isChrome && vp9On;
287
287
  if (isScreenShare) {
288
288
  return getScreenShareMediaSettings({
289
- isSomeoneAlreadyPresenting,
289
+ areTooManyAlreadyPresenting,
290
290
  simulcastScreenshareOn,
291
291
  });
292
292
  }
@@ -309,8 +309,8 @@ const getCameraMediaSettings = ({ lowBandwidth, isVp9Available, }) => {
309
309
  }
310
310
  return VIDEO_SETTINGS_HD;
311
311
  };
312
- const getScreenShareMediaSettings = ({ isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
313
- if (isSomeoneAlreadyPresenting) {
312
+ const getScreenShareMediaSettings = ({ areTooManyAlreadyPresenting, simulcastScreenshareOn, }) => {
313
+ if (areTooManyAlreadyPresenting) {
314
314
  return ADDITIONAL_SCREEN_SHARE_SETTINGS;
315
315
  }
316
316
  if (simulcastScreenshareOn)
@@ -1237,6 +1237,8 @@ const PROTOCOL_RESPONSES = {
1237
1237
  CLIENT_UNABLE_TO_JOIN: "client_unable_to_join",
1238
1238
  LIVE_TRANSCRIPTION_STARTED: "live_transcription_started",
1239
1239
  LIVE_TRANSCRIPTION_STOPPED: "live_transcription_stopped",
1240
+ LIVE_CAPTIONS_STARTED: "live_captions_started",
1241
+ LIVE_CAPTIONS_STOPPED: "live_captions_stopped",
1240
1242
  };
1241
1243
  const PROTOCOL_ERRORS = {
1242
1244
  CANNOT_INVITE_YOURSELF: "cannot_invite_yourself",
@@ -5101,7 +5103,7 @@ class VegaRtcManager {
5101
5103
  const codec = this._features.sfuVp9On
5102
5104
  ? (_b = (_a = this._routerRtpCapabilities) === null || _a === void 0 ? void 0 : _a.codecs) === null || _b === void 0 ? void 0 : _b.find((codec) => codec.mimeType.match(/vp8/i))
5103
5105
  : undefined;
5104
- const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getIsSomeoneAlreadyPresenting())), { appData: {
5106
+ const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getAreTooManyAlreadyPresenting())), { appData: {
5105
5107
  streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
5106
5108
  sourceClientId: this._selfId,
5107
5109
  screenShare: true,
@@ -5235,8 +5237,9 @@ class VegaRtcManager {
5235
5237
  producer.appData.localClosed = true;
5236
5238
  producer.close();
5237
5239
  }
5238
- _getIsSomeoneAlreadyPresenting() {
5239
- return !![...this._clientStates.values()].find((state) => state.hasAcceptedScreenStream && state.screenStream);
5240
+ _getAreTooManyAlreadyPresenting() {
5241
+ return ([...this._clientStates.values()].filter((state) => state.hasAcceptedScreenStream && state.screenStream)
5242
+ .length >= 3);
5240
5243
  }
5241
5244
  isInitializedWith({ selfId, roomName, isSfu }) {
5242
5245
  return this._selfId === selfId && this._room.name === roomName && Boolean(isSfu);
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.4.0",
4
+ "version": "2.5.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/whereby/sdk",
7
7
  "repository": {