@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 +10 -7
- package/dist/index.d.cts +6 -2
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.mjs +10 -7
- package/dist/legacy-esm.js +10 -7
- package/package.json +1 -1
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,
|
|
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
|
-
|
|
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 = ({
|
|
334
|
-
if (
|
|
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.
|
|
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
|
-
|
|
5260
|
-
return
|
|
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
|
-
},
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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 = ({
|
|
313
|
-
if (
|
|
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.
|
|
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
|
-
|
|
5239
|
-
return
|
|
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/dist/legacy-esm.js
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,
|
|
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
|
-
|
|
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 = ({
|
|
313
|
-
if (
|
|
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.
|
|
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
|
-
|
|
5239
|
-
return
|
|
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);
|