vani-meeting-client 2.2.6 → 2.2.8-beta1
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/lib/utility/DynamicLibHelper.d.ts +1 -1
- package/lib/utility/DynamicLibHelper.js +2 -1
- package/lib/utility/DynamicLibHelper.native.d.ts +1 -1
- package/lib/utility/DynamicLibHelper.native.js +3 -2
- package/lib/utility/DynamicLibHelper.node.d.ts +1 -1
- package/lib/utility/DynamicLibHelper.node.js +2 -1
- package/lib/video-call-handler/WebrtcHandler.js +27 -10
- package/package.json +1 -1
|
@@ -5,5 +5,5 @@ export declare class DynamicLibHelper {
|
|
|
5
5
|
getVideoCallClassHandler(meetingType: MeetingType, meetingStartRequest: MeetingStartRequest, _communicationHandler: CommunicationHandler): Promise<import("../video-call-handler/SFUHandler").SFUHandler | import("../video-call-handler/WebrtcHandler").WebrtcHandler>;
|
|
6
6
|
getMediaDevicesVariable(meetingStartRequest: MeetingStartRequest): any;
|
|
7
7
|
getMediaStreamVariable(meetingStartRequest: MeetingStartRequest): any;
|
|
8
|
-
getRTCPeerConnection(meetingStartRequest: MeetingStartRequest):
|
|
8
|
+
getRTCPeerConnection(meetingStartRequest: MeetingStartRequest): RTCPeerConnection;
|
|
9
9
|
}
|
|
@@ -34,7 +34,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
import { MeetingType } from '..';
|
|
37
|
+
import { LogLevel, MeetingType } from '..';
|
|
38
38
|
import * as log from 'loglevel';
|
|
39
39
|
var DynamicLibHelper = /** @class */ (function () {
|
|
40
40
|
function DynamicLibHelper() {
|
|
@@ -105,6 +105,7 @@ var DynamicLibHelper = /** @class */ (function () {
|
|
|
105
105
|
};
|
|
106
106
|
DynamicLibHelper.prototype.getRTCPeerConnection = function (meetingStartRequest) {
|
|
107
107
|
if (meetingStartRequest && meetingStartRequest.iceServers) {
|
|
108
|
+
meetingStartRequest && meetingStartRequest.logLevel === LogLevel.Debug && console.log("Webrtc-" + "Ice Servers", meetingStartRequest.iceServers);
|
|
108
109
|
return new RTCPeerConnection({ iceServers: meetingStartRequest.iceServers });
|
|
109
110
|
}
|
|
110
111
|
else {
|
|
@@ -5,5 +5,5 @@ export declare class DynamicLibHelper {
|
|
|
5
5
|
getVideoCallClassHandler(meetingType: MeetingType, meetingStartRequest: MeetingStartRequest, _communicationHandler: CommunicationHandler): Promise<import("../video-call-handler/SFUHandler").SFUHandler | import("../video-call-handler/WebrtcHandler").WebrtcHandler>;
|
|
6
6
|
getMediaDevicesVariable(meetingStartRequest: MeetingStartRequest): any;
|
|
7
7
|
getMediaStreamVariable(meetingStartRequest: MeetingStartRequest): any;
|
|
8
|
-
getRTCPeerConnection(meetingStartRequest: MeetingStartRequest):
|
|
8
|
+
getRTCPeerConnection(meetingStartRequest: MeetingStartRequest): RTCPeerConnection;
|
|
9
9
|
}
|
|
@@ -34,7 +34,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
import { MeetingType } from '..';
|
|
37
|
+
import { LogLevel, MeetingType } from '..';
|
|
38
38
|
import * as log from 'loglevel';
|
|
39
39
|
var DynamicLibHelper = /** @class */ (function () {
|
|
40
40
|
function DynamicLibHelper() {
|
|
@@ -105,6 +105,7 @@ var DynamicLibHelper = /** @class */ (function () {
|
|
|
105
105
|
DynamicLibHelper.prototype.getRTCPeerConnection = function (meetingStartRequest) {
|
|
106
106
|
try {
|
|
107
107
|
if (meetingStartRequest && meetingStartRequest.iceServers) {
|
|
108
|
+
meetingStartRequest && meetingStartRequest.logLevel === LogLevel.Debug && console.log("Webrtc-" + "Ice Servers", meetingStartRequest.iceServers);
|
|
108
109
|
return new (require("react-native-webrtc").RTCPeerConnection)({ iceServers: meetingStartRequest.iceServers });
|
|
109
110
|
}
|
|
110
111
|
else {
|
|
@@ -114,7 +115,7 @@ var DynamicLibHelper = /** @class */ (function () {
|
|
|
114
115
|
catch (err) {
|
|
115
116
|
log.error("react-native-webrtc not found. Please do npm install ");
|
|
116
117
|
}
|
|
117
|
-
return new RTCPeerConnection();
|
|
118
|
+
return new (require("react-native-webrtc").RTCPeerConnection)();
|
|
118
119
|
};
|
|
119
120
|
return DynamicLibHelper;
|
|
120
121
|
}());
|
|
@@ -5,5 +5,5 @@ export declare class DynamicLibHelper {
|
|
|
5
5
|
getVideoCallClassHandler(meetingType: MeetingType, meetingStartRequest: MeetingStartRequest, _communicationHandler: CommunicationHandler): Promise<import("../video-call-handler/SFUHandler").SFUHandler | import("../video-call-handler/WebrtcHandler").WebrtcHandler>;
|
|
6
6
|
getMediaDevicesVariable(meetingStartRequest: MeetingStartRequest): any;
|
|
7
7
|
getMediaStreamVariable(meetingStartRequest: MeetingStartRequest): any;
|
|
8
|
-
getRTCPeerConnection(meetingStartRequest: MeetingStartRequest):
|
|
8
|
+
getRTCPeerConnection(meetingStartRequest: MeetingStartRequest): RTCPeerConnection;
|
|
9
9
|
}
|
|
@@ -34,7 +34,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
import { MeetingType } from '..';
|
|
37
|
+
import { LogLevel, MeetingType } from '..';
|
|
38
38
|
import * as log from 'loglevel';
|
|
39
39
|
var DynamicLibHelper = /** @class */ (function () {
|
|
40
40
|
function DynamicLibHelper() {
|
|
@@ -105,6 +105,7 @@ var DynamicLibHelper = /** @class */ (function () {
|
|
|
105
105
|
};
|
|
106
106
|
DynamicLibHelper.prototype.getRTCPeerConnection = function (meetingStartRequest) {
|
|
107
107
|
if (meetingStartRequest && meetingStartRequest.iceServers) {
|
|
108
|
+
meetingStartRequest && meetingStartRequest.logLevel === LogLevel.Debug && console.log("Webrtc-" + "Ice Servers", meetingStartRequest.iceServers);
|
|
108
109
|
return new RTCPeerConnection({ iceServers: meetingStartRequest.iceServers });
|
|
109
110
|
}
|
|
110
111
|
else {
|
|
@@ -68,6 +68,7 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
68
68
|
selfParticpant = this.communicationHandler.getSelfParticipant();
|
|
69
69
|
console.log(selfParticpant);
|
|
70
70
|
if (!(selfParticpant.userId !== participant.userId && !selfParticpant.getPeerConnections().has(participant.userId))) return [3 /*break*/, 2];
|
|
71
|
+
this.printLogIfRequired("Check if Can Send Offer");
|
|
71
72
|
isOfferInitParticipant = this.isOfferInitParticipant(participant);
|
|
72
73
|
if (!!isOfferInitParticipant) return [3 /*break*/, 2];
|
|
73
74
|
peerConnectionObject = selfParticpant.getPeerConnectionsViaUserId(participant.userId, this.meetingStartRequest);
|
|
@@ -83,7 +84,7 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
83
84
|
peerConnectionObject.offer = offer;
|
|
84
85
|
peerConnectionObject.rtcPeerConnection = peerConnection;
|
|
85
86
|
// send offer to peer
|
|
86
|
-
|
|
87
|
+
this.printLogIfRequired("Send Offer", offer);
|
|
87
88
|
messageJson = { to: participant.userId, type: WebrtcMessageType.SendOffer, data: offer };
|
|
88
89
|
this.sendWebrtcMessage(messageJson);
|
|
89
90
|
_a.label = 2;
|
|
@@ -96,6 +97,7 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
96
97
|
return __generator(this, function (_a) {
|
|
97
98
|
switch (_a.label) {
|
|
98
99
|
case 0:
|
|
100
|
+
this.printLogIfRequired("On New Offer", data);
|
|
99
101
|
selfParticpant = this.communicationHandler.getSelfParticipant();
|
|
100
102
|
participant = data.sender;
|
|
101
103
|
peerConnectionObject = selfParticpant.getPeerConnectionsViaUserId(participant.userId, this.meetingStartRequest);
|
|
@@ -105,8 +107,8 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
105
107
|
peerConnection = peerConnectionObject.rtcPeerConnection ? peerConnectionObject.rtcPeerConnection : this.dynamicLibHelper.getRTCPeerConnection(this.meetingStartRequest);
|
|
106
108
|
if (!peerConnection) return [3 /*break*/, 2];
|
|
107
109
|
this.subToConnectionState(participant);
|
|
108
|
-
peerConnection.addTransceiver("audio", { direction: "sendrecv" })
|
|
109
|
-
peerConnection.addTransceiver("video", { direction: "sendrecv" })
|
|
110
|
+
// peerConnection.addTransceiver("audio", { direction: "sendrecv" })
|
|
111
|
+
// peerConnection.addTransceiver("video", { direction: "sendrecv" })
|
|
110
112
|
peerConnection.setRemoteDescription({ type: 'offer', sdp: peerConnectionObject.remoteOffer });
|
|
111
113
|
return [4 /*yield*/, peerConnection.createAnswer()];
|
|
112
114
|
case 1:
|
|
@@ -125,6 +127,7 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
125
127
|
_this.onNewAnswer = function (data) { return __awaiter(_this, void 0, void 0, function () {
|
|
126
128
|
var selfParticpant, participant, peerConnectionObject, peerConnection;
|
|
127
129
|
return __generator(this, function (_a) {
|
|
130
|
+
this.printLogIfRequired("On New Answer", data);
|
|
128
131
|
selfParticpant = this.communicationHandler.getSelfParticipant();
|
|
129
132
|
participant = data.sender;
|
|
130
133
|
peerConnectionObject = selfParticpant.getPeerConnectionsViaUserId(participant.userId, this.meetingStartRequest);
|
|
@@ -175,9 +178,10 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
175
178
|
}
|
|
176
179
|
});
|
|
177
180
|
rtcConnection.addEventListener('iceconnectionstatechange', function (event) {
|
|
178
|
-
_this.printLogIfRequired("iceconnectionstatechange", event, remoteParticipant);
|
|
181
|
+
_this.printLogIfRequired("iceconnectionstatechange", rtcConnection.iceConnectionState, event, remoteParticipant);
|
|
179
182
|
});
|
|
180
183
|
rtcConnection.addEventListener('connectionstatechange', function (event) {
|
|
184
|
+
_this.printLogIfRequired("connectionstatechange", event, rtcConnection.connectionState);
|
|
181
185
|
if (rtcConnection.connectionState === 'connected') {
|
|
182
186
|
_this.printLogIfRequired("On Connection Change", event, remoteParticipant);
|
|
183
187
|
_this.startSendTrackToPartiipant(remoteParticipant);
|
|
@@ -185,6 +189,7 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
185
189
|
});
|
|
186
190
|
rtcConnection.addEventListener("track", function (onRemoteTrack) {
|
|
187
191
|
var _a, _b;
|
|
192
|
+
_this.printLogIfRequired("On New Track Remote", onRemoteTrack);
|
|
188
193
|
if (onRemoteTrack.streams && onRemoteTrack.streams.length > 0) {
|
|
189
194
|
var mediaStream = onRemoteTrack.streams.at(0);
|
|
190
195
|
if (mediaStream.getTracks() && mediaStream.getTracks().length > 0) {
|
|
@@ -214,14 +219,26 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
214
219
|
});
|
|
215
220
|
}); };
|
|
216
221
|
_this.sendTrackToParticipant = function (track, participant) { return __awaiter(_this, void 0, void 0, function () {
|
|
217
|
-
var selfParticpant, peerConnection;
|
|
222
|
+
var selfParticpant, peerConnection, transceiver;
|
|
218
223
|
return __generator(this, function (_a) {
|
|
224
|
+
if (!track.track) {
|
|
225
|
+
return [2 /*return*/];
|
|
226
|
+
}
|
|
219
227
|
selfParticpant = this.communicationHandler.getSelfParticipant();
|
|
220
228
|
if (selfParticpant) {
|
|
221
229
|
peerConnection = selfParticpant.getPeerConnectionsViaUserId(participant.userId, this.meetingStartRequest);
|
|
222
230
|
if (peerConnection && peerConnection.rtcPeerConnection) {
|
|
223
|
-
this.printLogIfRequired("Send Track");
|
|
224
|
-
peerConnection.rtcPeerConnection.
|
|
231
|
+
this.printLogIfRequired("Send Track", participant);
|
|
232
|
+
transceiver = peerConnection.rtcPeerConnection.getTransceivers().find(function (t) { return t.receiver.track.kind === track.track.kind; });
|
|
233
|
+
if (transceiver) {
|
|
234
|
+
this.printLogIfRequired("Replace track", participant, track);
|
|
235
|
+
transceiver.sender.replaceTrack(track.track);
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
this.printLogIfRequired("Send add track - reaplce track not found", participant, track);
|
|
239
|
+
peerConnection.rtcPeerConnection.addTrack(track.track);
|
|
240
|
+
}
|
|
241
|
+
// peerConnection.rtcPeerConnection.addStream(new MediaStream([track.track]))
|
|
225
242
|
}
|
|
226
243
|
}
|
|
227
244
|
return [2 /*return*/];
|
|
@@ -243,10 +260,10 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
243
260
|
optionalParams[_i - 1] = arguments[_i];
|
|
244
261
|
}
|
|
245
262
|
if (optionalParams && optionalParams.length > 0) {
|
|
246
|
-
_this.meetingStartRequest && _this.meetingStartRequest.logLevel === LogLevel.Debug && console.log(message, optionalParams);
|
|
263
|
+
_this.meetingStartRequest && _this.meetingStartRequest.logLevel === LogLevel.Debug && console.log("Webrtc-" + message, optionalParams);
|
|
247
264
|
}
|
|
248
265
|
else {
|
|
249
|
-
_this.meetingStartRequest && _this.meetingStartRequest.logLevel === LogLevel.Debug && console.log(message);
|
|
266
|
+
_this.meetingStartRequest && _this.meetingStartRequest.logLevel === LogLevel.Debug && console.log("Webrtc-" + message);
|
|
250
267
|
}
|
|
251
268
|
};
|
|
252
269
|
return _this;
|
|
@@ -276,7 +293,7 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
276
293
|
};
|
|
277
294
|
WebrtcHandler.prototype.onSocketMessage = function (websocketCallHandler) {
|
|
278
295
|
var _a;
|
|
279
|
-
|
|
296
|
+
this.printLogIfRequired("websocketCallHandler", websocketCallHandler);
|
|
280
297
|
var data = websocketCallHandler.data;
|
|
281
298
|
if (websocketCallHandler.data.message) {
|
|
282
299
|
data = websocketCallHandler.data.message;
|