vani-meeting-client 0.3.3 → 0.3.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/lib/MeetingHandler.js +8 -3
- package/lib/model/MeetingStartRequest.d.ts +1 -0
- package/lib/model/MeetingStartRequest.js +1 -0
- package/lib/model/MessagePayload.d.ts +5 -0
- package/lib/model/MessagePayload.js +6 -0
- package/lib/model/Track.d.ts +2 -1
- package/lib/model/Track.js +1 -0
- package/lib/video-call-handler/BaseVideoCallHandler.d.ts +2 -0
- package/lib/video-call-handler/SFUHandler.d.ts +4 -0
- package/lib/video-call-handler/SFUHandler.js +96 -22
- package/lib/video-call-handler/WebrtcHandler.d.ts +2 -0
- package/lib/video-call-handler/WebrtcHandler.js +10 -0
- package/lib/websocket-handler/WebsocketHandler.d.ts +1 -0
- package/lib/websocket-handler/WebsocketHandler.js +1 -0
- package/package.json +1 -1
package/lib/MeetingHandler.js
CHANGED
|
@@ -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 { VaniEvent, MeetingStartRequest } from ".";
|
|
37
|
+
import { VaniEvent, MeetingStartRequest, ChatSendVia } from ".";
|
|
38
38
|
import { DynamicLibHelper } from "./utility/DynamicLibHelper";
|
|
39
39
|
import * as log from 'loglevel';
|
|
40
40
|
import { WebSocketBasicEvents, WebsocketHandler } from "./websocket-handler/WebsocketHandler";
|
|
@@ -303,7 +303,7 @@ var MeetingHandler = /** @class */ (function () {
|
|
|
303
303
|
};
|
|
304
304
|
///Messages
|
|
305
305
|
MeetingHandler.prototype.sendMessage = function (message) {
|
|
306
|
-
var _a, _b;
|
|
306
|
+
var _a, _b, _c;
|
|
307
307
|
if (!message.sender) {
|
|
308
308
|
message.sender = (_a = this.communicationHandler) === null || _a === void 0 ? void 0 : _a.getSelfParticipant();
|
|
309
309
|
}
|
|
@@ -317,7 +317,12 @@ var MeetingHandler = /** @class */ (function () {
|
|
|
317
317
|
else {
|
|
318
318
|
var to = message.to === "all" ? this.meetingStartRequest.roomId : message.to;
|
|
319
319
|
var messageObj = { type: "chat", message: message.toJsonObjectForSending(), to: to, shouldPresist: message.shouldPresist };
|
|
320
|
-
(
|
|
320
|
+
if (message.chatSendVia === ChatSendVia.DataChannel) {
|
|
321
|
+
(_b = this.videoCallHandler) === null || _b === void 0 ? void 0 : _b.sendMessageViaDataChannel(messageObj);
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
(_c = this.websocketCallHandler) === null || _c === void 0 ? void 0 : _c.sendSocketMessage(WebSocketBasicEvents.Message, messageObj);
|
|
325
|
+
}
|
|
321
326
|
return { message: "Message Sent", error: 'NoError', isSuccess: true };
|
|
322
327
|
}
|
|
323
328
|
};
|
|
@@ -36,6 +36,7 @@ export declare class MeetingStartRequest {
|
|
|
36
36
|
defaultScreenShareBlocked: boolean;
|
|
37
37
|
defaultCameraFacingMode: CameraFacingMode;
|
|
38
38
|
simulcastEncodings: RTCRtpEncodingParameters[];
|
|
39
|
+
isDataChannelRequired: boolean;
|
|
39
40
|
urlToCheckInternetPresent: string;
|
|
40
41
|
constructor(_roomId: string, _userId: string, _appId: string, _wssUrl: string);
|
|
41
42
|
}
|
|
@@ -31,6 +31,7 @@ var MeetingStartRequest = /** @class */ (function () {
|
|
|
31
31
|
this.defaultScreenShareBlocked = false;
|
|
32
32
|
this.defaultCameraFacingMode = CameraFacingMode.Front;
|
|
33
33
|
this.simulcastEncodings = [{ maxBitrate: 40000, scaleResolutionDownBy: 2.0 }, { maxBitrate: 620000, scaleResolutionDownBy: 1.0 },];
|
|
34
|
+
this.isDataChannelRequired = false;
|
|
34
35
|
this.urlToCheckInternetPresent = "https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&redirects=1&titles=Stack%20Overflow";
|
|
35
36
|
this.roomId = _roomId;
|
|
36
37
|
this.userId = _userId;
|
|
@@ -4,6 +4,10 @@ export declare enum ChatMessageType {
|
|
|
4
4
|
File = "file",
|
|
5
5
|
Info = "info"
|
|
6
6
|
}
|
|
7
|
+
export declare enum ChatSendVia {
|
|
8
|
+
WebSocket = "WebSocket",
|
|
9
|
+
DataChannel = "DataChannel"
|
|
10
|
+
}
|
|
7
11
|
export declare class MessagePayload {
|
|
8
12
|
message: string;
|
|
9
13
|
to: string;
|
|
@@ -13,6 +17,7 @@ export declare class MessagePayload {
|
|
|
13
17
|
sender?: Participant;
|
|
14
18
|
shouldPresist: boolean;
|
|
15
19
|
time: number;
|
|
20
|
+
chatSendVia: ChatSendVia;
|
|
16
21
|
constructor(_message: string);
|
|
17
22
|
constructor(_message: string, _to: string);
|
|
18
23
|
toJsonObjectForSending(): {
|
|
@@ -4,6 +4,11 @@ export var ChatMessageType;
|
|
|
4
4
|
ChatMessageType["File"] = "file";
|
|
5
5
|
ChatMessageType["Info"] = "info";
|
|
6
6
|
})(ChatMessageType || (ChatMessageType = {}));
|
|
7
|
+
export var ChatSendVia;
|
|
8
|
+
(function (ChatSendVia) {
|
|
9
|
+
ChatSendVia["WebSocket"] = "WebSocket";
|
|
10
|
+
ChatSendVia["DataChannel"] = "DataChannel";
|
|
11
|
+
})(ChatSendVia || (ChatSendVia = {}));
|
|
7
12
|
var MessagePayload = /** @class */ (function () {
|
|
8
13
|
function MessagePayload(_message, _to, _sender, _type) {
|
|
9
14
|
if (_to === void 0) { _to = "all"; }
|
|
@@ -12,6 +17,7 @@ var MessagePayload = /** @class */ (function () {
|
|
|
12
17
|
this.extraData = {};
|
|
13
18
|
this.shouldPresist = false;
|
|
14
19
|
this.time = new Date().getTime();
|
|
20
|
+
this.chatSendVia = ChatSendVia.WebSocket;
|
|
15
21
|
this.message = _message;
|
|
16
22
|
this.to = _to;
|
|
17
23
|
this.sender = _sender;
|
package/lib/model/Track.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ export declare enum TrackKind {
|
|
|
4
4
|
Audio = "Audio",
|
|
5
5
|
ScreenshareVideo = "ScreenshareVideo",
|
|
6
6
|
ScreenshareAudio = "ScreenshareAudio",
|
|
7
|
-
LocalVideo = "LocalVideo"
|
|
7
|
+
LocalVideo = "LocalVideo",
|
|
8
|
+
DataChannel = "DataChannel"
|
|
8
9
|
}
|
|
9
10
|
export declare class Track {
|
|
10
11
|
trackId: string;
|
package/lib/model/Track.js
CHANGED
|
@@ -5,6 +5,7 @@ export var TrackKind;
|
|
|
5
5
|
TrackKind["ScreenshareVideo"] = "ScreenshareVideo";
|
|
6
6
|
TrackKind["ScreenshareAudio"] = "ScreenshareAudio";
|
|
7
7
|
TrackKind["LocalVideo"] = "LocalVideo";
|
|
8
|
+
TrackKind["DataChannel"] = "DataChannel";
|
|
8
9
|
})(TrackKind || (TrackKind = {}));
|
|
9
10
|
var Track = /** @class */ (function () {
|
|
10
11
|
function Track(_participant, _isLocalTrack, _trackKind, _track) {
|
|
@@ -13,6 +13,8 @@ export declare abstract class BaseVideoCallHandler extends Base {
|
|
|
13
13
|
abstract resumeIncomingTrack(track: Track): void;
|
|
14
14
|
abstract pauseIncomingTrack(track: Track): void;
|
|
15
15
|
abstract onParticipantUpdated(): void;
|
|
16
|
+
abstract createDataChannel(): any;
|
|
17
|
+
abstract sendMessageViaDataChannel(messagePayload: any): any;
|
|
16
18
|
updateSpatialForTrack(track: Track, spatialLayerIndex: number): Promise<void>;
|
|
17
19
|
reconnectedWithoutPing(): void;
|
|
18
20
|
cleanup(): void;
|
|
@@ -10,6 +10,8 @@ export declare class SFUHandler extends BaseVideoCallHandler {
|
|
|
10
10
|
private isProduceTrackIntialWorkDone;
|
|
11
11
|
private producers;
|
|
12
12
|
private consumers;
|
|
13
|
+
private dataProducers;
|
|
14
|
+
private dataConsumer;
|
|
13
15
|
onReconnect(): Promise<void>;
|
|
14
16
|
stopTrack(track: Track): void;
|
|
15
17
|
pauseTrack(track: Track): void;
|
|
@@ -18,7 +20,9 @@ export declare class SFUHandler extends BaseVideoCallHandler {
|
|
|
18
20
|
resumeIncomingTrack(track: Track): void;
|
|
19
21
|
updateSpatialForTrack(track: Track, spatialLayerIndex: number): Promise<void>;
|
|
20
22
|
sendTrack(track: Track): Promise<void>;
|
|
23
|
+
createDataChannel(): Promise<void>;
|
|
21
24
|
onParticipantUpdated(): void;
|
|
25
|
+
sendMessageViaDataChannel(messagePayload: any): void;
|
|
22
26
|
init(): Promise<void>;
|
|
23
27
|
private onTransportNotFound;
|
|
24
28
|
private addObserverForDevice;
|
|
@@ -75,6 +75,8 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
75
75
|
_this.isProduceTrackIntialWorkDone = false;
|
|
76
76
|
_this.producers = [];
|
|
77
77
|
_this.consumers = [];
|
|
78
|
+
_this.dataProducers = [];
|
|
79
|
+
_this.dataConsumer = [];
|
|
78
80
|
return _this;
|
|
79
81
|
}
|
|
80
82
|
SFUHandler.prototype.onReconnect = function () {
|
|
@@ -204,6 +206,27 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
204
206
|
});
|
|
205
207
|
});
|
|
206
208
|
};
|
|
209
|
+
SFUHandler.prototype.createDataChannel = function () {
|
|
210
|
+
var _a, _b;
|
|
211
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
212
|
+
var track, webcamProducer;
|
|
213
|
+
return __generator(this, function (_c) {
|
|
214
|
+
switch (_c.label) {
|
|
215
|
+
case 0:
|
|
216
|
+
if (!(this.dataProducers.length === 0)) return [3 /*break*/, 2];
|
|
217
|
+
track = new Track((_a = this.communicationHandler) === null || _a === void 0 ? void 0 : _a.getSelfParticipant(), true, TrackKind.DataChannel, undefined);
|
|
218
|
+
return [4 /*yield*/, ((_b = this.sendTransport) === null || _b === void 0 ? void 0 : _b.produceData({ appData: track }))];
|
|
219
|
+
case 1:
|
|
220
|
+
webcamProducer = _c.sent();
|
|
221
|
+
if (webcamProducer) {
|
|
222
|
+
this.dataProducers.push(webcamProducer);
|
|
223
|
+
}
|
|
224
|
+
_c.label = 2;
|
|
225
|
+
case 2: return [2 /*return*/];
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
};
|
|
207
230
|
SFUHandler.prototype.onParticipantUpdated = function () {
|
|
208
231
|
if (!this.communicationHandler || this.communicationHandler.getAllParticipants().length < 2) {
|
|
209
232
|
this.producers.forEach(function (producer) {
|
|
@@ -216,6 +239,11 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
216
239
|
});
|
|
217
240
|
}
|
|
218
241
|
};
|
|
242
|
+
SFUHandler.prototype.sendMessageViaDataChannel = function (messagePayload) {
|
|
243
|
+
if (this.dataProducers && this.dataProducers.length > 0) {
|
|
244
|
+
this.dataProducers[0].send(messagePayload);
|
|
245
|
+
}
|
|
246
|
+
};
|
|
219
247
|
SFUHandler.prototype.init = function () {
|
|
220
248
|
return __awaiter(this, void 0, void 0, function () {
|
|
221
249
|
var messageJson;
|
|
@@ -285,10 +313,20 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
285
313
|
this.sendTransport = this.device.createSendTransport(transport);
|
|
286
314
|
this.sendTransport.on('produce', function (producerLocalParameters, callback, errback) {
|
|
287
315
|
var _a;
|
|
288
|
-
_this.transportCallBacks[
|
|
316
|
+
_this.transportCallBacks[producerLocalParameters.appData.trackId] = callback;
|
|
289
317
|
var messageJson = { to: "self", type: SFUMessageType.OnTransportProduceSyncRequest, message: { type: producerLocalParameters.appData.type, transportId: (_a = _this.sendTransport) === null || _a === void 0 ? void 0 : _a.id, kind: producerLocalParameters.kind, rtpParameters: producerLocalParameters.rtpParameters, appData: producerLocalParameters.appData } };
|
|
290
318
|
_this.sendSFUMessageToSocket(messageJson);
|
|
291
319
|
});
|
|
320
|
+
this.sendTransport.on("producedata", function (producerLocalParameters, callback, errback) { return __awaiter(_this, void 0, void 0, function () {
|
|
321
|
+
var messageJson;
|
|
322
|
+
var _a;
|
|
323
|
+
return __generator(this, function (_b) {
|
|
324
|
+
this.transportCallBacks[producerLocalParameters.appData.trackId] = callback;
|
|
325
|
+
messageJson = { to: "self", type: SFUMessageType.OnTransportDataProduceSyncRequest, message: { type: 'send', transportId: (_a = this.sendTransport) === null || _a === void 0 ? void 0 : _a.id, sctpStreamParameters: producerLocalParameters.sctpStreamParameters, label: producerLocalParameters.label, appData: producerLocalParameters.appData } };
|
|
326
|
+
this.sendSFUMessageToSocket(messageJson);
|
|
327
|
+
return [2 /*return*/];
|
|
328
|
+
});
|
|
329
|
+
}); });
|
|
292
330
|
this.sendTransport.on('connectionstatechange', function (newState) {
|
|
293
331
|
var _a;
|
|
294
332
|
if (newState === "disconnected" || newState === "failed") {
|
|
@@ -314,7 +352,7 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
314
352
|
};
|
|
315
353
|
SFUHandler.prototype.produceTracks = function () {
|
|
316
354
|
var _this = this;
|
|
317
|
-
var _a;
|
|
355
|
+
var _a, _b;
|
|
318
356
|
log.info("produceTracks");
|
|
319
357
|
if (!this.sendTransport || !this.consumerTransport == null || this.isProduceTrackIntialWorkDone) {
|
|
320
358
|
return;
|
|
@@ -330,15 +368,18 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
330
368
|
else {
|
|
331
369
|
this.sendMessageReadyToConsume();
|
|
332
370
|
}
|
|
371
|
+
if ((_b = this.meetingStartRequest) === null || _b === void 0 ? void 0 : _b.isDataChannelRequired) {
|
|
372
|
+
this.createDataChannel();
|
|
373
|
+
}
|
|
333
374
|
};
|
|
334
375
|
SFUHandler.prototype.onProduceSyncDone = function (data) {
|
|
335
|
-
if (data.message.
|
|
376
|
+
if (data.message.appData && data.message.appData.trackId && data.message.producerId) {
|
|
336
377
|
var transportId = data.message.transportId;
|
|
337
|
-
var callBack = this.transportCallBacks[
|
|
378
|
+
var callBack = this.transportCallBacks[data.message.appData.trackId];
|
|
338
379
|
if (callBack) {
|
|
339
380
|
var id = data.message.producerId;
|
|
340
381
|
callBack({ id: id });
|
|
341
|
-
delete this.transportCallBacks[
|
|
382
|
+
delete this.transportCallBacks[data.message.appData.trackId];
|
|
342
383
|
}
|
|
343
384
|
}
|
|
344
385
|
};
|
|
@@ -393,6 +434,11 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
393
434
|
if (track) {
|
|
394
435
|
(_b = this.communicationHandler) === null || _b === void 0 ? void 0 : _b.removeTrack(track);
|
|
395
436
|
}
|
|
437
|
+
consumer.close();
|
|
438
|
+
var index = this.consumers.indexOf(consumer);
|
|
439
|
+
if (index > -1) {
|
|
440
|
+
this.consumers.splice(index, 1);
|
|
441
|
+
}
|
|
396
442
|
}
|
|
397
443
|
}
|
|
398
444
|
};
|
|
@@ -400,13 +446,20 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
400
446
|
return __awaiter(this, void 0, void 0, function () {
|
|
401
447
|
var producer, producerId, consumerAppData, cosumeObj, message;
|
|
402
448
|
return __generator(this, function (_a) {
|
|
449
|
+
console.log("onNewProducer");
|
|
450
|
+
console.log(data);
|
|
403
451
|
if (this.consumerTransport && data && data.message && data.message.producer) {
|
|
404
452
|
producer = data.message.producer;
|
|
405
453
|
producerId = producer.id;
|
|
406
454
|
consumerAppData = __assign({}, this.consumerTransport.appData);
|
|
407
455
|
consumerAppData.producerData = producer.appData;
|
|
408
456
|
consumerAppData.producerData.producerId = producerId;
|
|
409
|
-
|
|
457
|
+
producer.appData = consumerAppData;
|
|
458
|
+
cosumeObj = {
|
|
459
|
+
producerId: producerId, rtpCapabilities: this.routerRtpCapabilities, rtpParameters: data.message.producer.rtpParameters,
|
|
460
|
+
paused: true, appData: consumerAppData, transportId: this.consumerTransport.id, type: "consume",
|
|
461
|
+
sctpStreamParameters: data.message.producer.sctpStreamParameters, label: data.message.producer.label, protocol: data.message.producer.protocol
|
|
462
|
+
};
|
|
410
463
|
message = { to: "self", type: SFUMessageType.ConsumeProductId, message: cosumeObj };
|
|
411
464
|
this.sendSFUMessageToSocket(message);
|
|
412
465
|
}
|
|
@@ -416,27 +469,38 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
416
469
|
};
|
|
417
470
|
SFUHandler.prototype.onServerConsumer = function (data) {
|
|
418
471
|
return __awaiter(this, void 0, void 0, function () {
|
|
419
|
-
var consumerObj;
|
|
472
|
+
var consumerObj, consumerObj;
|
|
420
473
|
var _this = this;
|
|
421
474
|
return __generator(this, function (_a) {
|
|
422
475
|
log.info("onServerConsumer");
|
|
423
476
|
log.info(data);
|
|
424
477
|
if (this.consumerTransport && data && data.message && data.message.consumer) {
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
478
|
+
if (data.message.consumer.appData.producerData.trackKind === TrackKind.DataChannel) {
|
|
479
|
+
consumerObj = data.message.consumer;
|
|
480
|
+
this.consumerTransport.consumeData(consumerObj).then(function (consumer) {
|
|
481
|
+
_this.dataConsumer.push(consumer);
|
|
482
|
+
consumer.on("message", function (message, ppid) {
|
|
483
|
+
console.log("OnMessage Data Channel", message);
|
|
484
|
+
});
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
consumerObj = data.message.consumer;
|
|
489
|
+
this.consumerTransport.consume(consumerObj).then(function (consumer) {
|
|
490
|
+
var _a, _b;
|
|
491
|
+
_this.consumers.push(consumer);
|
|
492
|
+
var mediaTrack = consumer.track;
|
|
493
|
+
var data = consumer.appData.producerData;
|
|
494
|
+
log.info(data);
|
|
495
|
+
var participant = (_a = _this.communicationHandler) === null || _a === void 0 ? void 0 : _a.addParticipantIfNotExist(data.participant, true);
|
|
496
|
+
if (participant) {
|
|
497
|
+
var track = new Track(participant, false, data.trackKind, mediaTrack);
|
|
498
|
+
(_b = _this.communicationHandler) === null || _b === void 0 ? void 0 : _b.addUpdateRemoteTrack(track, participant, true);
|
|
499
|
+
}
|
|
500
|
+
var messageJson = { to: "self", type: SFUMessageType.ResumeConsumer, message: { id: consumer.id } };
|
|
501
|
+
_this.sendSFUMessageToSocket(messageJson);
|
|
502
|
+
});
|
|
503
|
+
}
|
|
440
504
|
}
|
|
441
505
|
return [2 /*return*/];
|
|
442
506
|
});
|
|
@@ -466,6 +530,16 @@ var SFUHandler = /** @class */ (function (_super) {
|
|
|
466
530
|
producer.close();
|
|
467
531
|
}
|
|
468
532
|
});
|
|
533
|
+
this.dataProducers.forEach(function (producer) {
|
|
534
|
+
if (producer.closed === false) {
|
|
535
|
+
producer.close();
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
this.dataConsumer.forEach(function (consumer) {
|
|
539
|
+
if (consumer.closed === false) {
|
|
540
|
+
consumer.close();
|
|
541
|
+
}
|
|
542
|
+
});
|
|
469
543
|
this.consumers.forEach(function (consumer) {
|
|
470
544
|
if (consumer.closed === false) {
|
|
471
545
|
consumer.close();
|
|
@@ -12,4 +12,6 @@ export declare class WebrtcHandler extends BaseVideoCallHandler {
|
|
|
12
12
|
pauseTrack(track: Track): void;
|
|
13
13
|
resumeTrack(track: Track): void;
|
|
14
14
|
sendTrack(track: Track): void;
|
|
15
|
+
createDataChannel(): Promise<void>;
|
|
16
|
+
sendMessageViaDataChannel(messagePayload: any): void;
|
|
15
17
|
}
|
|
@@ -91,6 +91,16 @@ var WebrtcHandler = /** @class */ (function (_super) {
|
|
|
91
91
|
WebrtcHandler.prototype.sendTrack = function (track) {
|
|
92
92
|
throw new Error("Method not implemented.");
|
|
93
93
|
};
|
|
94
|
+
WebrtcHandler.prototype.createDataChannel = function () {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
96
|
+
return __generator(this, function (_a) {
|
|
97
|
+
return [2 /*return*/];
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
WebrtcHandler.prototype.sendMessageViaDataChannel = function (messagePayload) {
|
|
102
|
+
throw new Error('Method not implemented.');
|
|
103
|
+
};
|
|
94
104
|
return WebrtcHandler;
|
|
95
105
|
}(BaseVideoCallHandler));
|
|
96
106
|
export { WebrtcHandler };
|
|
@@ -36,6 +36,7 @@ export declare enum SFUMessageType {
|
|
|
36
36
|
OnSendTransport = "onSendTransport",
|
|
37
37
|
OnConsumeTransport = "onConsumeTransport",
|
|
38
38
|
OnTransportProduceSyncRequest = "transportProduceSync",
|
|
39
|
+
OnTransportDataProduceSyncRequest = "dataTransportProduceSync",
|
|
39
40
|
OnReadyToConsume = "readyToConsume",
|
|
40
41
|
OnProducerClosed = "producerClosed",
|
|
41
42
|
OnPauseProducer = "pauseProducer",
|
|
@@ -92,6 +92,7 @@ export var SFUMessageType;
|
|
|
92
92
|
SFUMessageType["OnSendTransport"] = "onSendTransport";
|
|
93
93
|
SFUMessageType["OnConsumeTransport"] = "onConsumeTransport";
|
|
94
94
|
SFUMessageType["OnTransportProduceSyncRequest"] = "transportProduceSync";
|
|
95
|
+
SFUMessageType["OnTransportDataProduceSyncRequest"] = "dataTransportProduceSync";
|
|
95
96
|
SFUMessageType["OnReadyToConsume"] = "readyToConsume";
|
|
96
97
|
SFUMessageType["OnProducerClosed"] = "producerClosed";
|
|
97
98
|
SFUMessageType["OnPauseProducer"] = "pauseProducer";
|