vani-meeting-client-native 0.4.4 → 0.4.6-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.
@@ -573,6 +573,8 @@ var CommunicationHandler = /** @class */ (function () {
573
573
  CommunicationHandler.prototype.sendWebSocketMessage = function (type, data) {
574
574
  var _a;
575
575
  (_a = this.websocketCallHandler) === null || _a === void 0 ? void 0 : _a.sendSocketMessage(type, data);
576
+ // this.meetingStartRequest && this.meetingStartRequest.logLevel === LogLevel.Debug &&
577
+ // console.log("sendSocketMessage",type,data)
576
578
  };
577
579
  // public sendWebSocketMessageForWebrtc(type: WebrtcMessageType, data: any, to : string) {
578
580
  // this.websocketCallHandler?.sendSocketMessage(type, data)
@@ -1,7 +1,8 @@
1
1
  export declare enum MeetingType {
2
2
  CHAT = "chat",
3
3
  WEBRTC = "webrtc",
4
- SFU = "SFU"
4
+ SFU = "SFU",
5
+ SIP = "SIP"
5
6
  }
6
7
  export declare enum ConnectionProtocol {
7
8
  TCP = "TCP",
@@ -3,6 +3,7 @@ export var MeetingType;
3
3
  MeetingType["CHAT"] = "chat";
4
4
  MeetingType["WEBRTC"] = "webrtc";
5
5
  MeetingType["SFU"] = "SFU";
6
+ MeetingType["SIP"] = "SIP";
6
7
  })(MeetingType || (MeetingType = {}));
7
8
  export var ConnectionProtocol;
8
9
  (function (ConnectionProtocol) {
@@ -670,19 +670,23 @@ var SFUHandler = /** @class */ (function (_super) {
670
670
  });
671
671
  };
672
672
  SFUHandler.prototype.onRouterRtpCapabilities = function (data) {
673
- if (this.getDevice() && this.getDevice().loaded) {
674
- return;
673
+ try {
674
+ if (this.getDevice() && this.getDevice().loaded) {
675
+ return;
676
+ }
677
+ if (data && data.message && data.message.rtpCapabilities) {
678
+ this.routerRtpCapabilities = data.message.rtpCapabilities;
679
+ var routerRtpCapabilities = this.routerRtpCapabilities;
680
+ this.meetingStartRequest && this.meetingStartRequest.logLevel === LogLevel.Debug && console.log(routerRtpCapabilities);
681
+ this.getDevice().load({ routerRtpCapabilities: routerRtpCapabilities });
682
+ this.isProduceTrackIntialWorkDone = false;
683
+ //Create transport
684
+ this.meetingStartRequest && this.meetingStartRequest.logLevel === LogLevel.Debug && console.log("OnCreateTransports onRouterRtpCapabilities");
685
+ var messageJson = { to: "self", type: SFUMessageType.OnCreateTransports, message: SFUMessageType.OnCreateTransports };
686
+ this.sendSFUMessageToSocket(messageJson);
687
+ }
675
688
  }
676
- if (data && data.message && data.message.rtpCapabilities) {
677
- this.routerRtpCapabilities = data.message.rtpCapabilities;
678
- var routerRtpCapabilities = this.routerRtpCapabilities;
679
- this.meetingStartRequest && this.meetingStartRequest.logLevel === LogLevel.Debug && console.log(routerRtpCapabilities);
680
- this.getDevice().load({ routerRtpCapabilities: routerRtpCapabilities });
681
- this.isProduceTrackIntialWorkDone = false;
682
- //Create transport
683
- this.meetingStartRequest && this.meetingStartRequest.logLevel === LogLevel.Debug && console.log("OnCreateTransports onRouterRtpCapabilities");
684
- var messageJson = { to: "self", type: SFUMessageType.OnCreateTransports, message: SFUMessageType.OnCreateTransports };
685
- this.sendSFUMessageToSocket(messageJson);
689
+ catch (err) {
686
690
  }
687
691
  };
688
692
  SFUHandler.prototype.onTransportConnectDone = function (data) {
@@ -140,21 +140,37 @@ var WebrtcHandler = /** @class */ (function (_super) {
140
140
  switch (_c.label) {
141
141
  case 0:
142
142
  transceiver = peerConnection.rtcPeerConnection.getTransceivers().find(function (t) { var _a, _b; return ((_b = (_a = t === null || t === void 0 ? void 0 : t.sender) === null || _a === void 0 ? void 0 : _a.track) === null || _b === void 0 ? void 0 : _b.kind) === eachKind; });
143
- if (!!transceiver) return [3 /*break*/, 3];
143
+ if (!!transceiver) return [3 /*break*/, 1];
144
144
  this.printLogIfRequired("addTransceiverifRequired", eachKind);
145
145
  realTrack = (_a = this.communicationHandler) === null || _a === void 0 ? void 0 : _a.getAllSelfTracks().find(function (t) { var _a; return ((_a = t.track) === null || _a === void 0 ? void 0 : _a.kind) === eachKind; });
146
146
  newTransceiver = void 0;
147
- if (!(realTrack && realTrack.track)) return [3 /*break*/, 2];
148
- this.printLogIfRequired("addTransceiverifRequired track real", eachKind, realTrack.track);
149
- return [4 /*yield*/, peerConnection.rtcPeerConnection.addTrack(realTrack.track)
147
+ if (realTrack && realTrack.track) {
148
+ this.printLogIfRequired("addTransceiverifRequired track real", eachKind, realTrack.track);
149
+ // newTransceiver = await peerConnection.rtcPeerConnection.addTrack(realTrack.track)
150
+ if (realTrack.track.kind === 'audio') {
151
+ newTransceiver = peerConnection.rtcPeerConnection.addTransceiver(realTrack.track, {
152
+ direction: 'sendonly',
153
+ sendEncodings: [
154
+ {
155
+ maxBitrate: 32000,
156
+ priority: 'high',
157
+ networkPriority: 'high',
158
+ }
159
+ ]
160
+ });
161
+ }
162
+ else if (realTrack.track.kind === 'video') {
163
+ newTransceiver = peerConnection.rtcPeerConnection.addTransceiver(realTrack.track, {
164
+ direction: 'sendonly',
165
+ });
166
+ }
150
167
  // newTransceiver = await peerConnection.rtcPeerConnection.addTransceiver(realTrack.track, { direction: "sendrecv" })
151
- ];
152
- case 1:
153
- newTransceiver = _c.sent();
154
- // newTransceiver = await peerConnection.rtcPeerConnection.addTransceiver(realTrack.track, { direction: "sendrecv" })
155
- this.printLogIfRequired("addTransceiverifRequired track real end", eachKind, realTrack.track);
156
- return [3 /*break*/, 2];
157
- case 2:
168
+ this.printLogIfRequired("addTransceiverifRequired track real end", eachKind, realTrack.track);
169
+ }
170
+ else {
171
+ // this.printLogIfRequired("addTransceiverifRequired track fake",eachKind)
172
+ // newTransceiver = await peerConnection.rtcPeerConnection.addTransceiver(eachKind, { direction: "sendrecv" })
173
+ }
158
174
  if (eachKind === 'audio') {
159
175
  transceiver = peerConnection.rtcPeerConnection.getTransceivers().find(function (t) { var _a, _b; return ((_b = (_a = t === null || t === void 0 ? void 0 : t.sender) === null || _a === void 0 ? void 0 : _a.track) === null || _b === void 0 ? void 0 : _b.kind) === eachKind; });
160
176
  if (transceiver) {
@@ -162,21 +178,21 @@ var WebrtcHandler = /** @class */ (function (_super) {
162
178
  }
163
179
  // this.setOpusParams(newTransceiver);
164
180
  }
165
- return [3 /*break*/, 5];
166
- case 3:
167
- if (!shouldReplaceIfExist) return [3 /*break*/, 5];
181
+ return [3 /*break*/, 3];
182
+ case 1:
183
+ if (!shouldReplaceIfExist) return [3 /*break*/, 3];
168
184
  realTrack = (_b = this.communicationHandler) === null || _b === void 0 ? void 0 : _b.getAllSelfTracks().find(function (t) { var _a; return ((_a = t.track) === null || _a === void 0 ? void 0 : _a.kind) === eachKind; });
169
- if (!(realTrack && realTrack.track)) return [3 /*break*/, 5];
185
+ if (!(realTrack && realTrack.track)) return [3 /*break*/, 3];
170
186
  this.printLogIfRequired("transceiver.sender.", transceiver.sender, eachKind);
171
187
  return [4 /*yield*/, transceiver.sender.replaceTrack(realTrack.track)];
172
- case 4:
188
+ case 2:
173
189
  _c.sent();
174
190
  if (eachKind === 'audio') {
175
191
  this.applyAudioPriority(transceiver);
176
192
  // this.setOpusParams(newTransceiver);
177
193
  }
178
- _c.label = 5;
179
- case 5: return [2 /*return*/];
194
+ _c.label = 3;
195
+ case 3: return [2 /*return*/];
180
196
  }
181
197
  });
182
198
  });
@@ -346,15 +362,18 @@ var WebrtcHandler = /** @class */ (function (_super) {
346
362
  peerConnectionObject.remoteAnswer = data.sdp;
347
363
  }
348
364
  peerConnection = peerConnectionObject.rtcPeerConnection ? peerConnectionObject.rtcPeerConnection : this.dynamicLibHelper.getRTCPeerConnection(this.meetingStartRequest);
349
- if (!peerConnection) return [3 /*break*/, 2];
365
+ if (!peerConnection) return [3 /*break*/, 3];
366
+ if (!(peerConnection.signalingState === 'have-local-offer')) return [3 /*break*/, 2];
350
367
  return [4 /*yield*/, peerConnection.setRemoteDescription({ type: 'answer', sdp: peerConnectionObject.remoteAnswer })];
351
368
  case 1:
352
369
  _b.sent();
370
+ _b.label = 2;
371
+ case 2:
353
372
  peerConnectionObject.isRtcRestartIceInProgess = false;
354
373
  this.printLogIfRequired("REMOTE SDP", (_a = peerConnection.remoteDescription) === null || _a === void 0 ? void 0 : _a.sdp);
355
374
  this.printLogIfRequired("On New Answer setRemoteDescription", { type: 'answer', sdp: peerConnectionObject.remoteAnswer });
356
- _b.label = 2;
357
- case 2: return [2 /*return*/];
375
+ _b.label = 3;
376
+ case 3: return [2 /*return*/];
358
377
  }
359
378
  });
360
379
  }); };
@@ -789,23 +808,22 @@ var WebrtcHandler = /** @class */ (function (_super) {
789
808
  };
790
809
  _this.applyAudioPriority = function (transceiver) {
791
810
  var _a, _b;
792
- // return;
793
- // ✅ 1. Codec preference — Opus first
811
+ // Codec preference — Opus first
794
812
  var capabilities = (_a = RTCRtpSender.getCapabilities) === null || _a === void 0 ? void 0 : _a.call(RTCRtpSender, 'audio');
795
- if (capabilities === null || capabilities === void 0 ? void 0 : capabilities.codecs) {
796
- var opus = capabilities.codecs.filter(function (c) {
797
- return c.mimeType.toLowerCase() === 'audio/opus';
798
- });
799
- var rest = capabilities.codecs.filter(function (c) {
800
- return c.mimeType.toLowerCase() !== 'audio/opus';
801
- });
802
- transceiver.setCodecPreferences(__spreadArray(__spreadArray([], __read(opus), false), __read(rest), false));
803
- }
804
- // 2. Encoding params bitrate + priority
813
+ if (!(capabilities === null || capabilities === void 0 ? void 0 : capabilities.codecs))
814
+ return;
815
+ var opus = capabilities.codecs.filter(function (c) {
816
+ return c.mimeType.toLowerCase() === 'audio/opus';
817
+ });
818
+ var rest = capabilities.codecs.filter(function (c) {
819
+ return c.mimeType.toLowerCase() !== 'audio/opus';
820
+ });
821
+ transceiver.setCodecPreferences(__spreadArray(__spreadArray([], __read(opus), false), __read(rest), false));
822
+ // maxBitrate only priority/networkPriority already set at addTransceiver
805
823
  var params = transceiver.sender.getParameters();
806
824
  if (!((_b = params.encodings) === null || _b === void 0 ? void 0 : _b.length))
807
- params.encodings = [{}];
808
- params.encodings[0] = __assign(__assign({}, params.encodings[0]), { maxBitrate: 32000, priority: 'high', networkPriority: 'high' });
825
+ return; // nothing to update, encoding slot not ready
826
+ params.encodings[0] = __assign(__assign({}, params.encodings[0]), { maxBitrate: 32000 });
809
827
  transceiver.sender.setParameters(params).catch(console.error);
810
828
  };
811
829
  _this.onNewTrack = function (track, receiver, transceiver, remoteParticipant) { return __awaiter(_this, void 0, void 0, function () {
@@ -373,6 +373,8 @@ var WebsocketHandler = /** @class */ (function (_super) {
373
373
  if (this.isWebScoketConnectedWithoutSetup()) {
374
374
  var paylod = { type: type, data: data };
375
375
  (_a = this.wss) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(paylod));
376
+ this.meetingStartRequest && this.meetingStartRequest.logLevel === LogLevel.Debug &&
377
+ console.log("sendSocketMessage", type, JSON.stringify(paylod));
376
378
  // console.log("sendSocketMessage",type,data)
377
379
  }
378
380
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vani-meeting-client-native",
3
- "version": "0.4.4",
3
+ "version": "0.4.6beta1",
4
4
  "description": "Vani Meeting Clinet SDK",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
package/lib/.DS_Store DELETED
Binary file