@techsee/techsee-media-service 999.20.0-nodejs.lite.2 → 999.20.1-alpha
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/README.md +28 -27
- package/lib/LocalStreamManager.d.ts +0 -1
- package/lib/LocalStreamManager.d.ts.map +1 -1
- package/lib/LocalStreamManager.js +84 -82
- package/lib/LocalStreamManager.js.map +1 -1
- package/lib/MediaConstants.d.ts +3 -21
- package/lib/MediaConstants.d.ts.map +1 -1
- package/lib/MediaConstants.js +13 -32
- package/lib/MediaConstants.js.map +1 -1
- package/lib/MediaContracts.d.ts +3 -9
- package/lib/MediaContracts.d.ts.map +1 -1
- package/lib/MediaContracts.js +4 -1
- package/lib/MediaContracts.js.map +1 -1
- package/lib/MediaPublisher.d.ts +0 -1
- package/lib/MediaPublisher.d.ts.map +1 -1
- package/lib/MediaPublisher.js +10 -7
- package/lib/MediaPublisher.js.map +1 -1
- package/lib/MediaServiceBase.d.ts +0 -1
- package/lib/MediaServiceBase.d.ts.map +1 -1
- package/lib/MediaServiceBase.js +199 -170
- package/lib/MediaServiceBase.js.map +1 -1
- package/lib/MediaSession/MediaServer.d.ts +0 -1
- package/lib/MediaSession/MediaServer.d.ts.map +1 -1
- package/lib/MediaSession/MediaServer.js +74 -62
- package/lib/MediaSession/MediaServer.js.map +1 -1
- package/lib/MediaSession/MediaSessionBase.d.ts +0 -1
- package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
- package/lib/MediaSession/MediaSessionBase.js +23 -19
- package/lib/MediaSession/MediaSessionBase.js.map +1 -1
- package/lib/MediaSession/SessionOpentok.d.ts +2 -3
- package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
- package/lib/MediaSession/SessionOpentok.js +80 -51
- package/lib/MediaSession/SessionOpentok.js.map +1 -1
- package/lib/MediaSession/SessionTurn.d.ts +0 -1
- package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
- package/lib/MediaSession/SessionTurn.js +151 -109
- package/lib/MediaSession/SessionTurn.js.map +1 -1
- package/lib/MediaSession/TurnConstants.d.ts +0 -1
- package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
- package/lib/MediaSession/TurnConstants.js +16 -1
- package/lib/MediaSession/TurnConstants.js.map +1 -1
- package/lib/MediaSubscriber.d.ts +0 -1
- package/lib/MediaSubscriber.d.ts.map +1 -1
- package/lib/MediaSubscriber.js +43 -37
- package/lib/MediaSubscriber.js.map +1 -1
- package/lib/MediaUtils/Compatibility.d.ts +0 -3
- package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
- package/lib/MediaUtils/Compatibility.js +34 -76
- package/lib/MediaUtils/Compatibility.js.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.d.ts +3 -6
- package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.js +65 -70
- package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
- package/lib/MediaUtils/MediaTracer.d.ts +0 -1
- package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
- package/lib/MediaUtils/MediaTracer.js +5 -2
- package/lib/MediaUtils/MediaTracer.js.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.d.ts +14 -17
- package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.js +54 -98
- package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts +10 -0
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesHelper.js +140 -0
- package/lib/MultiParty/MediaCapabilitiesHelper.js.map +1 -0
- package/lib/MultiParty/MultiParty.d.ts +21 -0
- package/lib/MultiParty/MultiParty.d.ts.map +1 -0
- package/lib/MultiParty/MultiParty.js +160 -0
- package/lib/MultiParty/MultiParty.js.map +1 -0
- package/lib/MultiParty/OpentokMultiparty.d.ts +32 -0
- package/lib/MultiParty/OpentokMultiparty.d.ts.map +1 -0
- package/lib/MultiParty/OpentokMultiparty.js +184 -0
- package/lib/MultiParty/OpentokMultiparty.js.map +1 -0
- package/lib/TechseeMediaStream.d.ts +0 -1
- package/lib/TechseeMediaStream.d.ts.map +1 -1
- package/lib/TechseeMediaStream.js +12 -9
- package/lib/TechseeMediaStream.js.map +1 -1
- package/lib/oldCode/constants.js +20 -0
- package/lib/oldCode/constants.js.map +1 -0
- package/lib/oldCode/event-emitter.js +39 -0
- package/lib/oldCode/event-emitter.js.map +1 -0
- package/lib/oldCode/index.js +64 -0
- package/lib/oldCode/index.js.map +1 -0
- package/lib/oldCode/opentok/session.js +310 -0
- package/lib/oldCode/opentok/session.js.map +1 -0
- package/lib/oldCode/opentok/stream.js +310 -0
- package/lib/oldCode/opentok/stream.js.map +1 -0
- package/lib/oldCode/publisher.js +143 -0
- package/lib/oldCode/publisher.js.map +1 -0
- package/lib/oldCode/service.js +395 -0
- package/lib/oldCode/service.js.map +1 -0
- package/lib/oldCode/session.js +110 -0
- package/lib/oldCode/session.js.map +1 -0
- package/lib/oldCode/stream.js +195 -0
- package/lib/oldCode/stream.js.map +1 -0
- package/lib/oldCode/subscriber.js +90 -0
- package/lib/oldCode/subscriber.js.map +1 -0
- package/lib/oldCode/tracer.d.ts +36 -0
- package/lib/oldCode/tracer.d.ts.map +1 -0
- package/lib/oldCode/tracer.js +161 -0
- package/lib/oldCode/tracer.js.map +1 -0
- package/lib/oldCode/utils/ImageFixer.d.ts +1 -0
- package/lib/oldCode/utils/ImageFixer.d.ts.map +1 -0
- package/lib/oldCode/utils/ImageFixer.js +59 -0
- package/lib/oldCode/utils/ImageFixer.js.map +1 -0
- package/lib/oldCode/webrtc/constants.js +114 -0
- package/lib/oldCode/webrtc/constants.js.map +1 -0
- package/lib/oldCode/webrtc/helper.js +173 -0
- package/lib/oldCode/webrtc/helper.js.map +1 -0
- package/lib/oldCode/webrtc/session-kms.js +558 -0
- package/lib/oldCode/webrtc/session-kms.js.map +1 -0
- package/lib/oldCode/webrtc/session-loopback.js +336 -0
- package/lib/oldCode/webrtc/session-loopback.js.map +1 -0
- package/lib/oldCode/webrtc/session-turn.js +880 -0
- package/lib/oldCode/webrtc/session-turn.js.map +1 -0
- package/lib/oldCode/webrtc/session-turn.v2.js +583 -0
- package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -0
- package/lib/oldCode/webrtc/session.js +52 -0
- package/lib/oldCode/webrtc/session.js.map +1 -0
- package/lib/oldCode/webrtc/stream.js +674 -0
- package/lib/oldCode/webrtc/stream.js.map +1 -0
- package/lib/oldCode/webrtc/temasys/adapter-loader.js +12 -0
- package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -0
- package/lib/oldCode/webrtc/temasys/adapter.js +5861 -0
- package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -0
- package/lib/oldCode/webrtc/webrtc-ie-shim.js +3007 -0
- package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -0
- package/lib/qos/raw-qos.js +145 -84
- package/lib/qos/raw-qos.js.map +1 -1
- package/lib/webrtc-ie-shim.js +2950 -1896
- package/lib/webrtc-ie-shim.js.map +1 -1
- package/package.json +59 -65
- package/lib/MediaUtils/index.d.ts +0 -2
- package/lib/MediaUtils/index.d.ts.map +0 -1
- package/lib/MediaUtils/index.js +0 -6
- package/lib/MediaUtils/index.js.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesService.d.ts +0 -18
- package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesService.js +0 -158
- package/lib/MultiParty/MediaCapabilitiesService.js.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +0 -6
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesUtils.js +0 -123
- package/lib/MultiParty/MediaCapabilitiesUtils.js.map +0 -1
- package/lib/MultiParty/MediaTracer.d.ts +0 -4
- package/lib/MultiParty/MediaTracer.d.ts.map +0 -1
- package/lib/MultiParty/MediaTracer.js +0 -10
- package/lib/MultiParty/MediaTracer.js.map +0 -1
- package/lib/MultiParty/MultiPartyService.d.ts +0 -49
- package/lib/MultiParty/MultiPartyService.d.ts.map +0 -1
- package/lib/MultiParty/MultiPartyService.js +0 -30
- package/lib/MultiParty/MultiPartyService.js.map +0 -1
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts +0 -4
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +0 -1
- package/lib/MultiParty/MultiPartyServiceFactory.js +0 -13
- package/lib/MultiParty/MultiPartyServiceFactory.js.map +0 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +0 -89
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +0 -1
- package/lib/MultiParty/MultipartyServiceEventTypes.js +0 -16
- package/lib/MultiParty/MultipartyServiceEventTypes.js.map +0 -1
- package/lib/MultiParty/index.d.ts +0 -7
- package/lib/MultiParty/index.d.ts.map +0 -1
- package/lib/MultiParty/index.js +0 -25
- package/lib/MultiParty/index.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +0 -38
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js +0 -492
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts +0 -34
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisher.js +0 -121
- package/lib/MultiParty/opentok/OpentokPublisher.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +0 -20
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +0 -49
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +0 -6
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js +0 -48
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +0 -2
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokSubscriber.js +0 -26
- package/lib/MultiParty/opentok/OpentokSubscriber.js.map +0 -1
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +0 -19
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +0 -1
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js +0 -182
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +0 -1
- package/lib/MultiParty/opentok/trace.d.ts +0 -3
- package/lib/MultiParty/opentok/trace.d.ts.map +0 -1
- package/lib/MultiParty/opentok/trace.js +0 -18
- package/lib/MultiParty/opentok/trace.js.map +0 -1
- package/lib/MultiParty/opentok.d.ts +0 -463
- package/lib/MultiParty/types.d.ts +0 -33
- package/lib/MultiParty/types.d.ts.map +0 -1
- package/lib/MultiParty/types.js +0 -3
- package/lib/MultiParty/types.js.map +0 -1
- package/lib/MultiParty/utils.d.ts +0 -10
- package/lib/MultiParty/utils.d.ts.map +0 -1
- package/lib/MultiParty/utils.js +0 -17
- package/lib/MultiParty/utils.js.map +0 -1
- package/lib/qos/raw-qos.d.ts +0 -29
- package/lib/qos/raw-qos.d.ts.map +0 -1
- package/lib/webrtc-ie-shim.d.ts +0 -4
- package/lib/webrtc-ie-shim.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["MultiParty/MultiParty.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","pop","length","push","defineProperty","exports","couldStartMultiparty","MultiParty","MULTI_PARTIES_EVENTS","maxParticipantsNumber","participateDomId","MediaCapabilitiesHelper_1","require","MediaTracer_1","MediaConstants_1","events_1","trace","getMediaTracer","_super","arguments","EventEmitter","settings","mediaCapabilitiesHelper","err_1","_a","MediaCapabilitiesHelper","init","hasWebRTC","hasGetUserMediaSupported","isAudioSession","defaultCamera","CameraTypes","NONE","hasCamera","hasMicrophone","error","JSON","stringify"],"mappings":"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","file":"MultiParty.js","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.couldStartMultiparty = exports.MultiParty = exports.MULTI_PARTIES_EVENTS = exports.maxParticipantsNumber = exports.participateDomId = void 0;\nvar MediaCapabilitiesHelper_1 = require(\"./MediaCapabilitiesHelper\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar events_1 = require(\"events\");\nvar trace = MediaTracer_1.getMediaTracer('Multiparty');\nexports.participateDomId = 'participate';\nexports.maxParticipantsNumber = 2;\nvar MULTI_PARTIES_EVENTS;\n(function (MULTI_PARTIES_EVENTS) {\n MULTI_PARTIES_EVENTS[\"connectFailed\"] = \"connectFailed\";\n MULTI_PARTIES_EVENTS[\"streamDestroyed\"] = \"streamDestroyed\";\n MULTI_PARTIES_EVENTS[\"connectionCreated\"] = \"connectionCreated\";\n MULTI_PARTIES_EVENTS[\"connectionDestroyed\"] = \"connectionDestroyed\";\n MULTI_PARTIES_EVENTS[\"streamCreated\"] = \"streamCreated\";\n})(MULTI_PARTIES_EVENTS = exports.MULTI_PARTIES_EVENTS || (exports.MULTI_PARTIES_EVENTS = {}));\nvar MultiParty = /** @class */ (function (_super) {\n __extends(MultiParty, _super);\n function MultiParty() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MultiParty;\n}(events_1.EventEmitter));\nexports.MultiParty = MultiParty;\nvar couldStartMultiparty = function (settings) { return __awaiter(void 0, void 0, void 0, function () {\n var mediaCapabilitiesHelper, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, MediaCapabilitiesHelper_1.MediaCapabilitiesHelper.init()];\n case 1:\n mediaCapabilitiesHelper = _a.sent();\n if (!mediaCapabilitiesHelper.hasWebRTC() || !mediaCapabilitiesHelper.hasGetUserMediaSupported) {\n return [2 /*return*/, false];\n }\n if (settings.isAudioSession) {\n return [2 /*return*/, (settings.defaultCamera !== MediaConstants_1.CameraTypes.NONE)\n ? mediaCapabilitiesHelper.hasCamera() && mediaCapabilitiesHelper.hasMicrophone()\n : mediaCapabilitiesHelper.hasMicrophone()];\n }\n return [2 /*return*/, (settings.defaultCamera !== MediaConstants_1.CameraTypes.NONE)\n ? mediaCapabilitiesHelper.hasCamera()\n : false];\n case 2:\n err_1 = _a.sent();\n trace.error(JSON.stringify(err_1));\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexports.couldStartMultiparty = couldStartMultiparty;\n\n//# sourceMappingURL=MultiParty.js.map\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MultiParty } from './MultiParty';
|
|
2
|
+
import { CameraTypes } from '../MediaConstants';
|
|
3
|
+
export { couldStartMultiparty } from './MultiParty';
|
|
4
|
+
export declare class OpentokMultiparty extends MultiParty {
|
|
5
|
+
subscribers: Array<any>;
|
|
6
|
+
session: any;
|
|
7
|
+
currentPublisher: any;
|
|
8
|
+
credentials: any;
|
|
9
|
+
settings: {
|
|
10
|
+
[name: string]: any;
|
|
11
|
+
};
|
|
12
|
+
constructor(settings: {
|
|
13
|
+
defaultCamera: CameraTypes;
|
|
14
|
+
isAudioSession: boolean;
|
|
15
|
+
});
|
|
16
|
+
connect(credentials: {
|
|
17
|
+
apiKey: string;
|
|
18
|
+
sessionId: string;
|
|
19
|
+
token: string;
|
|
20
|
+
}): void;
|
|
21
|
+
sessionDisconnect(): void;
|
|
22
|
+
createPublisher(): void;
|
|
23
|
+
streamCreatedHandler(event: {
|
|
24
|
+
stream: any;
|
|
25
|
+
}): void;
|
|
26
|
+
streamDestroyedHandler(event: any): void;
|
|
27
|
+
connectionCreatedHandler(event: any): void;
|
|
28
|
+
connectionDestroyedHandler(event: any): void;
|
|
29
|
+
get ownConnectionId(): string | undefined;
|
|
30
|
+
private sessionExistsGuard;
|
|
31
|
+
traceError: (error: any) => void;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/MultiParty/OpentokMultiparty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAgE,MAAM,cAAc,CAAC;AACvG,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAS9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAQlD,qBAAa,iBAAkB,SAAQ,UAAU;IAE7C,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAC7B,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,GAAG,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBAEtB,QAAQ,EAAE;QAAE,aAAa,EAAE,WAAW,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE;IAK7E,OAAO,CAAC,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAqChF,iBAAiB,IAAI,IAAI;IAUzB,eAAe,IAAI,IAAI;IAsBvB,oBAAoB,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAqClD,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAKxC,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAc1C,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAK5C,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAMxC;IAED,OAAO,CAAC,kBAAkB;IAM1B,UAAU,UAAW,GAAG,KAAG,IAAI,CAE7B;CACL","file":"OpentokMultiparty.d.ts","sourcesContent":["import {MultiParty, participateDomId, maxParticipantsNumber, MULTI_PARTIES_EVENTS} from './MultiParty';\nimport {CameraTypes} from '../MediaConstants';\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {throwableGuard} from '@techsee/techsee-common/lib/core/guards';\nimport get from 'lodash/get';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst OT = require('@opentok/client');\nconst trace = getMediaTracer('Multiparty');\n\nexport {couldStartMultiparty} from './MultiParty';\n\n// The preferred camera position to use for the video source\nenum OpentokFacingMode {\n USER = 'user',\n ENVIRONMENT = 'environment'\n}\n\nexport class OpentokMultiparty extends MultiParty {\n //todo: define interfaces\n subscribers: Array<any> = [];\n session: any;\n currentPublisher: any;\n credentials: any;\n settings: { [name: string]: any };\n\n constructor(settings: { defaultCamera: CameraTypes, isAudioSession: boolean }) {\n super();\n this.settings = settings;\n }\n\n connect(credentials: { apiKey: string, sessionId: string, token: string }): void {\n this.credentials = credentials;\n\n try {\n this.session = OT.initSession(credentials.apiKey, credentials.sessionId);\n } catch (err) {\n trace.error(JSON.stringify(err));\n this.emit(MULTI_PARTIES_EVENTS.connectFailed, {meta: {err: JSON.stringify(err)}});\n\n return;\n }\n\n this.session.on('connectionCreated', this.connectionCreatedHandler);\n this.session.on('connectionDestroyed', this.connectionDestroyedHandler);\n this.session.on('streamCreated', this.streamCreatedHandler);\n this.session.on('streamDestroyed', this.streamDestroyedHandler);\n\n this.session.connect(this.credentials.token, (error: any) => {\n if (error) {\n this.traceError(error);\n this.emit(MULTI_PARTIES_EVENTS.connectFailed, {meta: {err: JSON.stringify(error)}});\n this.session.off();\n this.session = null;\n\n return;\n }\n\n if (this.settings.defaultCamera === CameraTypes.NONE) {\n trace.info('camera is none, no need to create publisher');\n\n return;\n }\n\n this.createPublisher();\n });\n }\n\n sessionDisconnect(): void {\n trace.info('Disconnecting from session');\n\n if (this.session) {\n this.session.disconnect();\n\n trace.info('Disconnection from session completed');\n }\n }\n\n createPublisher(): void {\n const properties = {\n insertMode: 'append',\n width: '200',\n height: '200',\n facingMode: this.settings.defaultCamera.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT\n };\n\n this.currentPublisher = OT.initPublisher(`${participateDomId}1`, properties, this.traceError);\n this.currentPublisher.on('videoElementCreated', (event: any) => {\n trace.info('videoElementCreated', event);\n });\n this.currentPublisher.on('streamDestroyed', (event: any) => {\n trace.info('Publisher stream destroyed', event);\n });\n this.currentPublisher.on('streamCreated', (event: any) => {\n trace.info('publisher stream created', event, get(this.currentPublisher, 'stream.hasAudio'));\n });\n\n this.session.publish(this.currentPublisher, this.traceError);\n }\n\n streamCreatedHandler(event: { stream: any }): void {\n trace.info('streamCreatedHandler', event.stream);\n this.emit(MULTI_PARTIES_EVENTS.streamCreated, event);\n\n const {stream} = event;\n const {connection} = stream || {connection: null};\n\n if (!this.sessionExistsGuard(false) || !stream || connection.connectionId === this.ownConnectionId) {\n return;\n }\n\n if (this.subscribers.length >= maxParticipantsNumber - 1) {\n trace.info(`a new subscriber cannot be added, as the number of participants reached its limit: ${maxParticipantsNumber}`);\n } else {\n //fixme: use width and height passed in settings\n const properties = {\n insertMode: 'append',\n width: '200',\n height: '200'\n };\n\n const subscriber = this.session.subscribe(event.stream, `${participateDomId}${this.subscribers.length}`, properties, (err: any) => {\n this.traceError(err);\n\n subscriber.on('videoElementCreated', (event: any) => {\n trace.info('videoElementCreated', event);\n });\n });\n\n this.subscribers.push({\n subscriber,\n connectionId: connection.connectionId,\n clientRole: connection?.data?.clientRole ? JSON.parse(connection.data).clientRole : 'default' //fixme temp workaround for BE\n });\n }\n }\n\n streamDestroyedHandler(event: any): void {\n trace.info('streamDestroyedHandler', event);\n this.emit(MULTI_PARTIES_EVENTS.streamDestroyed, {meta: {event: JSON.stringify(event)}});\n }\n\n connectionCreatedHandler(event: any): void {\n trace.info('connectionCreatedHandler', event);\n const {connection} = event;\n\n if (!this.sessionExistsGuard(false) || !connection) {\n return;\n }\n\n const clientRole = 'default'; //JSON.parse(connection.data).clientRole;\n\n this.emit(MULTI_PARTIES_EVENTS.connectionCreated, {meta: {clientRole, event: JSON.stringify(event)}});\n\n }\n\n connectionDestroyedHandler(event: any): void {\n trace.info('connectionDestroyedHandler', event);\n this.emit(MULTI_PARTIES_EVENTS.connectionDestroyed, {meta: {event: JSON.stringify(event)}});\n }\n\n get ownConnectionId(): string | undefined {\n if (this.session) {\n return this.session!.connection!.connectionId;\n }\n\n return undefined;\n }\n\n private sessionExistsGuard(shouldThrow = true): boolean {\n const connected = !!(this.session && this.session.connection && this.session.connection.connectionId);\n\n return throwableGuard(connected, 'There no OpenTok session exists', shouldThrow);\n }\n\n traceError = (error: any): void => {\n trace.error(error);\n };\n}\n"]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __extends = undefined && undefined.__extends || function () {
|
|
4
|
+
var _extendStatics = function extendStatics(d, b) {
|
|
5
|
+
_extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) {
|
|
6
|
+
d.__proto__ = b;
|
|
7
|
+
} || function (d, b) {
|
|
8
|
+
for (var p in b) {
|
|
9
|
+
if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
return _extendStatics(d, b);
|
|
13
|
+
};
|
|
14
|
+
return function (d, b) {
|
|
15
|
+
_extendStatics(d, b);
|
|
16
|
+
function __() {
|
|
17
|
+
this.constructor = d;
|
|
18
|
+
}
|
|
19
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
20
|
+
};
|
|
21
|
+
}();
|
|
22
|
+
var __importDefault = undefined && undefined.__importDefault || function (mod) {
|
|
23
|
+
return mod && mod.__esModule ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.OpentokMultiparty = exports.couldStartMultiparty = void 0;
|
|
27
|
+
var MultiParty_1 = require("./MultiParty");
|
|
28
|
+
var MediaConstants_1 = require("../MediaConstants");
|
|
29
|
+
var MediaTracer_1 = require("../MediaUtils/MediaTracer");
|
|
30
|
+
var guards_1 = require("@techsee/techsee-common/lib/core/guards");
|
|
31
|
+
var get_1 = __importDefault(require("lodash/get"));
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
33
|
+
var OT = require('@opentok/client');
|
|
34
|
+
var trace = MediaTracer_1.getMediaTracer('Multiparty');
|
|
35
|
+
var MultiParty_2 = require("./MultiParty");
|
|
36
|
+
Object.defineProperty(exports, "couldStartMultiparty", { enumerable: true, get: function get() {
|
|
37
|
+
return MultiParty_2.couldStartMultiparty;
|
|
38
|
+
} });
|
|
39
|
+
// The preferred camera position to use for the video source
|
|
40
|
+
var OpentokFacingMode;
|
|
41
|
+
(function (OpentokFacingMode) {
|
|
42
|
+
OpentokFacingMode["USER"] = "user";
|
|
43
|
+
OpentokFacingMode["ENVIRONMENT"] = "environment";
|
|
44
|
+
})(OpentokFacingMode || (OpentokFacingMode = {}));
|
|
45
|
+
var OpentokMultiparty = /** @class */function (_super) {
|
|
46
|
+
__extends(OpentokMultiparty, _super);
|
|
47
|
+
function OpentokMultiparty(settings) {
|
|
48
|
+
var _this = _super.call(this) || this;
|
|
49
|
+
//todo: define interfaces
|
|
50
|
+
_this.subscribers = [];
|
|
51
|
+
_this.traceError = function (error) {
|
|
52
|
+
trace.error(error);
|
|
53
|
+
};
|
|
54
|
+
_this.settings = settings;
|
|
55
|
+
return _this;
|
|
56
|
+
}
|
|
57
|
+
OpentokMultiparty.prototype.connect = function (credentials) {
|
|
58
|
+
var _this = this;
|
|
59
|
+
this.credentials = credentials;
|
|
60
|
+
try {
|
|
61
|
+
this.session = OT.initSession(credentials.apiKey, credentials.sessionId);
|
|
62
|
+
} catch (err) {
|
|
63
|
+
trace.error(JSON.stringify(err));
|
|
64
|
+
this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectFailed, { meta: { err: JSON.stringify(err) } });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.session.on('connectionCreated', this.connectionCreatedHandler);
|
|
68
|
+
this.session.on('connectionDestroyed', this.connectionDestroyedHandler);
|
|
69
|
+
this.session.on('streamCreated', this.streamCreatedHandler);
|
|
70
|
+
this.session.on('streamDestroyed', this.streamDestroyedHandler);
|
|
71
|
+
this.session.connect(this.credentials.token, function (error) {
|
|
72
|
+
if (error) {
|
|
73
|
+
_this.traceError(error);
|
|
74
|
+
_this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectFailed, { meta: { err: JSON.stringify(error) } });
|
|
75
|
+
_this.session.off();
|
|
76
|
+
_this.session = null;
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (_this.settings.defaultCamera === MediaConstants_1.CameraTypes.NONE) {
|
|
80
|
+
trace.info('camera is none, no need to create publisher');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
_this.createPublisher();
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
OpentokMultiparty.prototype.sessionDisconnect = function () {
|
|
87
|
+
trace.info('Disconnecting from session');
|
|
88
|
+
if (this.session) {
|
|
89
|
+
this.session.disconnect();
|
|
90
|
+
trace.info('Disconnection from session completed');
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
OpentokMultiparty.prototype.createPublisher = function () {
|
|
94
|
+
var _this = this;
|
|
95
|
+
var properties = {
|
|
96
|
+
insertMode: 'append',
|
|
97
|
+
width: '200',
|
|
98
|
+
height: '200',
|
|
99
|
+
facingMode: this.settings.defaultCamera.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT
|
|
100
|
+
};
|
|
101
|
+
this.currentPublisher = OT.initPublisher(MultiParty_1.participateDomId + "1", properties, this.traceError);
|
|
102
|
+
this.currentPublisher.on('videoElementCreated', function (event) {
|
|
103
|
+
trace.info('videoElementCreated', event);
|
|
104
|
+
});
|
|
105
|
+
this.currentPublisher.on('streamDestroyed', function (event) {
|
|
106
|
+
trace.info('Publisher stream destroyed', event);
|
|
107
|
+
});
|
|
108
|
+
this.currentPublisher.on('streamCreated', function (event) {
|
|
109
|
+
trace.info('publisher stream created', event, get_1.default(_this.currentPublisher, 'stream.hasAudio'));
|
|
110
|
+
});
|
|
111
|
+
this.session.publish(this.currentPublisher, this.traceError);
|
|
112
|
+
};
|
|
113
|
+
OpentokMultiparty.prototype.streamCreatedHandler = function (event) {
|
|
114
|
+
var _this = this;
|
|
115
|
+
var _a;
|
|
116
|
+
trace.info('streamCreatedHandler', event.stream);
|
|
117
|
+
this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.streamCreated, event);
|
|
118
|
+
var stream = event.stream;
|
|
119
|
+
var connection = (stream || { connection: null }).connection;
|
|
120
|
+
if (!this.sessionExistsGuard(false) || !stream || connection.connectionId === this.ownConnectionId) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (this.subscribers.length >= MultiParty_1.maxParticipantsNumber - 1) {
|
|
124
|
+
trace.info("a new subscriber cannot be added, as the number of participants reached its limit: " + MultiParty_1.maxParticipantsNumber);
|
|
125
|
+
} else {
|
|
126
|
+
//fixme: use width and height passed in settings
|
|
127
|
+
var properties = {
|
|
128
|
+
insertMode: 'append',
|
|
129
|
+
width: '200',
|
|
130
|
+
height: '200'
|
|
131
|
+
};
|
|
132
|
+
var subscriber_1 = this.session.subscribe(event.stream, "" + MultiParty_1.participateDomId + this.subscribers.length, properties, function (err) {
|
|
133
|
+
_this.traceError(err);
|
|
134
|
+
subscriber_1.on('videoElementCreated', function (event) {
|
|
135
|
+
trace.info('videoElementCreated', event);
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
this.subscribers.push({
|
|
139
|
+
subscriber: subscriber_1,
|
|
140
|
+
connectionId: connection.connectionId,
|
|
141
|
+
clientRole: ((_a = connection === null || connection === void 0 ? void 0 : connection.data) === null || _a === void 0 ? void 0 : _a.clientRole) ? JSON.parse(connection.data).clientRole : 'default' //fixme temp workaround for BE
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
OpentokMultiparty.prototype.streamDestroyedHandler = function (event) {
|
|
146
|
+
trace.info('streamDestroyedHandler', event);
|
|
147
|
+
this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.streamDestroyed, { meta: { event: JSON.stringify(event) } });
|
|
148
|
+
};
|
|
149
|
+
OpentokMultiparty.prototype.connectionCreatedHandler = function (event) {
|
|
150
|
+
trace.info('connectionCreatedHandler', event);
|
|
151
|
+
var connection = event.connection;
|
|
152
|
+
if (!this.sessionExistsGuard(false) || !connection) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
var clientRole = 'default'; //JSON.parse(connection.data).clientRole;
|
|
156
|
+
this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectionCreated, { meta: { clientRole: clientRole, event: JSON.stringify(event) } });
|
|
157
|
+
};
|
|
158
|
+
OpentokMultiparty.prototype.connectionDestroyedHandler = function (event) {
|
|
159
|
+
trace.info('connectionDestroyedHandler', event);
|
|
160
|
+
this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectionDestroyed, { meta: { event: JSON.stringify(event) } });
|
|
161
|
+
};
|
|
162
|
+
Object.defineProperty(OpentokMultiparty.prototype, "ownConnectionId", {
|
|
163
|
+
get: function get() {
|
|
164
|
+
if (this.session) {
|
|
165
|
+
return this.session.connection.connectionId;
|
|
166
|
+
}
|
|
167
|
+
return undefined;
|
|
168
|
+
},
|
|
169
|
+
enumerable: false,
|
|
170
|
+
configurable: true
|
|
171
|
+
});
|
|
172
|
+
OpentokMultiparty.prototype.sessionExistsGuard = function (shouldThrow) {
|
|
173
|
+
if (shouldThrow === void 0) {
|
|
174
|
+
shouldThrow = true;
|
|
175
|
+
}
|
|
176
|
+
var connected = !!(this.session && this.session.connection && this.session.connection.connectionId);
|
|
177
|
+
return guards_1.throwableGuard(connected, 'There no OpenTok session exists', shouldThrow);
|
|
178
|
+
};
|
|
179
|
+
return OpentokMultiparty;
|
|
180
|
+
}(MultiParty_1.MultiParty);
|
|
181
|
+
exports.OpentokMultiparty = OpentokMultiparty;
|
|
182
|
+
//# sourceMappingURL=OpentokMultiparty.js.map
|
|
183
|
+
|
|
184
|
+
//# sourceMappingURL=OpentokMultiparty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["MultiParty/OpentokMultiparty.js","../src/MultiParty/OpentokMultiparty.ts"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__importDefault","mod","__esModule","defineProperty","exports","value","OpentokMultiparty","couldStartMultiparty","MultiParty_1","require","MediaConstants_1","MediaTracer_1","guards_1","get_1","OT","trace","getMediaTracer","MultiParty_2","enumerable","get","OpentokFacingMode","_super","settings","_this","subscribers","traceError","error","connect","credentials","session","initSession","apiKey","sessionId","err","JSON","stringify","emit","MULTI_PARTIES_EVENTS","connectFailed","meta","on","connectionCreatedHandler","connectionDestroyedHandler","streamCreatedHandler","streamDestroyedHandler","token","off","defaultCamera","CameraTypes","NONE","info","createPublisher","sessionDisconnect","disconnect","properties","insertMode","width","height","facingMode","FRONT","USER","ENVIRONMENT","currentPublisher","initPublisher","participateDomId","event","default","publish","_a","stream","streamCreated","connection","sessionExistsGuard","connectionId","ownConnectionId","length","maxParticipantsNumber","subscriber_1","subscribe","push","subscriber","clientRole","data","parse","streamDestroyed","connectionCreated","connectionDestroyed","undefined","configurable","shouldThrow","connected","throwableGuard","MultiParty"],"mappings":"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","file":"OpentokMultiparty.js","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpentokMultiparty = exports.couldStartMultiparty = void 0;\nvar MultiParty_1 = require(\"./MultiParty\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar guards_1 = require(\"@techsee/techsee-common/lib/core/guards\");\nvar get_1 = __importDefault(require(\"lodash/get\"));\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nvar OT = require('@opentok/client');\nvar trace = MediaTracer_1.getMediaTracer('Multiparty');\nvar MultiParty_2 = require(\"./MultiParty\");\nObject.defineProperty(exports, \"couldStartMultiparty\", { enumerable: true, get: function () { return MultiParty_2.couldStartMultiparty; } });\n// The preferred camera position to use for the video source\nvar OpentokFacingMode;\n(function (OpentokFacingMode) {\n OpentokFacingMode[\"USER\"] = \"user\";\n OpentokFacingMode[\"ENVIRONMENT\"] = \"environment\";\n})(OpentokFacingMode || (OpentokFacingMode = {}));\nvar OpentokMultiparty = /** @class */ (function (_super) {\n __extends(OpentokMultiparty, _super);\n function OpentokMultiparty(settings) {\n var _this = _super.call(this) || this;\n //todo: define interfaces\n _this.subscribers = [];\n _this.traceError = function (error) {\n trace.error(error);\n };\n _this.settings = settings;\n return _this;\n }\n OpentokMultiparty.prototype.connect = function (credentials) {\n var _this = this;\n this.credentials = credentials;\n try {\n this.session = OT.initSession(credentials.apiKey, credentials.sessionId);\n }\n catch (err) {\n trace.error(JSON.stringify(err));\n this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectFailed, { meta: { err: JSON.stringify(err) } });\n return;\n }\n this.session.on('connectionCreated', this.connectionCreatedHandler);\n this.session.on('connectionDestroyed', this.connectionDestroyedHandler);\n this.session.on('streamCreated', this.streamCreatedHandler);\n this.session.on('streamDestroyed', this.streamDestroyedHandler);\n this.session.connect(this.credentials.token, function (error) {\n if (error) {\n _this.traceError(error);\n _this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectFailed, { meta: { err: JSON.stringify(error) } });\n _this.session.off();\n _this.session = null;\n return;\n }\n if (_this.settings.defaultCamera === MediaConstants_1.CameraTypes.NONE) {\n trace.info('camera is none, no need to create publisher');\n return;\n }\n _this.createPublisher();\n });\n };\n OpentokMultiparty.prototype.sessionDisconnect = function () {\n trace.info('Disconnecting from session');\n if (this.session) {\n this.session.disconnect();\n trace.info('Disconnection from session completed');\n }\n };\n OpentokMultiparty.prototype.createPublisher = function () {\n var _this = this;\n var properties = {\n insertMode: 'append',\n width: '200',\n height: '200',\n facingMode: this.settings.defaultCamera.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT\n };\n this.currentPublisher = OT.initPublisher(MultiParty_1.participateDomId + \"1\", properties, this.traceError);\n this.currentPublisher.on('videoElementCreated', function (event) {\n trace.info('videoElementCreated', event);\n });\n this.currentPublisher.on('streamDestroyed', function (event) {\n trace.info('Publisher stream destroyed', event);\n });\n this.currentPublisher.on('streamCreated', function (event) {\n trace.info('publisher stream created', event, get_1.default(_this.currentPublisher, 'stream.hasAudio'));\n });\n this.session.publish(this.currentPublisher, this.traceError);\n };\n OpentokMultiparty.prototype.streamCreatedHandler = function (event) {\n var _this = this;\n var _a;\n trace.info('streamCreatedHandler', event.stream);\n this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.streamCreated, event);\n var stream = event.stream;\n var connection = (stream || { connection: null }).connection;\n if (!this.sessionExistsGuard(false) || !stream || connection.connectionId === this.ownConnectionId) {\n return;\n }\n if (this.subscribers.length >= MultiParty_1.maxParticipantsNumber - 1) {\n trace.info(\"a new subscriber cannot be added, as the number of participants reached its limit: \" + MultiParty_1.maxParticipantsNumber);\n }\n else {\n //fixme: use width and height passed in settings\n var properties = {\n insertMode: 'append',\n width: '200',\n height: '200'\n };\n var subscriber_1 = this.session.subscribe(event.stream, \"\" + MultiParty_1.participateDomId + this.subscribers.length, properties, function (err) {\n _this.traceError(err);\n subscriber_1.on('videoElementCreated', function (event) {\n trace.info('videoElementCreated', event);\n });\n });\n this.subscribers.push({\n subscriber: subscriber_1,\n connectionId: connection.connectionId,\n clientRole: ((_a = connection === null || connection === void 0 ? void 0 : connection.data) === null || _a === void 0 ? void 0 : _a.clientRole) ? JSON.parse(connection.data).clientRole : 'default' //fixme temp workaround for BE\n });\n }\n };\n OpentokMultiparty.prototype.streamDestroyedHandler = function (event) {\n trace.info('streamDestroyedHandler', event);\n this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.streamDestroyed, { meta: { event: JSON.stringify(event) } });\n };\n OpentokMultiparty.prototype.connectionCreatedHandler = function (event) {\n trace.info('connectionCreatedHandler', event);\n var connection = event.connection;\n if (!this.sessionExistsGuard(false) || !connection) {\n return;\n }\n var clientRole = 'default'; //JSON.parse(connection.data).clientRole;\n this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectionCreated, { meta: { clientRole: clientRole, event: JSON.stringify(event) } });\n };\n OpentokMultiparty.prototype.connectionDestroyedHandler = function (event) {\n trace.info('connectionDestroyedHandler', event);\n this.emit(MultiParty_1.MULTI_PARTIES_EVENTS.connectionDestroyed, { meta: { event: JSON.stringify(event) } });\n };\n Object.defineProperty(OpentokMultiparty.prototype, \"ownConnectionId\", {\n get: function () {\n if (this.session) {\n return this.session.connection.connectionId;\n }\n return undefined;\n },\n enumerable: false,\n configurable: true\n });\n OpentokMultiparty.prototype.sessionExistsGuard = function (shouldThrow) {\n if (shouldThrow === void 0) { shouldThrow = true; }\n var connected = !!(this.session && this.session.connection && this.session.connection.connectionId);\n return guards_1.throwableGuard(connected, 'There no OpenTok session exists', shouldThrow);\n };\n return OpentokMultiparty;\n}(MultiParty_1.MultiParty));\nexports.OpentokMultiparty = OpentokMultiparty;\n","import {MultiParty, participateDomId, maxParticipantsNumber, MULTI_PARTIES_EVENTS} from './MultiParty';\nimport {CameraTypes} from '../MediaConstants';\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {throwableGuard} from '@techsee/techsee-common/lib/core/guards';\nimport get from 'lodash/get';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst OT = require('@opentok/client');\nconst trace = getMediaTracer('Multiparty');\n\nexport {couldStartMultiparty} from './MultiParty';\n\n// The preferred camera position to use for the video source\nenum OpentokFacingMode {\n USER = 'user',\n ENVIRONMENT = 'environment'\n}\n\nexport class OpentokMultiparty extends MultiParty {\n //todo: define interfaces\n subscribers: Array<any> = [];\n session: any;\n currentPublisher: any;\n credentials: any;\n settings: { [name: string]: any };\n\n constructor(settings: { defaultCamera: CameraTypes, isAudioSession: boolean }) {\n super();\n this.settings = settings;\n }\n\n connect(credentials: { apiKey: string, sessionId: string, token: string }): void {\n this.credentials = credentials;\n\n try {\n this.session = OT.initSession(credentials.apiKey, credentials.sessionId);\n } catch (err) {\n trace.error(JSON.stringify(err));\n this.emit(MULTI_PARTIES_EVENTS.connectFailed, {meta: {err: JSON.stringify(err)}});\n\n return;\n }\n\n this.session.on('connectionCreated', this.connectionCreatedHandler);\n this.session.on('connectionDestroyed', this.connectionDestroyedHandler);\n this.session.on('streamCreated', this.streamCreatedHandler);\n this.session.on('streamDestroyed', this.streamDestroyedHandler);\n\n this.session.connect(this.credentials.token, (error: any) => {\n if (error) {\n this.traceError(error);\n this.emit(MULTI_PARTIES_EVENTS.connectFailed, {meta: {err: JSON.stringify(error)}});\n this.session.off();\n this.session = null;\n\n return;\n }\n\n if (this.settings.defaultCamera === CameraTypes.NONE) {\n trace.info('camera is none, no need to create publisher');\n\n return;\n }\n\n this.createPublisher();\n });\n }\n\n sessionDisconnect(): void {\n trace.info('Disconnecting from session');\n\n if (this.session) {\n this.session.disconnect();\n\n trace.info('Disconnection from session completed');\n }\n }\n\n createPublisher(): void {\n const properties = {\n insertMode: 'append',\n width: '200',\n height: '200',\n facingMode: this.settings.defaultCamera.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT\n };\n\n this.currentPublisher = OT.initPublisher(`${participateDomId}1`, properties, this.traceError);\n this.currentPublisher.on('videoElementCreated', (event: any) => {\n trace.info('videoElementCreated', event);\n });\n this.currentPublisher.on('streamDestroyed', (event: any) => {\n trace.info('Publisher stream destroyed', event);\n });\n this.currentPublisher.on('streamCreated', (event: any) => {\n trace.info('publisher stream created', event, get(this.currentPublisher, 'stream.hasAudio'));\n });\n\n this.session.publish(this.currentPublisher, this.traceError);\n }\n\n streamCreatedHandler(event: { stream: any }): void {\n trace.info('streamCreatedHandler', event.stream);\n this.emit(MULTI_PARTIES_EVENTS.streamCreated, event);\n\n const {stream} = event;\n const {connection} = stream || {connection: null};\n\n if (!this.sessionExistsGuard(false) || !stream || connection.connectionId === this.ownConnectionId) {\n return;\n }\n\n if (this.subscribers.length >= maxParticipantsNumber - 1) {\n trace.info(`a new subscriber cannot be added, as the number of participants reached its limit: ${maxParticipantsNumber}`);\n } else {\n //fixme: use width and height passed in settings\n const properties = {\n insertMode: 'append',\n width: '200',\n height: '200'\n };\n\n const subscriber = this.session.subscribe(event.stream, `${participateDomId}${this.subscribers.length}`, properties, (err: any) => {\n this.traceError(err);\n\n subscriber.on('videoElementCreated', (event: any) => {\n trace.info('videoElementCreated', event);\n });\n });\n\n this.subscribers.push({\n subscriber,\n connectionId: connection.connectionId,\n clientRole: connection?.data?.clientRole ? JSON.parse(connection.data).clientRole : 'default' //fixme temp workaround for BE\n });\n }\n }\n\n streamDestroyedHandler(event: any): void {\n trace.info('streamDestroyedHandler', event);\n this.emit(MULTI_PARTIES_EVENTS.streamDestroyed, {meta: {event: JSON.stringify(event)}});\n }\n\n connectionCreatedHandler(event: any): void {\n trace.info('connectionCreatedHandler', event);\n const {connection} = event;\n\n if (!this.sessionExistsGuard(false) || !connection) {\n return;\n }\n\n const clientRole = 'default'; //JSON.parse(connection.data).clientRole;\n\n this.emit(MULTI_PARTIES_EVENTS.connectionCreated, {meta: {clientRole, event: JSON.stringify(event)}});\n\n }\n\n connectionDestroyedHandler(event: any): void {\n trace.info('connectionDestroyedHandler', event);\n this.emit(MULTI_PARTIES_EVENTS.connectionDestroyed, {meta: {event: JSON.stringify(event)}});\n }\n\n get ownConnectionId(): string | undefined {\n if (this.session) {\n return this.session!.connection!.connectionId;\n }\n\n return undefined;\n }\n\n private sessionExistsGuard(shouldThrow = true): boolean {\n const connected = !!(this.session && this.session.connection && this.session.connection.connectionId);\n\n return throwableGuard(connected, 'There no OpenTok session exists', shouldThrow);\n }\n\n traceError = (error: any): void => {\n trace.error(error);\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/TechseeMediaStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAGxE,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;gBAElC,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO;IAQ/F,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED,IAAI,UAAU,IAAI,oBAAoB,CAErC;CACJ","file":"TechseeMediaStream.d.ts","sourcesContent":["import {KnownMediaStream, KnownMediaStreamKind} from './MediaConstants';\n\n\nexport class TechseeMediaStream {\n private readonly _mediaStreamTrack: MediaStreamTrack;\n private readonly _streamType: KnownMediaStream;\n private readonly _isRemote: boolean;\n private readonly dedicatedStream: MediaStream;\n\n constructor(mediaStreamTrack: MediaStreamTrack, streamType: KnownMediaStream, isRemote: boolean) {\n this._isRemote = isRemote;\n this._streamType = streamType;\n this._mediaStreamTrack = mediaStreamTrack;\n\n this.dedicatedStream = new MediaStream([mediaStreamTrack]);\n }\n\n get isRemote(): boolean {\n return this._isRemote;\n }\n\n get streamId(): string {\n return this._mediaStreamTrack.id;\n }\n\n get streamType(): KnownMediaStream {\n return this._streamType;\n }\n\n get mediaStream(): MediaStream {\n return this.dedicatedStream;\n }\n\n get mediaTrack(): MediaStreamTrack {\n return this._mediaStreamTrack;\n }\n\n get streamKind(): KnownMediaStreamKind {\n return this._mediaStreamTrack.kind as any;\n }\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.TechseeMediaStream = void 0;
|
|
4
|
-
var TechseeMediaStream =
|
|
5
|
+
var TechseeMediaStream = /** @class */function () {
|
|
5
6
|
function TechseeMediaStream(mediaStreamTrack, streamType, isRemote) {
|
|
6
7
|
this._isRemote = isRemote;
|
|
7
8
|
this._streamType = streamType;
|
|
@@ -9,48 +10,50 @@ var TechseeMediaStream = (function () {
|
|
|
9
10
|
this.dedicatedStream = new MediaStream([mediaStreamTrack]);
|
|
10
11
|
}
|
|
11
12
|
Object.defineProperty(TechseeMediaStream.prototype, "isRemote", {
|
|
12
|
-
get: function () {
|
|
13
|
+
get: function get() {
|
|
13
14
|
return this._isRemote;
|
|
14
15
|
},
|
|
15
16
|
enumerable: false,
|
|
16
17
|
configurable: true
|
|
17
18
|
});
|
|
18
19
|
Object.defineProperty(TechseeMediaStream.prototype, "streamId", {
|
|
19
|
-
get: function () {
|
|
20
|
+
get: function get() {
|
|
20
21
|
return this._mediaStreamTrack.id;
|
|
21
22
|
},
|
|
22
23
|
enumerable: false,
|
|
23
24
|
configurable: true
|
|
24
25
|
});
|
|
25
26
|
Object.defineProperty(TechseeMediaStream.prototype, "streamType", {
|
|
26
|
-
get: function () {
|
|
27
|
+
get: function get() {
|
|
27
28
|
return this._streamType;
|
|
28
29
|
},
|
|
29
30
|
enumerable: false,
|
|
30
31
|
configurable: true
|
|
31
32
|
});
|
|
32
33
|
Object.defineProperty(TechseeMediaStream.prototype, "mediaStream", {
|
|
33
|
-
get: function () {
|
|
34
|
+
get: function get() {
|
|
34
35
|
return this.dedicatedStream;
|
|
35
36
|
},
|
|
36
37
|
enumerable: false,
|
|
37
38
|
configurable: true
|
|
38
39
|
});
|
|
39
40
|
Object.defineProperty(TechseeMediaStream.prototype, "mediaTrack", {
|
|
40
|
-
get: function () {
|
|
41
|
+
get: function get() {
|
|
41
42
|
return this._mediaStreamTrack;
|
|
42
43
|
},
|
|
43
44
|
enumerable: false,
|
|
44
45
|
configurable: true
|
|
45
46
|
});
|
|
46
47
|
Object.defineProperty(TechseeMediaStream.prototype, "streamKind", {
|
|
47
|
-
get: function () {
|
|
48
|
+
get: function get() {
|
|
48
49
|
return this._mediaStreamTrack.kind;
|
|
49
50
|
},
|
|
50
51
|
enumerable: false,
|
|
51
52
|
configurable: true
|
|
52
53
|
});
|
|
53
54
|
return TechseeMediaStream;
|
|
54
|
-
}()
|
|
55
|
+
}();
|
|
55
56
|
exports.TechseeMediaStream = TechseeMediaStream;
|
|
56
|
-
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=TechseeMediaStream.js.map
|
|
59
|
+
//# sourceMappingURL=TechseeMediaStream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["TechseeMediaStream.js","../src/TechseeMediaStream.ts"],"names":["Object","defineProperty","exports","value","TechseeMediaStream","mediaStreamTrack","streamType","isRemote","_isRemote","_streamType","_mediaStreamTrack","dedicatedStream","MediaStream","prototype","get","enumerable","configurable","id","kind"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,kBAAR,GAA6B,KAAK,CAAlC;ACCA,IAAAA,qBAAA,aAAA,YAAA;AAMI,aAAAA,kBAAA,CAAYC,gBAAZ,EAAgDC,UAAhD,EAA8EC,QAA9E,EAA+F;AAC3F,aAAKC,SAAL,GAAiBD,QAAjB;AACA,aAAKE,WAAL,GAAmBH,UAAnB;AACA,aAAKI,iBAAL,GAAyBL,gBAAzB;AAEA,aAAKM,eAAL,GAAuB,IAAIC,WAAJ,CAAgB,CAACP,gBAAD,CAAhB,CAAvB;AACH;AAEDL,WAAAC,cAAA,CAAIG,mBAAAS,SAAJ,EAAI,UAAJ,EAAY;ADNRC,aCMJ,eAAA;AACI,mBAAO,KAAKN,SAAZ;AACH,SAFW;ADHRO,oBAAY,KCGJ;ADFRC,sBAAc;ACEN,KAAZ;AAIAhB,WAAAC,cAAA,CAAIG,mBAAAS,SAAJ,EAAI,UAAJ,EAAY;ADHRC,aCGJ,eAAA;AACI,mBAAO,KAAKJ,iBAAL,CAAuBO,EAA9B;AACH,SAFW;ADARF,oBAAY,KCAJ;ADCRC,sBAAc;ACDN,KAAZ;AAIAhB,WAAAC,cAAA,CAAIG,mBAAAS,SAAJ,EAAI,YAAJ,EAAc;ADAVC,aCAJ,eAAA;AACI,mBAAO,KAAKL,WAAZ;AACH,SAFa;ADGVM,oBAAY,KCHF;ADIVC,sBAAc;ACJJ,KAAd;AAIAhB,WAAAC,cAAA,CAAIG,mBAAAS,SAAJ,EAAI,aAAJ,EAAe;ADGXC,aCHJ,eAAA;AACI,mBAAO,KAAKH,eAAZ;AACH,SAFc;ADMXI,oBAAY,KCND;ADOXC,sBAAc;ACPH,KAAf;AAIAhB,WAAAC,cAAA,CAAIG,mBAAAS,SAAJ,EAAI,YAAJ,EAAc;ADMVC,aCNJ,eAAA;AACI,mBAAO,KAAKJ,iBAAZ;AACH,SAFa;ADSVK,oBAAY,KCTF;ADUVC,sBAAc;ACVJ,KAAd;AAIAhB,WAAAC,cAAA,CAAIG,mBAAAS,SAAJ,EAAI,YAAJ,EAAc;ADSVC,aCTJ,eAAA;AACI,mBAAO,KAAKJ,iBAAL,CAAuBQ,IAA9B;AACH,SAFa;ADYVH,oBAAY,KCZF;ADaVC,sBAAc;ACbJ,KAAd;AAGJ,WAAAZ,kBAAA;AArCA,CAAA,EAAA;AAAaF,QAAAE,kBAAA,GAAAA,kBAAA;;ADqDb","file":"TechseeMediaStream.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TechseeMediaStream = void 0;\nvar TechseeMediaStream = /** @class */ (function () {\n function TechseeMediaStream(mediaStreamTrack, streamType, isRemote) {\n this._isRemote = isRemote;\n this._streamType = streamType;\n this._mediaStreamTrack = mediaStreamTrack;\n this.dedicatedStream = new MediaStream([mediaStreamTrack]);\n }\n Object.defineProperty(TechseeMediaStream.prototype, \"isRemote\", {\n get: function () {\n return this._isRemote;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaStream.prototype, \"streamId\", {\n get: function () {\n return this._mediaStreamTrack.id;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaStream.prototype, \"streamType\", {\n get: function () {\n return this._streamType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaStream.prototype, \"mediaStream\", {\n get: function () {\n return this.dedicatedStream;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaStream.prototype, \"mediaTrack\", {\n get: function () {\n return this._mediaStreamTrack;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaStream.prototype, \"streamKind\", {\n get: function () {\n return this._mediaStreamTrack.kind;\n },\n enumerable: false,\n configurable: true\n });\n return TechseeMediaStream;\n}());\nexports.TechseeMediaStream = TechseeMediaStream;\n\n//# sourceMappingURL=TechseeMediaStream.js.map\n","import {KnownMediaStream, KnownMediaStreamKind} from './MediaConstants';\n\n\nexport class TechseeMediaStream {\n private readonly _mediaStreamTrack: MediaStreamTrack;\n private readonly _streamType: KnownMediaStream;\n private readonly _isRemote: boolean;\n private readonly dedicatedStream: MediaStream;\n\n constructor(mediaStreamTrack: MediaStreamTrack, streamType: KnownMediaStream, isRemote: boolean) {\n this._isRemote = isRemote;\n this._streamType = streamType;\n this._mediaStreamTrack = mediaStreamTrack;\n\n this.dedicatedStream = new MediaStream([mediaStreamTrack]);\n }\n\n get isRemote(): boolean {\n return this._isRemote;\n }\n\n get streamId(): string {\n return this._mediaStreamTrack.id;\n }\n\n get streamType(): KnownMediaStream {\n return this._streamType;\n }\n\n get mediaStream(): MediaStream {\n return this.dedicatedStream;\n }\n\n get mediaTrack(): MediaStreamTrack {\n return this._mediaStreamTrack;\n }\n\n get streamKind(): KnownMediaStreamKind {\n return this._mediaStreamTrack.kind as any;\n }\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var MEDIA_SERVICE_TYPES = exports.MEDIA_SERVICE_TYPES = {
|
|
5
|
+
OPENTOK: 'OPENTOK',
|
|
6
|
+
MEDIASERVER: 'MEDIA_SERVER',
|
|
7
|
+
TURNSERVER: 'TURN_SERVER'
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// Grace period to wait in the unlikely case that temasys plugin has not finished initializing,
|
|
11
|
+
// and a session initialization was requested
|
|
12
|
+
var WAIT_FOR_TEMASYS_PLUGIN_INITIALIZATION = exports.WAIT_FOR_TEMASYS_PLUGIN_INITIALIZATION = 2000;
|
|
13
|
+
|
|
14
|
+
var TEMASYS_PLUGIN_CHECK_INTERVAL = exports.TEMASYS_PLUGIN_CHECK_INTERVAL = 100;
|
|
15
|
+
|
|
16
|
+
// Grace period to wait in the unlikely case that Opentok has not finished initializing,
|
|
17
|
+
// and a session initialization was requested
|
|
18
|
+
var WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;
|
|
19
|
+
var WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;
|
|
20
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["oldCode/constants.js"],"names":["MEDIA_SERVICE_TYPES","OPENTOK","MEDIASERVER","TURNSERVER","WAIT_FOR_TEMASYS_PLUGIN_INITIALIZATION","TEMASYS_PLUGIN_CHECK_INTERVAL","WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS","WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL"],"mappings":";;;AAAO,IAAMA,oDAAsB;AAC/BC,aAAS,SADsB;AAE/BC,iBAAa,cAFkB;AAG/BC,gBAAY;AAHmB,CAA5B;;AAMP;AACA;AACO,IAAMC,0FAAyC,IAA/C;;AAEA,IAAMC,wEAAgC,GAAtC;;AAEP;AACA;AACO,IAAMC,sGAA+C,EAArD;AACA,IAAMC,8FAA2C,GAAjD","file":"constants.js","sourcesContent":["export const MEDIA_SERVICE_TYPES = {\n OPENTOK: 'OPENTOK',\n MEDIASERVER: 'MEDIA_SERVER',\n TURNSERVER: 'TURN_SERVER'\n};\n\n// Grace period to wait in the unlikely case that temasys plugin has not finished initializing,\n// and a session initialization was requested\nexport const WAIT_FOR_TEMASYS_PLUGIN_INITIALIZATION = 2000;\n\nexport const TEMASYS_PLUGIN_CHECK_INTERVAL = 100;\n\n// Grace period to wait in the unlikely case that Opentok has not finished initializing,\n// and a session initialization was requested\nexport const WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;\nexport const WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.EventEmitter = undefined;
|
|
5
|
+
|
|
6
|
+
var _events = require('events');
|
|
7
|
+
|
|
8
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
+
|
|
10
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
11
|
+
|
|
12
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
13
|
+
|
|
14
|
+
var ExtendedEmitter = function (_EventEmitter) {
|
|
15
|
+
_inherits(ExtendedEmitter, _EventEmitter);
|
|
16
|
+
|
|
17
|
+
function ExtendedEmitter() {
|
|
18
|
+
_classCallCheck(this, ExtendedEmitter);
|
|
19
|
+
|
|
20
|
+
return _possibleConstructorReturn(this, _EventEmitter.apply(this, arguments));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
ExtendedEmitter.prototype.off = function off(event, listener) {
|
|
24
|
+
if (!listener) {
|
|
25
|
+
if (event) {
|
|
26
|
+
this.removeAllListeners(event);
|
|
27
|
+
} else {
|
|
28
|
+
this.removeAllListeners();
|
|
29
|
+
}
|
|
30
|
+
} else {
|
|
31
|
+
this.removeListener(event, listener);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return ExtendedEmitter;
|
|
36
|
+
}(_events.EventEmitter);
|
|
37
|
+
|
|
38
|
+
exports.EventEmitter = ExtendedEmitter;
|
|
39
|
+
//# sourceMappingURL=event-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["oldCode/event-emitter.js"],"names":["ExtendedEmitter","off","event","listener","removeAllListeners","removeListener","EventEmitter"],"mappings":";;;;;AAAA;;;;;;;;IAEMA,e;;;;;;;;;8BACFC,G,gBAAIC,K,EAAOC,Q,EAAU;AACjB,YAAI,CAACA,QAAL,EAAe;AACX,gBAAID,KAAJ,EAAW;AACP,qBAAKE,kBAAL,CAAwBF,KAAxB;AACH,aAFD,MAEO;AACH,qBAAKE,kBAAL;AACH;AACJ,SAND,MAMO;AACH,iBAAKC,cAAL,CAAoBH,KAApB,EAA2BC,QAA3B;AACH;AACJ,K;;;EAXyBG,oB;;QAcFA,Y,GAAnBN,e","file":"event-emitter.js","sourcesContent":["import { EventEmitter } from 'events';\n\nclass ExtendedEmitter extends EventEmitter {\n off(event, listener) {\n if (!listener) {\n if (event) {\n this.removeAllListeners(event);\n } else {\n this.removeAllListeners();\n }\n } else {\n this.removeListener(event, listener);\n }\n }\n}\n\nexport { ExtendedEmitter as EventEmitter };\n\n"]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
|
|
5
|
+
var _service = require('./service');
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, 'TsMediaService', {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _service.TsMediaService;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, 'SERVICE_EVENTS', {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _service.EVENTS;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
var _session = require('./session');
|
|
21
|
+
|
|
22
|
+
Object.defineProperty(exports, 'SESSION_EVENTS', {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function get() {
|
|
25
|
+
return _session.EVENTS;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
var _stream = require('./stream');
|
|
30
|
+
|
|
31
|
+
Object.defineProperty(exports, 'STREAM_EVENTS', {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function get() {
|
|
34
|
+
return _stream.EVENTS;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
var _publisher = require('./publisher');
|
|
39
|
+
|
|
40
|
+
Object.defineProperty(exports, 'PUBLISHER_EVENTS', {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function get() {
|
|
43
|
+
return _publisher.EVENTS;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
var _subscriber = require('./subscriber');
|
|
48
|
+
|
|
49
|
+
Object.defineProperty(exports, 'SUBSCRIBER_EVENTS', {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function get() {
|
|
52
|
+
return _subscriber.EVENTS;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
var _rawQos = require('../qos/raw-qos');
|
|
57
|
+
|
|
58
|
+
Object.defineProperty(exports, 'RawQos', {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
get: function get() {
|
|
61
|
+
return _rawQos.RawQos;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["oldCode/index.js"],"names":["TsMediaService","EVENTS","RawQos"],"mappings":";;;;;;;;;wBACIA,c;;;;;;wBACAC,M;;;;;;;;;wBAIAA,M;;;;;;;;;uBAIAA,M;;;;;;;;;0BAIAA,M;;;;;;;;;2BAIAA,M;;;;;;;;;uBAIAC,M","file":"index.js","sourcesContent":["export {\n TsMediaService,\n EVENTS as SERVICE_EVENTS,\n} from './service';\n\nexport {\n EVENTS as SESSION_EVENTS,\n} from './session';\n\nexport {\n EVENTS as STREAM_EVENTS,\n} from './stream';\n\nexport {\n EVENTS as PUBLISHER_EVENTS,\n} from './publisher';\n\nexport {\n EVENTS as SUBSCRIBER_EVENTS,\n} from './subscriber';\n\nexport {\n RawQos\n} from '../qos/raw-qos';\n"]}
|