@whereby.com/media 2.8.4 → 2.8.6
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 +51 -21
- package/dist/index.d.cts +19 -13
- package/dist/index.d.mts +19 -13
- package/dist/index.d.ts +19 -13
- package/dist/index.mjs +51 -21
- package/dist/legacy-esm.js +51 -21
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2019,7 +2019,7 @@ const adapter$5 = (_a$5 = adapterRaw.default) !== null && _a$5 !== void 0 ? _a$5
|
|
|
2019
2019
|
const logger$8 = new Logger();
|
|
2020
2020
|
const browserName$2 = (_b$2 = adapter$5.browserDetails) === null || _b$2 === void 0 ? void 0 : _b$2.browser;
|
|
2021
2021
|
const browserVersion$1 = adapter$5.browserDetails.version;
|
|
2022
|
-
function setCodecPreferenceSDP(sdp, redOn) {
|
|
2022
|
+
function setCodecPreferenceSDP({ sdp, redOn, incrementAnalyticMetric }) {
|
|
2023
2023
|
var _a, _b;
|
|
2024
2024
|
try {
|
|
2025
2025
|
const sdpObject = sdpTransform__namespace.parse(sdp);
|
|
@@ -2057,7 +2057,10 @@ function setCodecPreferenceSDP(sdp, redOn) {
|
|
|
2057
2057
|
return newSdp;
|
|
2058
2058
|
}
|
|
2059
2059
|
catch (error) {
|
|
2060
|
+
incrementAnalyticMetric("P2PSetCodecPreferenceError");
|
|
2061
|
+
rtcStats.sendEvent("P2PSetCodecPreferenceError", { error });
|
|
2060
2062
|
logger$8.error("setCodecPreferenceSDP error:", error);
|
|
2063
|
+
return sdp;
|
|
2061
2064
|
}
|
|
2062
2065
|
}
|
|
2063
2066
|
function cleanSdp(sdp) {
|
|
@@ -2345,25 +2348,36 @@ class Session {
|
|
|
2345
2348
|
this.earlyIceCandidates = [];
|
|
2346
2349
|
});
|
|
2347
2350
|
}
|
|
2348
|
-
handleOffer(
|
|
2351
|
+
handleOffer(offer) {
|
|
2349
2352
|
if (!this.canModifyPeerConnection()) {
|
|
2350
2353
|
return new Promise((resolve) => {
|
|
2351
|
-
this.pending.push(() => this.handleOffer(
|
|
2354
|
+
this.pending.push(() => this.handleOffer(offer).then(resolve));
|
|
2352
2355
|
});
|
|
2353
2356
|
}
|
|
2354
2357
|
this.isOperationPending = true;
|
|
2355
|
-
let sdp =
|
|
2358
|
+
let sdp = offer.sdp;
|
|
2356
2359
|
sdp = filterMidExtension(sdp);
|
|
2357
2360
|
sdp = filterMsidSemantic(sdp);
|
|
2358
|
-
const desc = { type:
|
|
2361
|
+
const desc = { type: offer.type, sdp };
|
|
2359
2362
|
let answerToSignal;
|
|
2360
2363
|
return this._setRemoteDescription(desc)
|
|
2361
2364
|
.then(() => {
|
|
2362
2365
|
return this.pc.createAnswer();
|
|
2363
2366
|
})
|
|
2364
2367
|
.then((answer) => {
|
|
2365
|
-
|
|
2366
|
-
|
|
2368
|
+
if (!answer.sdp) {
|
|
2369
|
+
this._incrementAnalyticMetric("P2PCreateAnswerNoSDP");
|
|
2370
|
+
rtcStats.sendEvent("P2PCreateAnswerNoSDP", {});
|
|
2371
|
+
throw new Error("SDP undefined while creating answer");
|
|
2372
|
+
}
|
|
2373
|
+
else {
|
|
2374
|
+
answerToSignal = {
|
|
2375
|
+
sdp: answer.sdp,
|
|
2376
|
+
sdpU: answer.sdp,
|
|
2377
|
+
type: answer.type,
|
|
2378
|
+
};
|
|
2379
|
+
return this.pc.setLocalDescription(answer);
|
|
2380
|
+
}
|
|
2367
2381
|
})
|
|
2368
2382
|
.then(() => {
|
|
2369
2383
|
return setVideoBandwidthUsingSetParameters(this.pc, this.bandwidth);
|
|
@@ -2683,6 +2697,9 @@ class P2pRtcManager {
|
|
|
2683
2697
|
P2PReplaceTrackSourceKindNotFound: 0,
|
|
2684
2698
|
P2PRemoveStreamNoPC: 0,
|
|
2685
2699
|
P2POnTrackNoStream: 0,
|
|
2700
|
+
P2PSetCodecPreferenceError: 0,
|
|
2701
|
+
P2PCreateOfferNoSDP: 0,
|
|
2702
|
+
P2PCreateAnswerNoSDP: 0,
|
|
2686
2703
|
};
|
|
2687
2704
|
}
|
|
2688
2705
|
numberOfPeerconnections() {
|
|
@@ -2803,13 +2820,16 @@ class P2pRtcManager {
|
|
|
2803
2820
|
logger$6.warn("No RTCPeerConnection on SDP_OFFER", data);
|
|
2804
2821
|
return;
|
|
2805
2822
|
}
|
|
2806
|
-
const
|
|
2823
|
+
const sdp = {
|
|
2824
|
+
sdp: data.message.sdp || data.message.sdpU,
|
|
2825
|
+
type: data.message.type,
|
|
2826
|
+
};
|
|
2807
2827
|
(_b = (_a = session
|
|
2808
|
-
.handleOffer(
|
|
2828
|
+
.handleOffer(sdp)
|
|
2809
2829
|
.then((answer) => {
|
|
2810
2830
|
this._emitServerEvent(RELAY_MESSAGES.SDP_ANSWER, {
|
|
2811
2831
|
receiverId: data.clientId,
|
|
2812
|
-
message:
|
|
2832
|
+
message: answer,
|
|
2813
2833
|
});
|
|
2814
2834
|
})).catch) === null || _b === void 0 ? void 0 : _b.call(_a, (e) => {
|
|
2815
2835
|
this.analytics.numPcOnOfferFailure++;
|
|
@@ -2822,8 +2842,11 @@ class P2pRtcManager {
|
|
|
2822
2842
|
logger$6.warn("No RTCPeerConnection on SDP_ANSWER", data);
|
|
2823
2843
|
return;
|
|
2824
2844
|
}
|
|
2825
|
-
const
|
|
2826
|
-
|
|
2845
|
+
const sdp = {
|
|
2846
|
+
sdp: data.message.sdp || data.message.sdpU,
|
|
2847
|
+
type: data.message.type,
|
|
2848
|
+
};
|
|
2849
|
+
(_b = (_a = session.handleAnswer(sdp)) === null || _a === void 0 ? void 0 : _a.catch) === null || _b === void 0 ? void 0 : _b.call(_a, (e) => {
|
|
2827
2850
|
logger$6.warn("Could not set remote description from remote answer: ", e);
|
|
2828
2851
|
this.analytics.numPcOnAnswerFailure++;
|
|
2829
2852
|
});
|
|
@@ -3002,13 +3025,6 @@ class P2pRtcManager {
|
|
|
3002
3025
|
const streamIds = this._getNonLocalCameraStreamIds();
|
|
3003
3026
|
return streamIds.length === 0 ? null : this.localStreams[streamIds[0]];
|
|
3004
3027
|
}
|
|
3005
|
-
_transformIncomingSdp(original) {
|
|
3006
|
-
const sdp = original.sdp ? original.sdp : original.sdpU;
|
|
3007
|
-
return { type: original.type, sdp };
|
|
3008
|
-
}
|
|
3009
|
-
_transformOutgoingSdp(original) {
|
|
3010
|
-
return { type: original.type, sdpU: original.sdp, sdp: original.sdp };
|
|
3011
|
-
}
|
|
3012
3028
|
_createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }) {
|
|
3013
3029
|
if (!peerConnectionId) {
|
|
3014
3030
|
throw new Error("peerConnectionId is missing");
|
|
@@ -3373,10 +3389,19 @@ class P2pRtcManager {
|
|
|
3373
3389
|
this._setCodecPreferences(pc).then(() => pc
|
|
3374
3390
|
.createOffer(constraints || this.offerOptions)
|
|
3375
3391
|
.then((offer) => {
|
|
3392
|
+
if (!offer.sdp) {
|
|
3393
|
+
this.analytics.P2PCreateOfferNoSDP++;
|
|
3394
|
+
rtcStats.sendEvent("P2PCreateOfferNoSDP", {});
|
|
3395
|
+
throw new Error("SDP undefined while creating offer");
|
|
3396
|
+
}
|
|
3376
3397
|
if (rtpAbsCaptureTimeOn)
|
|
3377
3398
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3378
3399
|
if (browserName$1 === "firefox") {
|
|
3379
|
-
offer.sdp = setCodecPreferenceSDP(
|
|
3400
|
+
offer.sdp = setCodecPreferenceSDP({
|
|
3401
|
+
sdp: offer.sdp,
|
|
3402
|
+
redOn,
|
|
3403
|
+
incrementAnalyticMetric: (metric) => this.analytics[metric]++,
|
|
3404
|
+
});
|
|
3380
3405
|
}
|
|
3381
3406
|
if (cleanSdpOn)
|
|
3382
3407
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -3387,9 +3412,14 @@ class P2pRtcManager {
|
|
|
3387
3412
|
throw e;
|
|
3388
3413
|
})
|
|
3389
3414
|
.then(() => {
|
|
3415
|
+
const message = {
|
|
3416
|
+
sdp: offer.sdp,
|
|
3417
|
+
sdpU: offer.sdp,
|
|
3418
|
+
type: offer.type,
|
|
3419
|
+
};
|
|
3390
3420
|
this._emitServerEvent(RELAY_MESSAGES.SDP_OFFER, {
|
|
3391
3421
|
receiverId: clientId,
|
|
3392
|
-
message
|
|
3422
|
+
message,
|
|
3393
3423
|
});
|
|
3394
3424
|
});
|
|
3395
3425
|
})
|
package/dist/index.d.cts
CHANGED
|
@@ -1015,14 +1015,14 @@ type RtcEvents = {
|
|
|
1015
1015
|
remote_stream_track_added: void;
|
|
1016
1016
|
remote_stream_track_removed: void;
|
|
1017
1017
|
};
|
|
1018
|
-
type
|
|
1019
|
-
sdp
|
|
1020
|
-
sdpU
|
|
1018
|
+
type RTCSessionDescription = {
|
|
1019
|
+
sdp?: string;
|
|
1020
|
+
sdpU?: string;
|
|
1021
1021
|
type: RTCSdpType;
|
|
1022
1022
|
};
|
|
1023
1023
|
type SDPRelayMessage = {
|
|
1024
1024
|
clientId: string;
|
|
1025
|
-
message:
|
|
1025
|
+
message: RTCSessionDescription;
|
|
1026
1026
|
};
|
|
1027
1027
|
type GetMediaConstraintsOptions = {
|
|
1028
1028
|
disableAEC: boolean;
|
|
@@ -1204,9 +1204,9 @@ declare class Session {
|
|
|
1204
1204
|
addTrack(track: MediaStreamTrack, stream?: MediaStream): void;
|
|
1205
1205
|
removeTrack(track: MediaStreamTrack): void;
|
|
1206
1206
|
removeStream(stream: MediaStream): void;
|
|
1207
|
-
_setRemoteDescription(desc:
|
|
1208
|
-
handleOffer(
|
|
1209
|
-
handleAnswer(message: RTCSessionDescription):
|
|
1207
|
+
_setRemoteDescription(desc: RTCSessionDescription): Promise<void>;
|
|
1208
|
+
handleOffer(offer: RTCSessionDescription): Promise<RTCSessionDescription>;
|
|
1209
|
+
handleAnswer(message: RTCSessionDescription): Promise<void>;
|
|
1210
1210
|
addIceCandidate(candidate: any): void;
|
|
1211
1211
|
canModifyPeerConnection(): boolean;
|
|
1212
1212
|
close(): void;
|
|
@@ -1252,6 +1252,9 @@ type P2PAnalytics = {
|
|
|
1252
1252
|
P2PReplaceTrackSourceKindNotFound: number;
|
|
1253
1253
|
P2PRemoveStreamNoPC: number;
|
|
1254
1254
|
P2POnTrackNoStream: number;
|
|
1255
|
+
P2PSetCodecPreferenceError: number;
|
|
1256
|
+
P2PCreateOfferNoSDP: number;
|
|
1257
|
+
P2PCreateAnswerNoSDP: number;
|
|
1255
1258
|
};
|
|
1256
1259
|
type P2PAnalyticMetric = keyof P2PAnalytics;
|
|
1257
1260
|
type P2PIncrementAnalyticMetric = (metric: P2PAnalyticMetric) => void;
|
|
@@ -1324,8 +1327,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1324
1327
|
_getNonLocalCameraStreamIds(): string[];
|
|
1325
1328
|
_isScreensharingLocally(): boolean;
|
|
1326
1329
|
_getFirstLocalNonCameraStream(): any;
|
|
1327
|
-
_transformIncomingSdp(original: UnifiedPlanSDP): RTCSessionDescription;
|
|
1328
|
-
_transformOutgoingSdp(original: RTCSessionDescription): UnifiedPlanSDP;
|
|
1329
1330
|
_createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }: {
|
|
1330
1331
|
clientId: string;
|
|
1331
1332
|
initialBandwidth: any;
|
|
@@ -1348,7 +1349,7 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1348
1349
|
_connect(clientId: string): Promise<Session>;
|
|
1349
1350
|
_maybeRestartIce(clientId: string, session: any): void;
|
|
1350
1351
|
_setCodecPreferences(pc: RTCPeerConnection): Promise<void>;
|
|
1351
|
-
_negotiatePeerConnection(clientId: string, session:
|
|
1352
|
+
_negotiatePeerConnection(clientId: string, session: Session, constraints?: any): void;
|
|
1352
1353
|
_withForcedRenegotiation(session: Session, action: any): void;
|
|
1353
1354
|
_changeBandwidthForAllClients(isJoining: boolean): number;
|
|
1354
1355
|
_createP2pSession({ clientId, initialBandwidth, isOfferer, }: {
|
|
@@ -1402,7 +1403,7 @@ declare const _default: {
|
|
|
1402
1403
|
DOMINANT_SPEAKER: string;
|
|
1403
1404
|
};
|
|
1404
1405
|
|
|
1405
|
-
declare function setVideoBandwidthUsingSetParameters(pc:
|
|
1406
|
+
declare function setVideoBandwidthUsingSetParameters(pc: RTCPeerConnection, bandwidth: number, logger?: any): Promise<void>;
|
|
1406
1407
|
|
|
1407
1408
|
declare const rtcStats: {
|
|
1408
1409
|
sendEvent: (type: any, value: any) => void;
|
|
@@ -1417,7 +1418,12 @@ declare const rtcStats: {
|
|
|
1417
1418
|
};
|
|
1418
1419
|
};
|
|
1419
1420
|
|
|
1420
|
-
|
|
1421
|
+
interface SetCodecPreferenceSDPOptions {
|
|
1422
|
+
sdp: string;
|
|
1423
|
+
redOn: boolean;
|
|
1424
|
+
incrementAnalyticMetric: P2PIncrementAnalyticMetric;
|
|
1425
|
+
}
|
|
1426
|
+
declare function setCodecPreferenceSDP({ sdp, redOn, incrementAnalyticMetric }: SetCodecPreferenceSDPOptions): string;
|
|
1421
1427
|
declare function cleanSdp(sdp: string): string;
|
|
1422
1428
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1423
1429
|
declare function deprioritizeH264(sdp: any): string;
|
|
@@ -1924,4 +1930,4 @@ declare const STREAM_TYPES: {
|
|
|
1924
1930
|
};
|
|
1925
1931
|
|
|
1926
1932
|
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
|
1927
|
-
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, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRequests, SignalRoom, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol,
|
|
1933
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RTCSessionDescription, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRequests, SignalRoom, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.d.mts
CHANGED
|
@@ -1015,14 +1015,14 @@ type RtcEvents = {
|
|
|
1015
1015
|
remote_stream_track_added: void;
|
|
1016
1016
|
remote_stream_track_removed: void;
|
|
1017
1017
|
};
|
|
1018
|
-
type
|
|
1019
|
-
sdp
|
|
1020
|
-
sdpU
|
|
1018
|
+
type RTCSessionDescription = {
|
|
1019
|
+
sdp?: string;
|
|
1020
|
+
sdpU?: string;
|
|
1021
1021
|
type: RTCSdpType;
|
|
1022
1022
|
};
|
|
1023
1023
|
type SDPRelayMessage = {
|
|
1024
1024
|
clientId: string;
|
|
1025
|
-
message:
|
|
1025
|
+
message: RTCSessionDescription;
|
|
1026
1026
|
};
|
|
1027
1027
|
type GetMediaConstraintsOptions = {
|
|
1028
1028
|
disableAEC: boolean;
|
|
@@ -1204,9 +1204,9 @@ declare class Session {
|
|
|
1204
1204
|
addTrack(track: MediaStreamTrack, stream?: MediaStream): void;
|
|
1205
1205
|
removeTrack(track: MediaStreamTrack): void;
|
|
1206
1206
|
removeStream(stream: MediaStream): void;
|
|
1207
|
-
_setRemoteDescription(desc:
|
|
1208
|
-
handleOffer(
|
|
1209
|
-
handleAnswer(message: RTCSessionDescription):
|
|
1207
|
+
_setRemoteDescription(desc: RTCSessionDescription): Promise<void>;
|
|
1208
|
+
handleOffer(offer: RTCSessionDescription): Promise<RTCSessionDescription>;
|
|
1209
|
+
handleAnswer(message: RTCSessionDescription): Promise<void>;
|
|
1210
1210
|
addIceCandidate(candidate: any): void;
|
|
1211
1211
|
canModifyPeerConnection(): boolean;
|
|
1212
1212
|
close(): void;
|
|
@@ -1252,6 +1252,9 @@ type P2PAnalytics = {
|
|
|
1252
1252
|
P2PReplaceTrackSourceKindNotFound: number;
|
|
1253
1253
|
P2PRemoveStreamNoPC: number;
|
|
1254
1254
|
P2POnTrackNoStream: number;
|
|
1255
|
+
P2PSetCodecPreferenceError: number;
|
|
1256
|
+
P2PCreateOfferNoSDP: number;
|
|
1257
|
+
P2PCreateAnswerNoSDP: number;
|
|
1255
1258
|
};
|
|
1256
1259
|
type P2PAnalyticMetric = keyof P2PAnalytics;
|
|
1257
1260
|
type P2PIncrementAnalyticMetric = (metric: P2PAnalyticMetric) => void;
|
|
@@ -1324,8 +1327,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1324
1327
|
_getNonLocalCameraStreamIds(): string[];
|
|
1325
1328
|
_isScreensharingLocally(): boolean;
|
|
1326
1329
|
_getFirstLocalNonCameraStream(): any;
|
|
1327
|
-
_transformIncomingSdp(original: UnifiedPlanSDP): RTCSessionDescription;
|
|
1328
|
-
_transformOutgoingSdp(original: RTCSessionDescription): UnifiedPlanSDP;
|
|
1329
1330
|
_createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }: {
|
|
1330
1331
|
clientId: string;
|
|
1331
1332
|
initialBandwidth: any;
|
|
@@ -1348,7 +1349,7 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1348
1349
|
_connect(clientId: string): Promise<Session>;
|
|
1349
1350
|
_maybeRestartIce(clientId: string, session: any): void;
|
|
1350
1351
|
_setCodecPreferences(pc: RTCPeerConnection): Promise<void>;
|
|
1351
|
-
_negotiatePeerConnection(clientId: string, session:
|
|
1352
|
+
_negotiatePeerConnection(clientId: string, session: Session, constraints?: any): void;
|
|
1352
1353
|
_withForcedRenegotiation(session: Session, action: any): void;
|
|
1353
1354
|
_changeBandwidthForAllClients(isJoining: boolean): number;
|
|
1354
1355
|
_createP2pSession({ clientId, initialBandwidth, isOfferer, }: {
|
|
@@ -1402,7 +1403,7 @@ declare const _default: {
|
|
|
1402
1403
|
DOMINANT_SPEAKER: string;
|
|
1403
1404
|
};
|
|
1404
1405
|
|
|
1405
|
-
declare function setVideoBandwidthUsingSetParameters(pc:
|
|
1406
|
+
declare function setVideoBandwidthUsingSetParameters(pc: RTCPeerConnection, bandwidth: number, logger?: any): Promise<void>;
|
|
1406
1407
|
|
|
1407
1408
|
declare const rtcStats: {
|
|
1408
1409
|
sendEvent: (type: any, value: any) => void;
|
|
@@ -1417,7 +1418,12 @@ declare const rtcStats: {
|
|
|
1417
1418
|
};
|
|
1418
1419
|
};
|
|
1419
1420
|
|
|
1420
|
-
|
|
1421
|
+
interface SetCodecPreferenceSDPOptions {
|
|
1422
|
+
sdp: string;
|
|
1423
|
+
redOn: boolean;
|
|
1424
|
+
incrementAnalyticMetric: P2PIncrementAnalyticMetric;
|
|
1425
|
+
}
|
|
1426
|
+
declare function setCodecPreferenceSDP({ sdp, redOn, incrementAnalyticMetric }: SetCodecPreferenceSDPOptions): string;
|
|
1421
1427
|
declare function cleanSdp(sdp: string): string;
|
|
1422
1428
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1423
1429
|
declare function deprioritizeH264(sdp: any): string;
|
|
@@ -1924,4 +1930,4 @@ declare const STREAM_TYPES: {
|
|
|
1924
1930
|
};
|
|
1925
1931
|
|
|
1926
1932
|
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
|
1927
|
-
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, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRequests, SignalRoom, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol,
|
|
1933
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RTCSessionDescription, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRequests, SignalRoom, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.d.ts
CHANGED
|
@@ -1015,14 +1015,14 @@ type RtcEvents = {
|
|
|
1015
1015
|
remote_stream_track_added: void;
|
|
1016
1016
|
remote_stream_track_removed: void;
|
|
1017
1017
|
};
|
|
1018
|
-
type
|
|
1019
|
-
sdp
|
|
1020
|
-
sdpU
|
|
1018
|
+
type RTCSessionDescription = {
|
|
1019
|
+
sdp?: string;
|
|
1020
|
+
sdpU?: string;
|
|
1021
1021
|
type: RTCSdpType;
|
|
1022
1022
|
};
|
|
1023
1023
|
type SDPRelayMessage = {
|
|
1024
1024
|
clientId: string;
|
|
1025
|
-
message:
|
|
1025
|
+
message: RTCSessionDescription;
|
|
1026
1026
|
};
|
|
1027
1027
|
type GetMediaConstraintsOptions = {
|
|
1028
1028
|
disableAEC: boolean;
|
|
@@ -1204,9 +1204,9 @@ declare class Session {
|
|
|
1204
1204
|
addTrack(track: MediaStreamTrack, stream?: MediaStream): void;
|
|
1205
1205
|
removeTrack(track: MediaStreamTrack): void;
|
|
1206
1206
|
removeStream(stream: MediaStream): void;
|
|
1207
|
-
_setRemoteDescription(desc:
|
|
1208
|
-
handleOffer(
|
|
1209
|
-
handleAnswer(message: RTCSessionDescription):
|
|
1207
|
+
_setRemoteDescription(desc: RTCSessionDescription): Promise<void>;
|
|
1208
|
+
handleOffer(offer: RTCSessionDescription): Promise<RTCSessionDescription>;
|
|
1209
|
+
handleAnswer(message: RTCSessionDescription): Promise<void>;
|
|
1210
1210
|
addIceCandidate(candidate: any): void;
|
|
1211
1211
|
canModifyPeerConnection(): boolean;
|
|
1212
1212
|
close(): void;
|
|
@@ -1252,6 +1252,9 @@ type P2PAnalytics = {
|
|
|
1252
1252
|
P2PReplaceTrackSourceKindNotFound: number;
|
|
1253
1253
|
P2PRemoveStreamNoPC: number;
|
|
1254
1254
|
P2POnTrackNoStream: number;
|
|
1255
|
+
P2PSetCodecPreferenceError: number;
|
|
1256
|
+
P2PCreateOfferNoSDP: number;
|
|
1257
|
+
P2PCreateAnswerNoSDP: number;
|
|
1255
1258
|
};
|
|
1256
1259
|
type P2PAnalyticMetric = keyof P2PAnalytics;
|
|
1257
1260
|
type P2PIncrementAnalyticMetric = (metric: P2PAnalyticMetric) => void;
|
|
@@ -1324,8 +1327,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1324
1327
|
_getNonLocalCameraStreamIds(): string[];
|
|
1325
1328
|
_isScreensharingLocally(): boolean;
|
|
1326
1329
|
_getFirstLocalNonCameraStream(): any;
|
|
1327
|
-
_transformIncomingSdp(original: UnifiedPlanSDP): RTCSessionDescription;
|
|
1328
|
-
_transformOutgoingSdp(original: RTCSessionDescription): UnifiedPlanSDP;
|
|
1329
1330
|
_createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }: {
|
|
1330
1331
|
clientId: string;
|
|
1331
1332
|
initialBandwidth: any;
|
|
@@ -1348,7 +1349,7 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1348
1349
|
_connect(clientId: string): Promise<Session>;
|
|
1349
1350
|
_maybeRestartIce(clientId: string, session: any): void;
|
|
1350
1351
|
_setCodecPreferences(pc: RTCPeerConnection): Promise<void>;
|
|
1351
|
-
_negotiatePeerConnection(clientId: string, session:
|
|
1352
|
+
_negotiatePeerConnection(clientId: string, session: Session, constraints?: any): void;
|
|
1352
1353
|
_withForcedRenegotiation(session: Session, action: any): void;
|
|
1353
1354
|
_changeBandwidthForAllClients(isJoining: boolean): number;
|
|
1354
1355
|
_createP2pSession({ clientId, initialBandwidth, isOfferer, }: {
|
|
@@ -1402,7 +1403,7 @@ declare const _default: {
|
|
|
1402
1403
|
DOMINANT_SPEAKER: string;
|
|
1403
1404
|
};
|
|
1404
1405
|
|
|
1405
|
-
declare function setVideoBandwidthUsingSetParameters(pc:
|
|
1406
|
+
declare function setVideoBandwidthUsingSetParameters(pc: RTCPeerConnection, bandwidth: number, logger?: any): Promise<void>;
|
|
1406
1407
|
|
|
1407
1408
|
declare const rtcStats: {
|
|
1408
1409
|
sendEvent: (type: any, value: any) => void;
|
|
@@ -1417,7 +1418,12 @@ declare const rtcStats: {
|
|
|
1417
1418
|
};
|
|
1418
1419
|
};
|
|
1419
1420
|
|
|
1420
|
-
|
|
1421
|
+
interface SetCodecPreferenceSDPOptions {
|
|
1422
|
+
sdp: string;
|
|
1423
|
+
redOn: boolean;
|
|
1424
|
+
incrementAnalyticMetric: P2PIncrementAnalyticMetric;
|
|
1425
|
+
}
|
|
1426
|
+
declare function setCodecPreferenceSDP({ sdp, redOn, incrementAnalyticMetric }: SetCodecPreferenceSDPOptions): string;
|
|
1421
1427
|
declare function cleanSdp(sdp: string): string;
|
|
1422
1428
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1423
1429
|
declare function deprioritizeH264(sdp: any): string;
|
|
@@ -1924,4 +1930,4 @@ declare const STREAM_TYPES: {
|
|
|
1924
1930
|
};
|
|
1925
1931
|
|
|
1926
1932
|
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, CAMERA_STREAM_ID, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
|
1927
|
-
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, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRequests, SignalRoom, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol,
|
|
1933
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RTCSessionDescription, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEventEmitter, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcManagerOptions, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalIceServer, SignalKnocker, SignalMediaServerConfig, SignalRequests, SignalRoom, SignalSFUServer, SignalTurnServer, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VegaRtcManagerOptions, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.mjs
CHANGED
|
@@ -1998,7 +1998,7 @@ const adapter$5 = (_a$5 = adapterRaw.default) !== null && _a$5 !== void 0 ? _a$5
|
|
|
1998
1998
|
const logger$8 = new Logger();
|
|
1999
1999
|
const browserName$2 = (_b$2 = adapter$5.browserDetails) === null || _b$2 === void 0 ? void 0 : _b$2.browser;
|
|
2000
2000
|
const browserVersion$1 = adapter$5.browserDetails.version;
|
|
2001
|
-
function setCodecPreferenceSDP(sdp, redOn) {
|
|
2001
|
+
function setCodecPreferenceSDP({ sdp, redOn, incrementAnalyticMetric }) {
|
|
2002
2002
|
var _a, _b;
|
|
2003
2003
|
try {
|
|
2004
2004
|
const sdpObject = sdpTransform.parse(sdp);
|
|
@@ -2036,7 +2036,10 @@ function setCodecPreferenceSDP(sdp, redOn) {
|
|
|
2036
2036
|
return newSdp;
|
|
2037
2037
|
}
|
|
2038
2038
|
catch (error) {
|
|
2039
|
+
incrementAnalyticMetric("P2PSetCodecPreferenceError");
|
|
2040
|
+
rtcStats.sendEvent("P2PSetCodecPreferenceError", { error });
|
|
2039
2041
|
logger$8.error("setCodecPreferenceSDP error:", error);
|
|
2042
|
+
return sdp;
|
|
2040
2043
|
}
|
|
2041
2044
|
}
|
|
2042
2045
|
function cleanSdp(sdp) {
|
|
@@ -2324,25 +2327,36 @@ class Session {
|
|
|
2324
2327
|
this.earlyIceCandidates = [];
|
|
2325
2328
|
});
|
|
2326
2329
|
}
|
|
2327
|
-
handleOffer(
|
|
2330
|
+
handleOffer(offer) {
|
|
2328
2331
|
if (!this.canModifyPeerConnection()) {
|
|
2329
2332
|
return new Promise((resolve) => {
|
|
2330
|
-
this.pending.push(() => this.handleOffer(
|
|
2333
|
+
this.pending.push(() => this.handleOffer(offer).then(resolve));
|
|
2331
2334
|
});
|
|
2332
2335
|
}
|
|
2333
2336
|
this.isOperationPending = true;
|
|
2334
|
-
let sdp =
|
|
2337
|
+
let sdp = offer.sdp;
|
|
2335
2338
|
sdp = filterMidExtension(sdp);
|
|
2336
2339
|
sdp = filterMsidSemantic(sdp);
|
|
2337
|
-
const desc = { type:
|
|
2340
|
+
const desc = { type: offer.type, sdp };
|
|
2338
2341
|
let answerToSignal;
|
|
2339
2342
|
return this._setRemoteDescription(desc)
|
|
2340
2343
|
.then(() => {
|
|
2341
2344
|
return this.pc.createAnswer();
|
|
2342
2345
|
})
|
|
2343
2346
|
.then((answer) => {
|
|
2344
|
-
|
|
2345
|
-
|
|
2347
|
+
if (!answer.sdp) {
|
|
2348
|
+
this._incrementAnalyticMetric("P2PCreateAnswerNoSDP");
|
|
2349
|
+
rtcStats.sendEvent("P2PCreateAnswerNoSDP", {});
|
|
2350
|
+
throw new Error("SDP undefined while creating answer");
|
|
2351
|
+
}
|
|
2352
|
+
else {
|
|
2353
|
+
answerToSignal = {
|
|
2354
|
+
sdp: answer.sdp,
|
|
2355
|
+
sdpU: answer.sdp,
|
|
2356
|
+
type: answer.type,
|
|
2357
|
+
};
|
|
2358
|
+
return this.pc.setLocalDescription(answer);
|
|
2359
|
+
}
|
|
2346
2360
|
})
|
|
2347
2361
|
.then(() => {
|
|
2348
2362
|
return setVideoBandwidthUsingSetParameters(this.pc, this.bandwidth);
|
|
@@ -2662,6 +2676,9 @@ class P2pRtcManager {
|
|
|
2662
2676
|
P2PReplaceTrackSourceKindNotFound: 0,
|
|
2663
2677
|
P2PRemoveStreamNoPC: 0,
|
|
2664
2678
|
P2POnTrackNoStream: 0,
|
|
2679
|
+
P2PSetCodecPreferenceError: 0,
|
|
2680
|
+
P2PCreateOfferNoSDP: 0,
|
|
2681
|
+
P2PCreateAnswerNoSDP: 0,
|
|
2665
2682
|
};
|
|
2666
2683
|
}
|
|
2667
2684
|
numberOfPeerconnections() {
|
|
@@ -2782,13 +2799,16 @@ class P2pRtcManager {
|
|
|
2782
2799
|
logger$6.warn("No RTCPeerConnection on SDP_OFFER", data);
|
|
2783
2800
|
return;
|
|
2784
2801
|
}
|
|
2785
|
-
const
|
|
2802
|
+
const sdp = {
|
|
2803
|
+
sdp: data.message.sdp || data.message.sdpU,
|
|
2804
|
+
type: data.message.type,
|
|
2805
|
+
};
|
|
2786
2806
|
(_b = (_a = session
|
|
2787
|
-
.handleOffer(
|
|
2807
|
+
.handleOffer(sdp)
|
|
2788
2808
|
.then((answer) => {
|
|
2789
2809
|
this._emitServerEvent(RELAY_MESSAGES.SDP_ANSWER, {
|
|
2790
2810
|
receiverId: data.clientId,
|
|
2791
|
-
message:
|
|
2811
|
+
message: answer,
|
|
2792
2812
|
});
|
|
2793
2813
|
})).catch) === null || _b === void 0 ? void 0 : _b.call(_a, (e) => {
|
|
2794
2814
|
this.analytics.numPcOnOfferFailure++;
|
|
@@ -2801,8 +2821,11 @@ class P2pRtcManager {
|
|
|
2801
2821
|
logger$6.warn("No RTCPeerConnection on SDP_ANSWER", data);
|
|
2802
2822
|
return;
|
|
2803
2823
|
}
|
|
2804
|
-
const
|
|
2805
|
-
|
|
2824
|
+
const sdp = {
|
|
2825
|
+
sdp: data.message.sdp || data.message.sdpU,
|
|
2826
|
+
type: data.message.type,
|
|
2827
|
+
};
|
|
2828
|
+
(_b = (_a = session.handleAnswer(sdp)) === null || _a === void 0 ? void 0 : _a.catch) === null || _b === void 0 ? void 0 : _b.call(_a, (e) => {
|
|
2806
2829
|
logger$6.warn("Could not set remote description from remote answer: ", e);
|
|
2807
2830
|
this.analytics.numPcOnAnswerFailure++;
|
|
2808
2831
|
});
|
|
@@ -2981,13 +3004,6 @@ class P2pRtcManager {
|
|
|
2981
3004
|
const streamIds = this._getNonLocalCameraStreamIds();
|
|
2982
3005
|
return streamIds.length === 0 ? null : this.localStreams[streamIds[0]];
|
|
2983
3006
|
}
|
|
2984
|
-
_transformIncomingSdp(original) {
|
|
2985
|
-
const sdp = original.sdp ? original.sdp : original.sdpU;
|
|
2986
|
-
return { type: original.type, sdp };
|
|
2987
|
-
}
|
|
2988
|
-
_transformOutgoingSdp(original) {
|
|
2989
|
-
return { type: original.type, sdpU: original.sdp, sdp: original.sdp };
|
|
2990
|
-
}
|
|
2991
3007
|
_createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }) {
|
|
2992
3008
|
if (!peerConnectionId) {
|
|
2993
3009
|
throw new Error("peerConnectionId is missing");
|
|
@@ -3352,10 +3368,19 @@ class P2pRtcManager {
|
|
|
3352
3368
|
this._setCodecPreferences(pc).then(() => pc
|
|
3353
3369
|
.createOffer(constraints || this.offerOptions)
|
|
3354
3370
|
.then((offer) => {
|
|
3371
|
+
if (!offer.sdp) {
|
|
3372
|
+
this.analytics.P2PCreateOfferNoSDP++;
|
|
3373
|
+
rtcStats.sendEvent("P2PCreateOfferNoSDP", {});
|
|
3374
|
+
throw new Error("SDP undefined while creating offer");
|
|
3375
|
+
}
|
|
3355
3376
|
if (rtpAbsCaptureTimeOn)
|
|
3356
3377
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3357
3378
|
if (browserName$1 === "firefox") {
|
|
3358
|
-
offer.sdp = setCodecPreferenceSDP(
|
|
3379
|
+
offer.sdp = setCodecPreferenceSDP({
|
|
3380
|
+
sdp: offer.sdp,
|
|
3381
|
+
redOn,
|
|
3382
|
+
incrementAnalyticMetric: (metric) => this.analytics[metric]++,
|
|
3383
|
+
});
|
|
3359
3384
|
}
|
|
3360
3385
|
if (cleanSdpOn)
|
|
3361
3386
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -3366,9 +3391,14 @@ class P2pRtcManager {
|
|
|
3366
3391
|
throw e;
|
|
3367
3392
|
})
|
|
3368
3393
|
.then(() => {
|
|
3394
|
+
const message = {
|
|
3395
|
+
sdp: offer.sdp,
|
|
3396
|
+
sdpU: offer.sdp,
|
|
3397
|
+
type: offer.type,
|
|
3398
|
+
};
|
|
3369
3399
|
this._emitServerEvent(RELAY_MESSAGES.SDP_OFFER, {
|
|
3370
3400
|
receiverId: clientId,
|
|
3371
|
-
message
|
|
3401
|
+
message,
|
|
3372
3402
|
});
|
|
3373
3403
|
});
|
|
3374
3404
|
})
|
package/dist/legacy-esm.js
CHANGED
|
@@ -1998,7 +1998,7 @@ const adapter$5 = (_a$5 = adapterRaw.default) !== null && _a$5 !== void 0 ? _a$5
|
|
|
1998
1998
|
const logger$8 = new Logger();
|
|
1999
1999
|
const browserName$2 = (_b$2 = adapter$5.browserDetails) === null || _b$2 === void 0 ? void 0 : _b$2.browser;
|
|
2000
2000
|
const browserVersion$1 = adapter$5.browserDetails.version;
|
|
2001
|
-
function setCodecPreferenceSDP(sdp, redOn) {
|
|
2001
|
+
function setCodecPreferenceSDP({ sdp, redOn, incrementAnalyticMetric }) {
|
|
2002
2002
|
var _a, _b;
|
|
2003
2003
|
try {
|
|
2004
2004
|
const sdpObject = sdpTransform.parse(sdp);
|
|
@@ -2036,7 +2036,10 @@ function setCodecPreferenceSDP(sdp, redOn) {
|
|
|
2036
2036
|
return newSdp;
|
|
2037
2037
|
}
|
|
2038
2038
|
catch (error) {
|
|
2039
|
+
incrementAnalyticMetric("P2PSetCodecPreferenceError");
|
|
2040
|
+
rtcStats.sendEvent("P2PSetCodecPreferenceError", { error });
|
|
2039
2041
|
logger$8.error("setCodecPreferenceSDP error:", error);
|
|
2042
|
+
return sdp;
|
|
2040
2043
|
}
|
|
2041
2044
|
}
|
|
2042
2045
|
function cleanSdp(sdp) {
|
|
@@ -2324,25 +2327,36 @@ class Session {
|
|
|
2324
2327
|
this.earlyIceCandidates = [];
|
|
2325
2328
|
});
|
|
2326
2329
|
}
|
|
2327
|
-
handleOffer(
|
|
2330
|
+
handleOffer(offer) {
|
|
2328
2331
|
if (!this.canModifyPeerConnection()) {
|
|
2329
2332
|
return new Promise((resolve) => {
|
|
2330
|
-
this.pending.push(() => this.handleOffer(
|
|
2333
|
+
this.pending.push(() => this.handleOffer(offer).then(resolve));
|
|
2331
2334
|
});
|
|
2332
2335
|
}
|
|
2333
2336
|
this.isOperationPending = true;
|
|
2334
|
-
let sdp =
|
|
2337
|
+
let sdp = offer.sdp;
|
|
2335
2338
|
sdp = filterMidExtension(sdp);
|
|
2336
2339
|
sdp = filterMsidSemantic(sdp);
|
|
2337
|
-
const desc = { type:
|
|
2340
|
+
const desc = { type: offer.type, sdp };
|
|
2338
2341
|
let answerToSignal;
|
|
2339
2342
|
return this._setRemoteDescription(desc)
|
|
2340
2343
|
.then(() => {
|
|
2341
2344
|
return this.pc.createAnswer();
|
|
2342
2345
|
})
|
|
2343
2346
|
.then((answer) => {
|
|
2344
|
-
|
|
2345
|
-
|
|
2347
|
+
if (!answer.sdp) {
|
|
2348
|
+
this._incrementAnalyticMetric("P2PCreateAnswerNoSDP");
|
|
2349
|
+
rtcStats.sendEvent("P2PCreateAnswerNoSDP", {});
|
|
2350
|
+
throw new Error("SDP undefined while creating answer");
|
|
2351
|
+
}
|
|
2352
|
+
else {
|
|
2353
|
+
answerToSignal = {
|
|
2354
|
+
sdp: answer.sdp,
|
|
2355
|
+
sdpU: answer.sdp,
|
|
2356
|
+
type: answer.type,
|
|
2357
|
+
};
|
|
2358
|
+
return this.pc.setLocalDescription(answer);
|
|
2359
|
+
}
|
|
2346
2360
|
})
|
|
2347
2361
|
.then(() => {
|
|
2348
2362
|
return setVideoBandwidthUsingSetParameters(this.pc, this.bandwidth);
|
|
@@ -2662,6 +2676,9 @@ class P2pRtcManager {
|
|
|
2662
2676
|
P2PReplaceTrackSourceKindNotFound: 0,
|
|
2663
2677
|
P2PRemoveStreamNoPC: 0,
|
|
2664
2678
|
P2POnTrackNoStream: 0,
|
|
2679
|
+
P2PSetCodecPreferenceError: 0,
|
|
2680
|
+
P2PCreateOfferNoSDP: 0,
|
|
2681
|
+
P2PCreateAnswerNoSDP: 0,
|
|
2665
2682
|
};
|
|
2666
2683
|
}
|
|
2667
2684
|
numberOfPeerconnections() {
|
|
@@ -2782,13 +2799,16 @@ class P2pRtcManager {
|
|
|
2782
2799
|
logger$6.warn("No RTCPeerConnection on SDP_OFFER", data);
|
|
2783
2800
|
return;
|
|
2784
2801
|
}
|
|
2785
|
-
const
|
|
2802
|
+
const sdp = {
|
|
2803
|
+
sdp: data.message.sdp || data.message.sdpU,
|
|
2804
|
+
type: data.message.type,
|
|
2805
|
+
};
|
|
2786
2806
|
(_b = (_a = session
|
|
2787
|
-
.handleOffer(
|
|
2807
|
+
.handleOffer(sdp)
|
|
2788
2808
|
.then((answer) => {
|
|
2789
2809
|
this._emitServerEvent(RELAY_MESSAGES.SDP_ANSWER, {
|
|
2790
2810
|
receiverId: data.clientId,
|
|
2791
|
-
message:
|
|
2811
|
+
message: answer,
|
|
2792
2812
|
});
|
|
2793
2813
|
})).catch) === null || _b === void 0 ? void 0 : _b.call(_a, (e) => {
|
|
2794
2814
|
this.analytics.numPcOnOfferFailure++;
|
|
@@ -2801,8 +2821,11 @@ class P2pRtcManager {
|
|
|
2801
2821
|
logger$6.warn("No RTCPeerConnection on SDP_ANSWER", data);
|
|
2802
2822
|
return;
|
|
2803
2823
|
}
|
|
2804
|
-
const
|
|
2805
|
-
|
|
2824
|
+
const sdp = {
|
|
2825
|
+
sdp: data.message.sdp || data.message.sdpU,
|
|
2826
|
+
type: data.message.type,
|
|
2827
|
+
};
|
|
2828
|
+
(_b = (_a = session.handleAnswer(sdp)) === null || _a === void 0 ? void 0 : _a.catch) === null || _b === void 0 ? void 0 : _b.call(_a, (e) => {
|
|
2806
2829
|
logger$6.warn("Could not set remote description from remote answer: ", e);
|
|
2807
2830
|
this.analytics.numPcOnAnswerFailure++;
|
|
2808
2831
|
});
|
|
@@ -2981,13 +3004,6 @@ class P2pRtcManager {
|
|
|
2981
3004
|
const streamIds = this._getNonLocalCameraStreamIds();
|
|
2982
3005
|
return streamIds.length === 0 ? null : this.localStreams[streamIds[0]];
|
|
2983
3006
|
}
|
|
2984
|
-
_transformIncomingSdp(original) {
|
|
2985
|
-
const sdp = original.sdp ? original.sdp : original.sdpU;
|
|
2986
|
-
return { type: original.type, sdp };
|
|
2987
|
-
}
|
|
2988
|
-
_transformOutgoingSdp(original) {
|
|
2989
|
-
return { type: original.type, sdpU: original.sdp, sdp: original.sdp };
|
|
2990
|
-
}
|
|
2991
3007
|
_createSession({ clientId, initialBandwidth, isOfferer, peerConnectionId, }) {
|
|
2992
3008
|
if (!peerConnectionId) {
|
|
2993
3009
|
throw new Error("peerConnectionId is missing");
|
|
@@ -3352,10 +3368,19 @@ class P2pRtcManager {
|
|
|
3352
3368
|
this._setCodecPreferences(pc).then(() => pc
|
|
3353
3369
|
.createOffer(constraints || this.offerOptions)
|
|
3354
3370
|
.then((offer) => {
|
|
3371
|
+
if (!offer.sdp) {
|
|
3372
|
+
this.analytics.P2PCreateOfferNoSDP++;
|
|
3373
|
+
rtcStats.sendEvent("P2PCreateOfferNoSDP", {});
|
|
3374
|
+
throw new Error("SDP undefined while creating offer");
|
|
3375
|
+
}
|
|
3355
3376
|
if (rtpAbsCaptureTimeOn)
|
|
3356
3377
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3357
3378
|
if (browserName$1 === "firefox") {
|
|
3358
|
-
offer.sdp = setCodecPreferenceSDP(
|
|
3379
|
+
offer.sdp = setCodecPreferenceSDP({
|
|
3380
|
+
sdp: offer.sdp,
|
|
3381
|
+
redOn,
|
|
3382
|
+
incrementAnalyticMetric: (metric) => this.analytics[metric]++,
|
|
3383
|
+
});
|
|
3359
3384
|
}
|
|
3360
3385
|
if (cleanSdpOn)
|
|
3361
3386
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -3366,9 +3391,14 @@ class P2pRtcManager {
|
|
|
3366
3391
|
throw e;
|
|
3367
3392
|
})
|
|
3368
3393
|
.then(() => {
|
|
3394
|
+
const message = {
|
|
3395
|
+
sdp: offer.sdp,
|
|
3396
|
+
sdpU: offer.sdp,
|
|
3397
|
+
type: offer.type,
|
|
3398
|
+
};
|
|
3369
3399
|
this._emitServerEvent(RELAY_MESSAGES.SDP_OFFER, {
|
|
3370
3400
|
receiverId: clientId,
|
|
3371
|
-
message
|
|
3401
|
+
message,
|
|
3372
3402
|
});
|
|
3373
3403
|
});
|
|
3374
3404
|
})
|