@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.
Files changed (205) hide show
  1. package/README.md +28 -27
  2. package/lib/LocalStreamManager.d.ts +0 -1
  3. package/lib/LocalStreamManager.d.ts.map +1 -1
  4. package/lib/LocalStreamManager.js +84 -82
  5. package/lib/LocalStreamManager.js.map +1 -1
  6. package/lib/MediaConstants.d.ts +3 -21
  7. package/lib/MediaConstants.d.ts.map +1 -1
  8. package/lib/MediaConstants.js +13 -32
  9. package/lib/MediaConstants.js.map +1 -1
  10. package/lib/MediaContracts.d.ts +3 -9
  11. package/lib/MediaContracts.d.ts.map +1 -1
  12. package/lib/MediaContracts.js +4 -1
  13. package/lib/MediaContracts.js.map +1 -1
  14. package/lib/MediaPublisher.d.ts +0 -1
  15. package/lib/MediaPublisher.d.ts.map +1 -1
  16. package/lib/MediaPublisher.js +10 -7
  17. package/lib/MediaPublisher.js.map +1 -1
  18. package/lib/MediaServiceBase.d.ts +0 -1
  19. package/lib/MediaServiceBase.d.ts.map +1 -1
  20. package/lib/MediaServiceBase.js +199 -170
  21. package/lib/MediaServiceBase.js.map +1 -1
  22. package/lib/MediaSession/MediaServer.d.ts +0 -1
  23. package/lib/MediaSession/MediaServer.d.ts.map +1 -1
  24. package/lib/MediaSession/MediaServer.js +74 -62
  25. package/lib/MediaSession/MediaServer.js.map +1 -1
  26. package/lib/MediaSession/MediaSessionBase.d.ts +0 -1
  27. package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
  28. package/lib/MediaSession/MediaSessionBase.js +23 -19
  29. package/lib/MediaSession/MediaSessionBase.js.map +1 -1
  30. package/lib/MediaSession/SessionOpentok.d.ts +2 -3
  31. package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
  32. package/lib/MediaSession/SessionOpentok.js +80 -51
  33. package/lib/MediaSession/SessionOpentok.js.map +1 -1
  34. package/lib/MediaSession/SessionTurn.d.ts +0 -1
  35. package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
  36. package/lib/MediaSession/SessionTurn.js +151 -109
  37. package/lib/MediaSession/SessionTurn.js.map +1 -1
  38. package/lib/MediaSession/TurnConstants.d.ts +0 -1
  39. package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
  40. package/lib/MediaSession/TurnConstants.js +16 -1
  41. package/lib/MediaSession/TurnConstants.js.map +1 -1
  42. package/lib/MediaSubscriber.d.ts +0 -1
  43. package/lib/MediaSubscriber.d.ts.map +1 -1
  44. package/lib/MediaSubscriber.js +43 -37
  45. package/lib/MediaSubscriber.js.map +1 -1
  46. package/lib/MediaUtils/Compatibility.d.ts +0 -3
  47. package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
  48. package/lib/MediaUtils/Compatibility.js +34 -76
  49. package/lib/MediaUtils/Compatibility.js.map +1 -1
  50. package/lib/MediaUtils/MediaDomUtils.d.ts +3 -6
  51. package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
  52. package/lib/MediaUtils/MediaDomUtils.js +65 -70
  53. package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
  54. package/lib/MediaUtils/MediaTracer.d.ts +0 -1
  55. package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
  56. package/lib/MediaUtils/MediaTracer.js +5 -2
  57. package/lib/MediaUtils/MediaTracer.js.map +1 -1
  58. package/lib/MultiParty/DetectWebRtcService.d.ts +14 -17
  59. package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
  60. package/lib/MultiParty/DetectWebRtcService.js +54 -98
  61. package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
  62. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts +10 -0
  63. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +1 -0
  64. package/lib/MultiParty/MediaCapabilitiesHelper.js +140 -0
  65. package/lib/MultiParty/MediaCapabilitiesHelper.js.map +1 -0
  66. package/lib/MultiParty/MultiParty.d.ts +21 -0
  67. package/lib/MultiParty/MultiParty.d.ts.map +1 -0
  68. package/lib/MultiParty/MultiParty.js +160 -0
  69. package/lib/MultiParty/MultiParty.js.map +1 -0
  70. package/lib/MultiParty/OpentokMultiparty.d.ts +32 -0
  71. package/lib/MultiParty/OpentokMultiparty.d.ts.map +1 -0
  72. package/lib/MultiParty/OpentokMultiparty.js +184 -0
  73. package/lib/MultiParty/OpentokMultiparty.js.map +1 -0
  74. package/lib/TechseeMediaStream.d.ts +0 -1
  75. package/lib/TechseeMediaStream.d.ts.map +1 -1
  76. package/lib/TechseeMediaStream.js +12 -9
  77. package/lib/TechseeMediaStream.js.map +1 -1
  78. package/lib/oldCode/constants.js +20 -0
  79. package/lib/oldCode/constants.js.map +1 -0
  80. package/lib/oldCode/event-emitter.js +39 -0
  81. package/lib/oldCode/event-emitter.js.map +1 -0
  82. package/lib/oldCode/index.js +64 -0
  83. package/lib/oldCode/index.js.map +1 -0
  84. package/lib/oldCode/opentok/session.js +310 -0
  85. package/lib/oldCode/opentok/session.js.map +1 -0
  86. package/lib/oldCode/opentok/stream.js +310 -0
  87. package/lib/oldCode/opentok/stream.js.map +1 -0
  88. package/lib/oldCode/publisher.js +143 -0
  89. package/lib/oldCode/publisher.js.map +1 -0
  90. package/lib/oldCode/service.js +395 -0
  91. package/lib/oldCode/service.js.map +1 -0
  92. package/lib/oldCode/session.js +110 -0
  93. package/lib/oldCode/session.js.map +1 -0
  94. package/lib/oldCode/stream.js +195 -0
  95. package/lib/oldCode/stream.js.map +1 -0
  96. package/lib/oldCode/subscriber.js +90 -0
  97. package/lib/oldCode/subscriber.js.map +1 -0
  98. package/lib/oldCode/tracer.d.ts +36 -0
  99. package/lib/oldCode/tracer.d.ts.map +1 -0
  100. package/lib/oldCode/tracer.js +161 -0
  101. package/lib/oldCode/tracer.js.map +1 -0
  102. package/lib/oldCode/utils/ImageFixer.d.ts +1 -0
  103. package/lib/oldCode/utils/ImageFixer.d.ts.map +1 -0
  104. package/lib/oldCode/utils/ImageFixer.js +59 -0
  105. package/lib/oldCode/utils/ImageFixer.js.map +1 -0
  106. package/lib/oldCode/webrtc/constants.js +114 -0
  107. package/lib/oldCode/webrtc/constants.js.map +1 -0
  108. package/lib/oldCode/webrtc/helper.js +173 -0
  109. package/lib/oldCode/webrtc/helper.js.map +1 -0
  110. package/lib/oldCode/webrtc/session-kms.js +558 -0
  111. package/lib/oldCode/webrtc/session-kms.js.map +1 -0
  112. package/lib/oldCode/webrtc/session-loopback.js +336 -0
  113. package/lib/oldCode/webrtc/session-loopback.js.map +1 -0
  114. package/lib/oldCode/webrtc/session-turn.js +880 -0
  115. package/lib/oldCode/webrtc/session-turn.js.map +1 -0
  116. package/lib/oldCode/webrtc/session-turn.v2.js +583 -0
  117. package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -0
  118. package/lib/oldCode/webrtc/session.js +52 -0
  119. package/lib/oldCode/webrtc/session.js.map +1 -0
  120. package/lib/oldCode/webrtc/stream.js +674 -0
  121. package/lib/oldCode/webrtc/stream.js.map +1 -0
  122. package/lib/oldCode/webrtc/temasys/adapter-loader.js +12 -0
  123. package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -0
  124. package/lib/oldCode/webrtc/temasys/adapter.js +5861 -0
  125. package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -0
  126. package/lib/oldCode/webrtc/webrtc-ie-shim.js +3007 -0
  127. package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -0
  128. package/lib/qos/raw-qos.js +145 -84
  129. package/lib/qos/raw-qos.js.map +1 -1
  130. package/lib/webrtc-ie-shim.js +2950 -1896
  131. package/lib/webrtc-ie-shim.js.map +1 -1
  132. package/package.json +59 -65
  133. package/lib/MediaUtils/index.d.ts +0 -2
  134. package/lib/MediaUtils/index.d.ts.map +0 -1
  135. package/lib/MediaUtils/index.js +0 -6
  136. package/lib/MediaUtils/index.js.map +0 -1
  137. package/lib/MultiParty/MediaCapabilitiesService.d.ts +0 -18
  138. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +0 -1
  139. package/lib/MultiParty/MediaCapabilitiesService.js +0 -158
  140. package/lib/MultiParty/MediaCapabilitiesService.js.map +0 -1
  141. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +0 -6
  142. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +0 -1
  143. package/lib/MultiParty/MediaCapabilitiesUtils.js +0 -123
  144. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +0 -1
  145. package/lib/MultiParty/MediaTracer.d.ts +0 -4
  146. package/lib/MultiParty/MediaTracer.d.ts.map +0 -1
  147. package/lib/MultiParty/MediaTracer.js +0 -10
  148. package/lib/MultiParty/MediaTracer.js.map +0 -1
  149. package/lib/MultiParty/MultiPartyService.d.ts +0 -49
  150. package/lib/MultiParty/MultiPartyService.d.ts.map +0 -1
  151. package/lib/MultiParty/MultiPartyService.js +0 -30
  152. package/lib/MultiParty/MultiPartyService.js.map +0 -1
  153. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +0 -4
  154. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +0 -1
  155. package/lib/MultiParty/MultiPartyServiceFactory.js +0 -13
  156. package/lib/MultiParty/MultiPartyServiceFactory.js.map +0 -1
  157. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +0 -89
  158. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +0 -1
  159. package/lib/MultiParty/MultipartyServiceEventTypes.js +0 -16
  160. package/lib/MultiParty/MultipartyServiceEventTypes.js.map +0 -1
  161. package/lib/MultiParty/index.d.ts +0 -7
  162. package/lib/MultiParty/index.d.ts.map +0 -1
  163. package/lib/MultiParty/index.js +0 -25
  164. package/lib/MultiParty/index.js.map +0 -1
  165. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +0 -38
  166. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +0 -1
  167. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +0 -492
  168. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +0 -1
  169. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +0 -34
  170. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +0 -1
  171. package/lib/MultiParty/opentok/OpentokPublisher.js +0 -121
  172. package/lib/MultiParty/opentok/OpentokPublisher.js.map +0 -1
  173. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +0 -20
  174. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +0 -1
  175. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +0 -49
  176. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +0 -1
  177. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +0 -6
  178. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +0 -1
  179. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +0 -48
  180. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +0 -1
  181. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +0 -2
  182. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +0 -1
  183. package/lib/MultiParty/opentok/OpentokSubscriber.js +0 -26
  184. package/lib/MultiParty/opentok/OpentokSubscriber.js.map +0 -1
  185. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +0 -19
  186. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +0 -1
  187. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +0 -182
  188. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +0 -1
  189. package/lib/MultiParty/opentok/trace.d.ts +0 -3
  190. package/lib/MultiParty/opentok/trace.d.ts.map +0 -1
  191. package/lib/MultiParty/opentok/trace.js +0 -18
  192. package/lib/MultiParty/opentok/trace.js.map +0 -1
  193. package/lib/MultiParty/opentok.d.ts +0 -463
  194. package/lib/MultiParty/types.d.ts +0 -33
  195. package/lib/MultiParty/types.d.ts.map +0 -1
  196. package/lib/MultiParty/types.js +0 -3
  197. package/lib/MultiParty/types.js.map +0 -1
  198. package/lib/MultiParty/utils.d.ts +0 -10
  199. package/lib/MultiParty/utils.d.ts.map +0 -1
  200. package/lib/MultiParty/utils.js +0 -17
  201. package/lib/MultiParty/utils.js.map +0 -1
  202. package/lib/qos/raw-qos.d.ts +0 -29
  203. package/lib/qos/raw-qos.d.ts.map +0 -1
  204. package/lib/webrtc-ie-shim.d.ts +0 -4
  205. 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"]}
@@ -12,4 +12,3 @@ export declare class TechseeMediaStream {
12
12
  get mediaTrack(): MediaStreamTrack;
13
13
  get streamKind(): KnownMediaStreamKind;
14
14
  }
15
- //# sourceMappingURL=TechseeMediaStream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TechseeMediaStream.d.ts","sourceRoot":"","sources":["../src/TechseeMediaStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAExE,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"}
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 = (function () {
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
- //# sourceMappingURL=TechseeMediaStream.js.map
57
+
58
+ //# sourceMappingURL=TechseeMediaStream.js.map
59
+ //# sourceMappingURL=TechseeMediaStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TechseeMediaStream.js","sourceRoot":"","sources":["../src/TechseeMediaStream.ts"],"names":[],"mappings":";;;AAEA;IAMI,4BAAY,gBAAkC,EAAE,UAA4B,EAAE,QAAiB;QAC3F,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAE1C,IAAI,CAAC,eAAe,GAAG,IAAI,WAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,sBAAI,wCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,wCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAI,2CAAW;aAAf;YACI,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAW,CAAC;QAC9C,CAAC;;;OAAA;IACL,yBAAC;AAAD,CAAC,AArCD,IAqCC;AArCY,gDAAkB"}
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"]}