@techsee/techsee-media-service 999.19.3-alphasap → 999.19.6-nodejs20

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 (213) hide show
  1. package/README.md +27 -28
  2. package/lib/LocalStreamManager.d.ts +1 -0
  3. package/lib/LocalStreamManager.d.ts.map +1 -1
  4. package/lib/LocalStreamManager.js +82 -84
  5. package/lib/LocalStreamManager.js.map +1 -1
  6. package/lib/MediaConstants.d.ts +20 -3
  7. package/lib/MediaConstants.d.ts.map +1 -1
  8. package/lib/MediaConstants.js +31 -13
  9. package/lib/MediaConstants.js.map +1 -1
  10. package/lib/MediaContracts.d.ts +7 -1
  11. package/lib/MediaContracts.d.ts.map +1 -1
  12. package/lib/MediaContracts.js +1 -4
  13. package/lib/MediaContracts.js.map +1 -1
  14. package/lib/MediaPublisher.d.ts +1 -0
  15. package/lib/MediaPublisher.d.ts.map +1 -1
  16. package/lib/MediaPublisher.js +7 -10
  17. package/lib/MediaPublisher.js.map +1 -1
  18. package/lib/MediaServiceBase.d.ts +1 -0
  19. package/lib/MediaServiceBase.d.ts.map +1 -1
  20. package/lib/MediaServiceBase.js +169 -198
  21. package/lib/MediaServiceBase.js.map +1 -1
  22. package/lib/MediaSession/MediaServer.d.ts +1 -0
  23. package/lib/MediaSession/MediaServer.d.ts.map +1 -1
  24. package/lib/MediaSession/MediaServer.js +62 -74
  25. package/lib/MediaSession/MediaServer.js.map +1 -1
  26. package/lib/MediaSession/MediaSessionBase.d.ts +1 -0
  27. package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
  28. package/lib/MediaSession/MediaSessionBase.js +19 -23
  29. package/lib/MediaSession/MediaSessionBase.js.map +1 -1
  30. package/lib/MediaSession/SessionOpentok.d.ts +1 -0
  31. package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
  32. package/lib/MediaSession/SessionOpentok.js +51 -80
  33. package/lib/MediaSession/SessionOpentok.js.map +1 -1
  34. package/lib/MediaSession/SessionTurn.d.ts +1 -0
  35. package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
  36. package/lib/MediaSession/SessionTurn.js +109 -151
  37. package/lib/MediaSession/SessionTurn.js.map +1 -1
  38. package/lib/MediaSession/TurnConstants.d.ts +1 -0
  39. package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
  40. package/lib/MediaSession/TurnConstants.js +1 -16
  41. package/lib/MediaSession/TurnConstants.js.map +1 -1
  42. package/lib/MediaSubscriber.d.ts +1 -0
  43. package/lib/MediaSubscriber.d.ts.map +1 -1
  44. package/lib/MediaSubscriber.js +37 -43
  45. package/lib/MediaSubscriber.js.map +1 -1
  46. package/lib/MediaUtils/Compatibility.d.ts +3 -0
  47. package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
  48. package/lib/MediaUtils/Compatibility.js +76 -34
  49. package/lib/MediaUtils/Compatibility.js.map +1 -1
  50. package/lib/MediaUtils/MediaDomUtils.d.ts +4 -2
  51. package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
  52. package/lib/MediaUtils/MediaDomUtils.js +64 -62
  53. package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
  54. package/lib/MediaUtils/MediaTracer.d.ts +1 -0
  55. package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
  56. package/lib/MediaUtils/MediaTracer.js +2 -5
  57. package/lib/MediaUtils/MediaTracer.js.map +1 -1
  58. package/lib/MediaUtils/index.d.ts +2 -0
  59. package/lib/MediaUtils/index.d.ts.map +1 -0
  60. package/lib/MediaUtils/index.js +6 -0
  61. package/lib/MediaUtils/index.js.map +1 -0
  62. package/lib/MultiParty/DetectWebRtcService.d.ts +17 -14
  63. package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
  64. package/lib/MultiParty/DetectWebRtcService.js +98 -54
  65. package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
  66. package/lib/MultiParty/MediaCapabilitiesService.d.ts +18 -0
  67. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
  68. package/lib/MultiParty/MediaCapabilitiesService.js +158 -0
  69. package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -0
  70. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +6 -0
  71. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
  72. package/lib/MultiParty/MediaCapabilitiesUtils.js +123 -0
  73. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
  74. package/lib/MultiParty/MediaTracer.d.ts +4 -0
  75. package/lib/MultiParty/MediaTracer.d.ts.map +1 -0
  76. package/lib/MultiParty/MediaTracer.js +10 -0
  77. package/lib/MultiParty/MediaTracer.js.map +1 -0
  78. package/lib/MultiParty/MultiPartyService.d.ts +49 -0
  79. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -0
  80. package/lib/MultiParty/MultiPartyService.js +30 -0
  81. package/lib/MultiParty/MultiPartyService.js.map +1 -0
  82. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +4 -0
  83. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
  84. package/lib/MultiParty/MultiPartyServiceFactory.js +13 -0
  85. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -0
  86. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +89 -0
  87. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -0
  88. package/lib/MultiParty/MultipartyServiceEventTypes.js +16 -0
  89. package/lib/MultiParty/MultipartyServiceEventTypes.js.map +1 -0
  90. package/lib/MultiParty/index.d.ts +7 -0
  91. package/lib/MultiParty/index.d.ts.map +1 -0
  92. package/lib/MultiParty/index.js +25 -0
  93. package/lib/MultiParty/index.js.map +1 -0
  94. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +38 -0
  95. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -0
  96. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +492 -0
  97. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -0
  98. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +34 -0
  99. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -0
  100. package/lib/MultiParty/opentok/OpentokPublisher.js +121 -0
  101. package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -0
  102. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +20 -0
  103. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
  104. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +49 -0
  105. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -0
  106. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +6 -0
  107. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
  108. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +48 -0
  109. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
  110. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +2 -0
  111. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -0
  112. package/lib/MultiParty/opentok/OpentokSubscriber.js +26 -0
  113. package/lib/MultiParty/opentok/OpentokSubscriber.js.map +1 -0
  114. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +19 -0
  115. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
  116. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +182 -0
  117. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
  118. package/lib/MultiParty/opentok/trace.d.ts +3 -0
  119. package/lib/MultiParty/opentok/trace.d.ts.map +1 -0
  120. package/lib/MultiParty/opentok/trace.js +18 -0
  121. package/lib/MultiParty/opentok/trace.js.map +1 -0
  122. package/lib/MultiParty/opentok.d.ts +463 -0
  123. package/lib/MultiParty/types.d.ts +33 -0
  124. package/lib/MultiParty/types.d.ts.map +1 -0
  125. package/lib/MultiParty/types.js +3 -0
  126. package/lib/MultiParty/types.js.map +1 -0
  127. package/lib/MultiParty/utils.d.ts +10 -0
  128. package/lib/MultiParty/utils.d.ts.map +1 -0
  129. package/lib/MultiParty/utils.js +17 -0
  130. package/lib/MultiParty/utils.js.map +1 -0
  131. package/lib/TechseeMediaStream.d.ts +1 -0
  132. package/lib/TechseeMediaStream.d.ts.map +1 -1
  133. package/lib/TechseeMediaStream.js +9 -12
  134. package/lib/TechseeMediaStream.js.map +1 -1
  135. package/lib/qos/raw-qos.d.ts +29 -0
  136. package/lib/qos/raw-qos.d.ts.map +1 -0
  137. package/lib/qos/raw-qos.js +84 -145
  138. package/lib/qos/raw-qos.js.map +1 -1
  139. package/lib/webrtc-ie-shim.d.ts +4 -0
  140. package/lib/webrtc-ie-shim.d.ts.map +1 -0
  141. package/lib/webrtc-ie-shim.js +1896 -2950
  142. package/lib/webrtc-ie-shim.js.map +1 -1
  143. package/package.json +66 -60
  144. package/lib/MultiParty/Contracts.d.ts +0 -11
  145. package/lib/MultiParty/Contracts.d.ts.map +0 -1
  146. package/lib/MultiParty/Contracts.js +0 -6
  147. package/lib/MultiParty/Contracts.js.map +0 -1
  148. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts +0 -12
  149. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +0 -1
  150. package/lib/MultiParty/MediaCapabilitiesHelper.js +0 -167
  151. package/lib/MultiParty/MediaCapabilitiesHelper.js.map +0 -1
  152. package/lib/MultiParty/MultiParty.d.ts +0 -21
  153. package/lib/MultiParty/MultiParty.d.ts.map +0 -1
  154. package/lib/MultiParty/MultiParty.js +0 -155
  155. package/lib/MultiParty/MultiParty.js.map +0 -1
  156. package/lib/MultiParty/MultipartyFactory.d.ts +0 -2
  157. package/lib/MultiParty/MultipartyFactory.d.ts.map +0 -1
  158. package/lib/MultiParty/MultipartyFactory.js +0 -15
  159. package/lib/MultiParty/MultipartyFactory.js.map +0 -1
  160. package/lib/MultiParty/OpentokMultiparty.d.ts +0 -24
  161. package/lib/MultiParty/OpentokMultiparty.d.ts.map +0 -1
  162. package/lib/MultiParty/OpentokMultiparty.js +0 -408
  163. package/lib/MultiParty/OpentokMultiparty.js.map +0 -1
  164. package/lib/oldCode/constants.js +0 -20
  165. package/lib/oldCode/constants.js.map +0 -1
  166. package/lib/oldCode/event-emitter.js +0 -39
  167. package/lib/oldCode/event-emitter.js.map +0 -1
  168. package/lib/oldCode/index.js +0 -64
  169. package/lib/oldCode/index.js.map +0 -1
  170. package/lib/oldCode/opentok/session.js +0 -310
  171. package/lib/oldCode/opentok/session.js.map +0 -1
  172. package/lib/oldCode/opentok/stream.js +0 -310
  173. package/lib/oldCode/opentok/stream.js.map +0 -1
  174. package/lib/oldCode/publisher.js +0 -143
  175. package/lib/oldCode/publisher.js.map +0 -1
  176. package/lib/oldCode/service.js +0 -395
  177. package/lib/oldCode/service.js.map +0 -1
  178. package/lib/oldCode/session.js +0 -110
  179. package/lib/oldCode/session.js.map +0 -1
  180. package/lib/oldCode/stream.js +0 -195
  181. package/lib/oldCode/stream.js.map +0 -1
  182. package/lib/oldCode/subscriber.js +0 -90
  183. package/lib/oldCode/subscriber.js.map +0 -1
  184. package/lib/oldCode/tracer.d.ts +0 -36
  185. package/lib/oldCode/tracer.d.ts.map +0 -1
  186. package/lib/oldCode/tracer.js +0 -161
  187. package/lib/oldCode/tracer.js.map +0 -1
  188. package/lib/oldCode/utils/ImageFixer.d.ts +0 -1
  189. package/lib/oldCode/utils/ImageFixer.d.ts.map +0 -1
  190. package/lib/oldCode/utils/ImageFixer.js +0 -59
  191. package/lib/oldCode/utils/ImageFixer.js.map +0 -1
  192. package/lib/oldCode/webrtc/constants.js +0 -114
  193. package/lib/oldCode/webrtc/constants.js.map +0 -1
  194. package/lib/oldCode/webrtc/helper.js +0 -173
  195. package/lib/oldCode/webrtc/helper.js.map +0 -1
  196. package/lib/oldCode/webrtc/session-kms.js +0 -558
  197. package/lib/oldCode/webrtc/session-kms.js.map +0 -1
  198. package/lib/oldCode/webrtc/session-loopback.js +0 -336
  199. package/lib/oldCode/webrtc/session-loopback.js.map +0 -1
  200. package/lib/oldCode/webrtc/session-turn.js +0 -880
  201. package/lib/oldCode/webrtc/session-turn.js.map +0 -1
  202. package/lib/oldCode/webrtc/session-turn.v2.js +0 -583
  203. package/lib/oldCode/webrtc/session-turn.v2.js.map +0 -1
  204. package/lib/oldCode/webrtc/session.js +0 -52
  205. package/lib/oldCode/webrtc/session.js.map +0 -1
  206. package/lib/oldCode/webrtc/stream.js +0 -674
  207. package/lib/oldCode/webrtc/stream.js.map +0 -1
  208. package/lib/oldCode/webrtc/temasys/adapter-loader.js +0 -12
  209. package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +0 -1
  210. package/lib/oldCode/webrtc/temasys/adapter.js +0 -5861
  211. package/lib/oldCode/webrtc/temasys/adapter.js.map +0 -1
  212. package/lib/oldCode/webrtc/webrtc-ie-shim.js +0 -3007
  213. package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +0 -1
@@ -1,26 +1,21 @@
1
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);
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
13
8
  };
14
9
  return function (d, b) {
15
- _extendStatics(d, b);
16
- function __() {
17
- this.constructor = d;
18
- }
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
19
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20
15
  };
21
- }();
22
- var __importDefault = undefined && undefined.__importDefault || function (mod) {
23
- return mod && mod.__esModule ? mod : { "default": mod };
16
+ })();
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
19
  };
25
20
  Object.defineProperty(exports, "__esModule", { value: true });
26
21
  exports.MediaServerSession = void 0;
@@ -31,8 +26,8 @@ var MediaTracer_1 = require("../MediaUtils/MediaTracer");
31
26
  var guards_1 = require("@techsee/techsee-common/lib/core/guards");
32
27
  var bluebird_1 = require("bluebird");
33
28
  var get_1 = __importDefault(require("lodash/get"));
34
- var trace = MediaTracer_1.getMediaTracer('MediaServerSession');
35
- var MediaServerSession = /** @class */function (_super) {
29
+ var trace = (0, MediaTracer_1.getMediaTracer)('MediaServerSession');
30
+ var MediaServerSession = (function (_super) {
36
31
  __extends(MediaServerSession, _super);
37
32
  function MediaServerSession(sessionParams, streamFactory) {
38
33
  var _this = _super.call(this, sessionParams, streamFactory) || this;
@@ -54,7 +49,7 @@ var MediaServerSession = /** @class */function (_super) {
54
49
  return _this;
55
50
  }
56
51
  Object.defineProperty(MediaServerSession.prototype, "ownPeerId", {
57
- get: function get() {
52
+ get: function () {
58
53
  return this._session && this._session.connection ? this._session.connection.connectionId : '';
59
54
  },
60
55
  enumerable: false,
@@ -66,16 +61,12 @@ var MediaServerSession = /** @class */function (_super) {
66
61
  trace.error('Session already exists');
67
62
  return bluebird_1.Promise.reject('Cannot connect to session while another session is active');
68
63
  }
69
- // const iceServers = this._credentials.ice.map((item: any) => ({
70
- // urls: item.url,
71
- // username: item.login,
72
- // credential: item.password
73
- // }));
74
64
  this.OV = new openvidu_browser_1.OpenVidu();
75
- // this.OV.setAdvancedConfiguration({ iceServers });
76
65
  this._session = this.OV.initSession();
77
66
  this.initSessionEvents();
78
- return this._session.connect(this._credentials.token, { clientRole: this._sessionParams.clientRole }).catch(function (err) {
67
+ return this._session
68
+ .connect(this._credentials.token, { clientRole: this._sessionParams.clientRole })
69
+ .catch(function (err) {
79
70
  trace.error('Error to connect to session Media Server: ', err);
80
71
  throw err;
81
72
  });
@@ -102,11 +93,7 @@ var MediaServerSession = /** @class */function (_super) {
102
93
  _this.removeSessionEvent();
103
94
  _this._session.disconnect();
104
95
  _this._lastStreamEvents = [];
105
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
106
- // @ts-ignore
107
96
  delete _this._session;
108
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
109
- // @ts-ignore
110
97
  delete _this.OV;
111
98
  resolve();
112
99
  });
@@ -127,8 +114,6 @@ var MediaServerSession = /** @class */function (_super) {
127
114
  trace.info('Remove Events Listener');
128
115
  };
129
116
  MediaServerSession.prototype.getRemoteTrackStats = function (mediaTrack) {
130
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
131
- // @ts-ignore// @ts-ignore
132
117
  return bluebird_1.Promise.resolve(undefined);
133
118
  };
134
119
  MediaServerSession.prototype.onMediaStreamDestroyed = function (clientRole) {
@@ -140,9 +125,7 @@ var MediaServerSession = /** @class */function (_super) {
140
125
  promises.push(_this.destroyPublisherOnPeerConnection(peerConnection));
141
126
  }
142
127
  });
143
- return bluebird_1.Promise.all(promises).then(function () {
144
- return trace.info('onMediaStreamDestroyed: Success');
145
- });
128
+ return bluebird_1.Promise.all(promises).then(function () { return trace.info('onMediaStreamDestroyed: Success'); });
146
129
  };
147
130
  MediaServerSession.prototype.onPublisherDestroyed = function (connectionId) {
148
131
  trace.info('onPublisherDestroyed');
@@ -194,9 +177,7 @@ var MediaServerSession = /** @class */function (_super) {
194
177
  trace.warn('Peer connection for remote stream not found');
195
178
  return;
196
179
  }
197
- this.destroySubscriberOnPeerConnection(peerConnection).catch(function () {
198
- return undefined;
199
- });
180
+ this.destroySubscriberOnPeerConnection(peerConnection).catch(function () { return undefined; });
200
181
  };
201
182
  MediaServerSession.prototype.connectionDestroyedHandler = function (event) {
202
183
  trace.info('connectionDestroyedHandler', event);
@@ -206,17 +187,18 @@ var MediaServerSession = /** @class */function (_super) {
206
187
  }
207
188
  if (this._peerConnections.has(connection.connectionId)) {
208
189
  var peerConnection = this._peerConnections.get(connection.connectionId);
209
- this.destroySubscriberOnPeerConnection(peerConnection).catch(function () {
210
- return undefined;
211
- });
190
+ this.destroySubscriberOnPeerConnection(peerConnection).catch(function () { return undefined; });
212
191
  }
213
192
  };
214
193
  MediaServerSession.prototype.destroyPeerConnection = function (peerConnection) {
215
194
  trace.info('destroyPeerConnection');
216
195
  this._peerConnections.delete(peerConnection.peerId);
217
- return bluebird_1.Promise.all([this.destroyPublisherOnPeerConnection(peerConnection), this.destroySubscriberOnPeerConnection(peerConnection)]).then(function () {
218
- return undefined;
219
- }).catch(function () {
196
+ return bluebird_1.Promise.all([
197
+ this.destroyPublisherOnPeerConnection(peerConnection),
198
+ this.destroySubscriberOnPeerConnection(peerConnection)
199
+ ])
200
+ .then(function () { return undefined; })
201
+ .catch(function () {
220
202
  trace.warn('destroyPeerConnection - something wrong with destroy');
221
203
  });
222
204
  };
@@ -226,9 +208,9 @@ var MediaServerSession = /** @class */function (_super) {
226
208
  this._session.unsubscribe(peerConnection.subscriber);
227
209
  }
228
210
  trace.info('destroySubscriberOnPeerConnection- before unregisterPeersRemoteMediaTracks');
229
- return this.unregisterPeersRemoteMediaTracks(peerConnection).catch(function () {
230
- return trace.warn('Error removing remote streams from peerConnection');
231
- }).then(function () {
211
+ return this.unregisterPeersRemoteMediaTracks(peerConnection)
212
+ .catch(function () { return trace.warn('Error removing remote streams from peerConnection'); })
213
+ .then(function () {
232
214
  trace.info('destroySubscriberOnPeerConnection- unregisterPeersRemoteMediaTracks successfully');
233
215
  peerConnection.subscriber = null;
234
216
  });
@@ -282,7 +264,10 @@ var MediaServerSession = /** @class */function (_super) {
282
264
  return this.createMediaSubscriber(stream).then(function (subscriber) {
283
265
  peerConnection.subscriber = subscriber;
284
266
  trace.info('Registering remote media tracks', peerConnection.subscriber);
285
- subscriber.stream.getMediaStream().getTracks().forEach(function (mediaTrack) {
267
+ subscriber.stream
268
+ .getMediaStream()
269
+ .getTracks()
270
+ .forEach(function (mediaTrack) {
286
271
  _this.addRemoteTrackToPeer(peerConnection, mediaTrack);
287
272
  });
288
273
  return _this.registerPeersRemoteTracks(peerConnection);
@@ -291,18 +276,22 @@ var MediaServerSession = /** @class */function (_super) {
291
276
  MediaServerSession.prototype.createStreamForPublishing = function (destinationRole) {
292
277
  var _this = this;
293
278
  trace.info('createStreamForPublishing');
294
- return this._sessionStreamsManager.getMediaStreamForRole(destinationRole).then(function (mediaStream) {
279
+ return this._sessionStreamsManager
280
+ .getMediaStreamForRole(destinationRole)
281
+ .then(function (mediaStream) {
295
282
  var stream = { videoSource: null, audioSource: null };
296
283
  if (mediaStream) {
297
284
  trace.info('Media stream found for publishing', mediaStream);
298
285
  mediaStream.getTracks().forEach(function (track) {
299
286
  if (track.kind === 'video') {
300
287
  stream.videoSource = track;
301
- } else if (track.kind === 'audio') {
288
+ }
289
+ else if (track.kind === 'audio') {
302
290
  stream.audioSource = track;
303
291
  }
304
292
  });
305
- } else if (_this._sessionParams.clientRole === MediaConstants_1.SessionClientRole.USER) {
293
+ }
294
+ else if (_this._sessionParams.clientRole === MediaConstants_1.SessionClientRole.USER) {
306
295
  trace.warn('No local media was found for publishing to destinationRole:', destinationRole);
307
296
  }
308
297
  return stream;
@@ -324,10 +313,8 @@ var MediaServerSession = /** @class */function (_super) {
324
313
  }
325
314
  ovPublisher.on('streamDestroyed', function (event) {
326
315
  trace.info('Publisher stream destroyed', event);
327
- var connectionId = get_1.default(event, 'stream.connection.connectionId');
316
+ var connectionId = (0, get_1.default)(event, 'stream.connection.connectionId');
328
317
  _this.onPublisherDestroyed(connectionId);
329
- //We preventing the default, in order to prevent stop the stream by OV.
330
- //We managing streams by ourselves and if we allow OV to close the stream, it cannot be reused.
331
318
  event.preventDefault();
332
319
  });
333
320
  resolve(ovPublisher);
@@ -342,11 +329,14 @@ var MediaServerSession = /** @class */function (_super) {
342
329
  return;
343
330
  }
344
331
  var destinationRole = JSON.parse(connection.data).clientRole;
345
- this.createStreamForPublishing(destinationRole).then(function (streams) {
332
+ this.createStreamForPublishing(destinationRole)
333
+ .then(function (streams) {
346
334
  var peerConnection = {
347
335
  peerId: connection.connectionId,
348
336
  peerRole: destinationRole,
349
- peerType: _this._sessionParams.clientType === MediaConstants_1.SessionClientType.INITIATOR ? MediaConstants_1.SessionClientType.GUEST : MediaConstants_1.SessionClientType.INITIATOR,
337
+ peerType: _this._sessionParams.clientType === MediaConstants_1.SessionClientType.INITIATOR
338
+ ? MediaConstants_1.SessionClientType.GUEST
339
+ : MediaConstants_1.SessionClientType.INITIATOR,
350
340
  connection: connection,
351
341
  publisher: null,
352
342
  subscriber: null,
@@ -354,7 +344,7 @@ var MediaServerSession = /** @class */function (_super) {
354
344
  localStream: streams,
355
345
  connectionTimoutPrt: null
356
346
  };
357
- if (connection.connectionId !== _this.ownPeerId || !streams.videoSource && !streams.audioSource) {
347
+ if (connection.connectionId !== _this.ownPeerId || (!streams.videoSource && !streams.audioSource)) {
358
348
  trace.info('Peer connection without publisher was created', peerConnection);
359
349
  return peerConnection;
360
350
  }
@@ -363,15 +353,16 @@ var MediaServerSession = /** @class */function (_super) {
363
353
  trace.info('Peer connection with publisher was created', peerConnection);
364
354
  return peerConnection;
365
355
  });
366
- }).then(function (peerConnection) {
356
+ })
357
+ .then(function (peerConnection) {
367
358
  _this._peerConnections.set(peerConnection.peerId, peerConnection);
368
359
  if (connection.connectionId === _this.ownPeerId) {
369
360
  trace.info('Before subscribe the event streams');
370
- return _this._lastStreamEvents.reduce(function (promiseChain, streamEvent) {
371
- return promiseChain.then(function () {
372
- return _this.streamCreatedHandler(streamEvent);
373
- });
374
- }, bluebird_1.Promise.resolve()).then(function () {
361
+ return _this._lastStreamEvents
362
+ .reduce(function (promiseChain, streamEvent) {
363
+ return promiseChain.then(function () { return _this.streamCreatedHandler(streamEvent); });
364
+ }, bluebird_1.Promise.resolve())
365
+ .then(function () {
375
366
  if (peerConnection.publisher) {
376
367
  trace.info('Starting publish to peerConnection.publisher');
377
368
  return _this._session.publish(peerConnection.publisher).catch(function (err) {
@@ -386,20 +377,17 @@ var MediaServerSession = /** @class */function (_super) {
386
377
  return bluebird_1.Promise.resolve();
387
378
  });
388
379
  }
389
- }).catch(function (error) {
380
+ })
381
+ .catch(function (error) {
390
382
  trace.error('Error handling new peer connection', error);
391
383
  });
392
384
  };
393
385
  MediaServerSession.prototype.sessionExistsGuard = function (shouldThrow) {
394
- if (shouldThrow === void 0) {
395
- shouldThrow = true;
396
- }
386
+ if (shouldThrow === void 0) { shouldThrow = true; }
397
387
  var connected = !!(this._session && this._session.connection && this._session.connection.connectionId);
398
- return guards_1.throwableGuard(connected, 'There no MediaServer session exists', shouldThrow);
388
+ return (0, guards_1.throwableGuard)(connected, 'There no MediaServer session exists', shouldThrow);
399
389
  };
400
390
  return MediaServerSession;
401
- }(MediaSessionBase_1.MediaSessionBase);
391
+ }(MediaSessionBase_1.MediaSessionBase));
402
392
  exports.MediaServerSession = MediaServerSession;
403
-
404
- //# sourceMappingURL=MediaServer.js.map
405
- //# sourceMappingURL=MediaServer.js.map
393
+ //# sourceMappingURL=MediaServer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaSession/MediaServer.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__importDefault","mod","__esModule","defineProperty","exports","value","MediaServerSession","MediaSessionBase_1","require","MediaConstants_1","openvidu_browser_1","MediaTracer_1","guards_1","bluebird_1","get_1","trace","getMediaTracer","_super","sessionParams","streamFactory","_this","OV","_session","_lastStreamEvents","_credentials","credentials","connect","bind","disconnect","onMediaStreamDestroyed","onPublisherDestroyed","onMediaStreamRenewed","createStreamForPublishing","createMediaPublisher","connectionCreatedHandler","connectionDestroyedHandler","streamCreatedHandler","streamDestroyedHandler","get","connection","connectionId","enumerable","configurable","connectOnly","info","error","Promise","reject","OpenVidu","initSession","initSessionEvents","token","clientRole","_sessionParams","catch","err","sessionDisconnect","resolve","promiseDisconnect","_peerConnections","forEach","peerConnection","push","destroyPeerConnection","all","then","removeSessionEvent","off","removeHandlers","getRemoteTrackStats","mediaTrack","undefined","promises","peerRole","destroyPublisherOnPeerConnection","mediaStream","replaceStreamTracks","Error","initHandlers","on","event","emitEvent","recordingEvents","RECORD_STARTED","RECORD_STOPPED","RECONNECTING","stream","sessionExistsGuard","warn","destroySubscriberOnPeerConnection","has","delete","peerId","subscriber","unsubscribe","unregisterPeersRemoteMediaTracks","publisher","unpublish","localStream","createMediaSubscriber","remoteStream","subscribe","ownPeerId","getMediaStream","getTracks","addRemoteTrackToPeer","registerPeersRemoteTracks","destinationRole","_sessionStreamsManager","getMediaStreamForRole","videoSource","audioSource","track","kind","SessionClientRole","USER","ovParams","publishAudio","publishVideo","ovPublisher","initPublisher","default","preventDefault","JSON","parse","data","streams","peerType","clientType","SessionClientType","INITIATOR","GUEST","remoteMediaTracks","connectionTimoutPrt","set","reduce","promiseChain","streamEvent","publish","shouldThrow","connected","throwableGuard","MediaSessionBase"],"mappings":"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","file":"MediaServer.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.MediaServerSession = void 0;\nvar MediaSessionBase_1 = require(\"./MediaSessionBase\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar openvidu_browser_1 = require(\"@techsee/openvidu-browser\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar guards_1 = require(\"@techsee/techsee-common/lib/core/guards\");\nvar bluebird_1 = require(\"bluebird\");\nvar get_1 = __importDefault(require(\"lodash/get\"));\nvar trace = MediaTracer_1.getMediaTracer('MediaServerSession');\nvar MediaServerSession = /** @class */ (function (_super) {\n __extends(MediaServerSession, _super);\n function MediaServerSession(sessionParams, streamFactory) {\n var _this = _super.call(this, sessionParams, streamFactory) || this;\n _this.OV = null;\n _this._session = null;\n _this._lastStreamEvents = [];\n _this._credentials = sessionParams.credentials;\n _this.connect = _this.connect.bind(_this);\n _this.disconnect = _this.disconnect.bind(_this);\n _this.onMediaStreamDestroyed = _this.onMediaStreamDestroyed.bind(_this);\n _this.onPublisherDestroyed = _this.onPublisherDestroyed.bind(_this);\n _this.onMediaStreamRenewed = _this.onMediaStreamRenewed.bind(_this);\n _this.createStreamForPublishing = _this.createStreamForPublishing.bind(_this);\n _this.createMediaPublisher = _this.createMediaPublisher.bind(_this);\n _this.connectionCreatedHandler = _this.connectionCreatedHandler.bind(_this);\n _this.connectionDestroyedHandler = _this.connectionDestroyedHandler.bind(_this);\n _this.streamCreatedHandler = _this.streamCreatedHandler.bind(_this);\n _this.streamDestroyedHandler = _this.streamDestroyedHandler.bind(_this);\n return _this;\n }\n Object.defineProperty(MediaServerSession.prototype, \"ownPeerId\", {\n get: function () {\n return this._session && this._session.connection ? this._session.connection.connectionId : '';\n },\n enumerable: false,\n configurable: true\n });\n MediaServerSession.prototype.connect = function (connectOnly) {\n trace.info('Connect to session', this._credentials);\n if (this._session) {\n trace.error('Session already exists');\n return bluebird_1.Promise.reject('Cannot connect to session while another session is active');\n }\n // const iceServers = this._credentials.ice.map((item: any) => ({\n // urls: item.url,\n // username: item.login,\n // credential: item.password\n // }));\n this.OV = new openvidu_browser_1.OpenVidu();\n // this.OV.setAdvancedConfiguration({ iceServers });\n this._session = this.OV.initSession();\n this.initSessionEvents();\n return this._session.connect(this._credentials.token, { clientRole: this._sessionParams.clientRole })\n .catch(function (err) {\n trace.error('Error to connect to session Media Server: ', err);\n throw err;\n });\n };\n MediaServerSession.prototype.sessionDisconnect = function () {\n if (this._session) {\n return this._session.disconnect(true);\n }\n };\n MediaServerSession.prototype.disconnect = function () {\n var _this = this;\n return new bluebird_1.Promise(function (resolve) {\n trace.info('Disconnecting from session');\n var promiseDisconnect = [];\n _this._peerConnections.forEach(function (peerConnection) {\n promiseDisconnect.push(_this.destroyPeerConnection(peerConnection));\n });\n return bluebird_1.Promise.all(promiseDisconnect).then(function () {\n if (!_this._session) {\n trace.info('No active session - resolving');\n resolve();\n return;\n }\n _this.removeSessionEvent();\n _this._session.disconnect();\n _this._lastStreamEvents = [];\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n delete _this._session;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n delete _this.OV;\n resolve();\n });\n });\n };\n MediaServerSession.prototype.removeSessionEvent = function () {\n if (!this._session) {\n return;\n }\n this._session.off('connectionCreated');\n this._session.off('streamCreated');\n this._session.off('streamDestroyed');\n this._session.off('connectionDestroyed');\n this._session.off('sessionDisconnected');\n this._session.off('recordingStarted');\n this._session.off('recordingStopped');\n this._sessionParams.removeHandlers && this._sessionParams.removeHandlers();\n trace.info('Remove Events Listener');\n };\n MediaServerSession.prototype.getRemoteTrackStats = function (mediaTrack) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore// @ts-ignore\n return bluebird_1.Promise.resolve(undefined);\n };\n MediaServerSession.prototype.onMediaStreamDestroyed = function (clientRole) {\n var _this = this;\n trace.info('onMediaStreamDestroyed');\n var promises = [];\n this._peerConnections.forEach(function (peerConnection) {\n if (peerConnection.peerRole === clientRole) {\n promises.push(_this.destroyPublisherOnPeerConnection(peerConnection));\n }\n });\n return bluebird_1.Promise.all(promises).then(function () { return trace.info('onMediaStreamDestroyed: Success'); });\n };\n MediaServerSession.prototype.onPublisherDestroyed = function (connectionId) {\n trace.info('onPublisherDestroyed');\n var peerConnection = this._peerConnections.get(connectionId);\n if (!peerConnection) {\n return bluebird_1.Promise.resolve();\n }\n return this.destroyPublisherOnPeerConnection(peerConnection);\n };\n MediaServerSession.prototype.onMediaStreamRenewed = function (clientRole, mediaStream) {\n return bluebird_1.Promise.resolve(undefined);\n };\n MediaServerSession.prototype.replaceStreamTracks = function (mediaStream) {\n return bluebird_1.Promise.reject(new Error('Not implemented'));\n };\n MediaServerSession.prototype.initSessionEvents = function () {\n var _this = this;\n if (!this._session) {\n return;\n }\n this._sessionParams.initHandlers && this._sessionParams.initHandlers();\n this._lastStreamEvents = [];\n this._session.on('connectionCreated', this.connectionCreatedHandler);\n this._session.on('streamCreated', this.streamCreatedHandler);\n this._session.on('streamDestroyed', this.streamDestroyedHandler);\n this._session.on('connectionDestroyed', this.connectionDestroyedHandler);\n this._session.on('recordingStarted', function (event) {\n trace.info('recordingStarted event', event);\n _this.emitEvent(MediaSessionBase_1.recordingEvents.RECORD_STARTED, event);\n });\n this._session.on('recordingStopped', function (event) {\n trace.info('recordingStopped event', event);\n _this.emitEvent(MediaSessionBase_1.recordingEvents.RECORD_STOPPED, event);\n });\n this._session.on('reconnecting', function () {\n trace.info('reconnecting event');\n _this.emitEvent(MediaSessionBase_1.recordingEvents.RECONNECTING);\n });\n this._session.on('sessionDisconnected', this.disconnect);\n };\n MediaServerSession.prototype.streamDestroyedHandler = function (event) {\n trace.info('streamDestroyedHandler', event);\n var stream = event.stream;\n if (!this.sessionExistsGuard(false) || !stream) {\n return;\n }\n var peerConnection = this._peerConnections.get(stream.connection.connectionId);\n if (!peerConnection) {\n trace.warn('Peer connection for remote stream not found');\n return;\n }\n this.destroySubscriberOnPeerConnection(peerConnection).catch(function () { return undefined; });\n };\n MediaServerSession.prototype.connectionDestroyedHandler = function (event) {\n trace.info('connectionDestroyedHandler', event);\n var connection = event.connection;\n if (!this.sessionExistsGuard(false) || !connection) {\n return;\n }\n if (this._peerConnections.has(connection.connectionId)) {\n var peerConnection = this._peerConnections.get(connection.connectionId);\n this.destroySubscriberOnPeerConnection(peerConnection).catch(function () { return undefined; });\n }\n };\n MediaServerSession.prototype.destroyPeerConnection = function (peerConnection) {\n trace.info('destroyPeerConnection');\n this._peerConnections.delete(peerConnection.peerId);\n return bluebird_1.Promise.all([this.destroyPublisherOnPeerConnection(peerConnection),\n this.destroySubscriberOnPeerConnection(peerConnection)]).then(function () { return undefined; })\n .catch(function () {\n trace.warn('destroyPeerConnection - something wrong with destroy');\n });\n };\n MediaServerSession.prototype.destroySubscriberOnPeerConnection = function (peerConnection) {\n trace.info('destroySubscriberOnPeerConnection', peerConnection);\n if (this.sessionExistsGuard(false) && peerConnection.subscriber) {\n this._session.unsubscribe(peerConnection.subscriber);\n }\n trace.info('destroySubscriberOnPeerConnection- before unregisterPeersRemoteMediaTracks');\n return this.unregisterPeersRemoteMediaTracks(peerConnection)\n .catch(function () { return trace.warn('Error removing remote streams from peerConnection'); })\n .then(function () {\n trace.info('destroySubscriberOnPeerConnection- unregisterPeersRemoteMediaTracks successfully');\n peerConnection.subscriber = null;\n });\n };\n MediaServerSession.prototype.destroyPublisherOnPeerConnection = function (peerConnection) {\n trace.info('destroyPublisherOnPeerConnection');\n if (this.sessionExistsGuard(false) && peerConnection.publisher) {\n trace.info('destroyPublisherOnPeerConnection- unpublish!');\n this._session.unpublish(peerConnection.publisher);\n }\n peerConnection.publisher = null;\n peerConnection.localStream = null;\n return bluebird_1.Promise.resolve();\n };\n MediaServerSession.prototype.createMediaSubscriber = function (remoteStream) {\n var _this = this;\n trace.info('createMediaSubscriber');\n return new bluebird_1.Promise(function (resolve, reject) {\n if (!_this.sessionExistsGuard(false)) {\n return reject('Session not exists');\n }\n trace.info('Before create subscriber');\n var subscriber = _this._session.subscribe(remoteStream, '', {}, function (err) {\n if (err) {\n trace.warn('Error creating subscriber', err);\n return reject(err);\n }\n trace.info('create subscriber successfully', subscriber);\n return resolve(subscriber);\n });\n });\n };\n MediaServerSession.prototype.streamCreatedHandler = function (event) {\n var _this = this;\n if (!event) {\n return bluebird_1.Promise.resolve();\n }\n trace.info('streamCreatedHandler', event.stream);\n var stream = event.stream;\n var connection = (stream || { connection: null }).connection;\n if (!this.sessionExistsGuard(false) || !stream || connection.connectionId === this.ownPeerId) {\n return bluebird_1.Promise.resolve();\n }\n if (!this._peerConnections.has(connection.connectionId)) {\n trace.warn('Unexpected case, connection should exist, add to streams to subscribe list', event);\n this._lastStreamEvents.push(event);\n return bluebird_1.Promise.resolve();\n }\n var peerConnection = this._peerConnections.get(connection.connectionId);\n trace.info('Subscribing the stream');\n return this.createMediaSubscriber(stream).then(function (subscriber) {\n peerConnection.subscriber = subscriber;\n trace.info('Registering remote media tracks', peerConnection.subscriber);\n subscriber.stream.getMediaStream().getTracks().forEach(function (mediaTrack) {\n _this.addRemoteTrackToPeer(peerConnection, mediaTrack);\n });\n return _this.registerPeersRemoteTracks(peerConnection);\n });\n };\n MediaServerSession.prototype.createStreamForPublishing = function (destinationRole) {\n var _this = this;\n trace.info('createStreamForPublishing');\n return this._sessionStreamsManager.getMediaStreamForRole(destinationRole)\n .then(function (mediaStream) {\n var stream = { videoSource: null, audioSource: null };\n if (mediaStream) {\n trace.info('Media stream found for publishing', mediaStream);\n mediaStream.getTracks().forEach(function (track) {\n if (track.kind === 'video') {\n stream.videoSource = track;\n }\n else if (track.kind === 'audio') {\n stream.audioSource = track;\n }\n });\n }\n else if (_this._sessionParams.clientRole === MediaConstants_1.SessionClientRole.USER) {\n trace.warn('No local media was found for publishing to destinationRole:', destinationRole);\n }\n return stream;\n });\n };\n MediaServerSession.prototype.createMediaPublisher = function (stream) {\n var _this = this;\n var ovParams = {\n videoSource: stream.videoSource ? stream.videoSource : false,\n audioSource: stream.audioSource ? stream.audioSource : false,\n publishAudio: !!stream.audioSource,\n publishVideo: !!stream.videoSource\n };\n return new bluebird_1.Promise(function (resolve, reject) {\n var ovPublisher = _this.OV.initPublisher('', ovParams, function (error) {\n if (error) {\n reject(error);\n return;\n }\n ovPublisher.on('streamDestroyed', function (event) {\n trace.info('Publisher stream destroyed', event);\n var connectionId = get_1.default(event, 'stream.connection.connectionId');\n _this.onPublisherDestroyed(connectionId);\n //We preventing the default, in order to prevent stop the stream by OV.\n //We managing streams by ourselves and if we allow OV to close the stream, it cannot be reused.\n event.preventDefault();\n });\n resolve(ovPublisher);\n });\n });\n };\n MediaServerSession.prototype.connectionCreatedHandler = function (event) {\n var _this = this;\n trace.info('connectionCreatedHandler', event);\n var connection = event.connection;\n if (!this.sessionExistsGuard(false) || !connection) {\n return;\n }\n var destinationRole = JSON.parse(connection.data).clientRole;\n this.createStreamForPublishing(destinationRole)\n .then(function (streams) {\n var peerConnection = {\n peerId: connection.connectionId,\n peerRole: destinationRole,\n peerType: _this._sessionParams.clientType === MediaConstants_1.SessionClientType.INITIATOR\n ? MediaConstants_1.SessionClientType.GUEST : MediaConstants_1.SessionClientType.INITIATOR,\n connection: connection,\n publisher: null,\n subscriber: null,\n remoteMediaTracks: [],\n localStream: streams,\n connectionTimoutPrt: null\n };\n if (connection.connectionId !== _this.ownPeerId || (!streams.videoSource && !streams.audioSource)) {\n trace.info('Peer connection without publisher was created', peerConnection);\n return peerConnection;\n }\n return _this.createMediaPublisher(streams)\n .then(function (publisher) {\n peerConnection.publisher = publisher;\n trace.info('Peer connection with publisher was created', peerConnection);\n return peerConnection;\n });\n })\n .then(function (peerConnection) {\n _this._peerConnections.set(peerConnection.peerId, peerConnection);\n if (connection.connectionId === _this.ownPeerId) {\n trace.info('Before subscribe the event streams');\n return _this._lastStreamEvents.reduce(function (promiseChain, streamEvent) { return promiseChain.then(function () { return _this.streamCreatedHandler(streamEvent); }); }, bluebird_1.Promise.resolve()).then(function () {\n if (peerConnection.publisher) {\n trace.info('Starting publish to peerConnection.publisher');\n return _this._session.publish(peerConnection.publisher)\n .catch(function (err) {\n trace.info('Error during publish', peerConnection.publisher);\n if (peerConnection.publisher) {\n trace.info('Error during publish- unpublish');\n _this._session.unpublish(peerConnection.publisher);\n }\n throw err;\n });\n }\n return bluebird_1.Promise.resolve();\n });\n }\n })\n .catch(function (error) {\n trace.error('Error handling new peer connection', error);\n });\n };\n MediaServerSession.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 MediaServer session exists', shouldThrow);\n };\n return MediaServerSession;\n}(MediaSessionBase_1.MediaSessionBase));\nexports.MediaServerSession = MediaServerSession;\n\n//# sourceMappingURL=MediaServer.js.map\n"]}
1
+ {"version":3,"file":"MediaServer.js","sourceRoot":"","sources":["../../src/MediaSession/MediaServer.ts"],"names":[],"mappings":"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"}
@@ -32,3 +32,4 @@ export declare abstract class MediaSessionBase<PeerType extends IMediaSessionPee
32
32
  protected unregisterPeersRemoteMediaTracks(peerConnection: PeerType): Promise<void>;
33
33
  protected getPeerConnectionByMediaTrack(mediaTrack: MediaStreamTrack): Nullable<PeerType>;
34
34
  }
35
+ //# sourceMappingURL=MediaSessionBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MediaSession/MediaSessionBase.ts"],"names":[],"mappings":";AAAA,OAAO,EAAyC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EACH,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpC,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,mBAAmB,EAAE,GAAG,CAAC;CAC5B;AAED,oBAAY,eAAe;IACvB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAChC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,iBAAkB,SAAQ,iBAAiB;KAEpD;CACJ;AAID,8BAAsB,gBAAgB,CAAC,QAAQ,SAAS,iBAAiB;IACrE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,yBAAyB,CAAC;IAClF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAE1C,SAAS,aAAa,aAAa,EAAE,kBAAkB,GAAG,yBAAyB,EAAE,aAAa,EAAE,sBAAsB;IAQ1H,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAI/E,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI;IAMzD,SAAS,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB;IA+BpG,SAAS,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,iBAAiB;IAgB3E,SAAS,CAAC,gCAAgC,CAAC,cAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnF,SAAS,CAAC,6BAA6B,CAAC,UAAU,EAAE,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;CAiB5F","file":"MediaSessionBase.d.ts","sourcesContent":["import {KnownMediaStream, KnownMediaStreamKind, SessionClientRole, SessionClientType} from '../MediaConstants';\nimport {\n ISessionStreamsManager,\n MediaSessionConfiguration,\n MediaSessionParams,\n RemoteMediaTrack\n} from '../MediaContracts';\n\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {Nullable} from '@techsee/techsee-common';\nimport {EventEmitter} from 'events';\n\nexport interface IMediaSessionPeer {\n peerId: string;\n peerType: SessionClientType;\n peerRole: SessionClientRole;\n remoteMediaTracks: RemoteMediaTrack[];\n connectionTimoutPrt: any;\n}\n\nexport enum recordingEvents {\n RECORD_STARTED = 'RECORD_STARTED',\n RECORD_STOPPED = 'RECORD_STOPPED',\n RECONNECTING = 'RECONNECTING'\n}\n\ndeclare global {\n interface RTCPeerConnection extends IMediaSessionPeer {\n\n }\n}\n\nconst trace = getMediaTracer('MediaSessionBase');\n\nexport abstract class MediaSessionBase<PeerType extends IMediaSessionPeer> {\n protected readonly _peerConnections: Map<string, PeerType>;\n protected readonly _sessionStreamsManager: ISessionStreamsManager;\n protected readonly _sessionParams: MediaSessionParams & MediaSessionConfiguration;\n protected readonly _emitter: EventEmitter;\n\n protected constructor(sessionParams: MediaSessionParams & MediaSessionConfiguration, streamFactory: ISessionStreamsManager) {\n this._sessionParams = sessionParams;\n this._sessionStreamsManager = streamFactory;\n this._emitter = new EventEmitter();\n\n this._peerConnections = new Map();\n }\n\n registerEventCallback(event: string, callback: (eventArgs?: any) => void): void {\n this._emitter.on(event, callback);\n }\n\n protected emitEvent(event: string, eventArgs?: any): void {\n setTimeout(() => {\n this._emitter.emit(event, eventArgs);\n });\n }\n\n protected addRemoteTrackToPeer(sourcePeerConnection: IMediaSessionPeer, mediaTrack: MediaStreamTrack) {\n if (mediaTrack.kind === KnownMediaStreamKind.Video &&\n sourcePeerConnection.peerRole === SessionClientRole.AGENT) {\n //Currently We don't support video streams from Agent side\n return;\n }\n\n let trackType: Nullable<KnownMediaStream> = null;\n\n if (mediaTrack.kind.toLowerCase() === KnownMediaStreamKind.Audio) {\n switch (sourcePeerConnection.peerRole) {\n case SessionClientRole.AGENT:\n trackType = KnownMediaStream.AGENT_AUDIO_STREAM;\n break;\n case SessionClientRole.OBSERVER:\n trackType = KnownMediaStream.OBSERVER_AUDIO_STREAM;\n break;\n default:\n trackType = KnownMediaStream.USER_AUDIO_STREAM;\n break;\n }\n\n } else {\n trackType = KnownMediaStream.USER_VIDEO_STREAM;\n }\n\n const remoteMediaTrack: RemoteMediaTrack = {mediaTrack, trackType, isRegistered: false};\n\n sourcePeerConnection.remoteMediaTracks.push(remoteMediaTrack);\n }\n\n protected registerPeersRemoteTracks(sourcePeerConnection: IMediaSessionPeer) {\n trace.info('registerPeersRemoteTracks', sourcePeerConnection && sourcePeerConnection.remoteMediaTracks);\n sourcePeerConnection.remoteMediaTracks.forEach((remoteMediaTrack: RemoteMediaTrack) => {\n if (!remoteMediaTrack.isRegistered) {\n trace.info('call addRemoteMediaTrack with the remote media track', remoteMediaTrack);\n this._sessionStreamsManager.addRemoteMediaTrack(remoteMediaTrack)\n .then(() => {\n remoteMediaTrack.isRegistered = true;\n })\n .catch((error: any) => {\n trace.warn('Error adding remote media track to available streams', error);\n });\n }\n });\n }\n\n protected unregisterPeersRemoteMediaTracks(peerConnection: PeerType): Promise<void> {\n const promises: Promise<any>[] = [];\n\n peerConnection.remoteMediaTracks.forEach((remoteMediaTrack) => {\n const removalPromise = this._sessionStreamsManager.removeMediaTrack(remoteMediaTrack.mediaTrack)\n .then(() => remoteMediaTrack.isRegistered = false)\n .catch(() => trace.warn('Error while removing remote media track', remoteMediaTrack));\n\n promises.push(removalPromise);\n });\n\n return Promise.all(promises).then(() => undefined);\n }\n\n protected getPeerConnectionByMediaTrack(mediaTrack: MediaStreamTrack): Nullable<PeerType> {\n let peerConnectionOfTrack: Nullable<PeerType> = null;\n\n this._peerConnections.forEach((peerConnection: PeerType) => {\n if (peerConnectionOfTrack !== null) {\n return;\n }\n\n const remoteTrack = peerConnection.remoteMediaTracks.filter((track) => track.mediaTrack.id === mediaTrack.id);\n\n if (remoteTrack.length === 1) {\n peerConnectionOfTrack = peerConnection;\n }\n });\n\n return peerConnectionOfTrack;\n }\n}\n"]}
1
+ {"version":3,"file":"MediaSessionBase.d.ts","sourceRoot":"","sources":["../../src/MediaSession/MediaSessionBase.ts"],"names":[],"mappings":";AAAA,OAAO,EAAyC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EACH,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpC,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,mBAAmB,EAAE,GAAG,CAAC;CAC5B;AAED,oBAAY,eAAe;IACvB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAChC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,iBAAkB,SAAQ,iBAAiB;KAAG;CAC3D;AAID,8BAAsB,gBAAgB,CAAC,QAAQ,SAAS,iBAAiB;IACrE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE3D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,yBAAyB,CAAC;IAElF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAE1C,SAAS,aACL,aAAa,EAAE,kBAAkB,GAAG,yBAAyB,EAC7D,aAAa,EAAE,sBAAsB;IASzC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAI/E,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI;IAMzD,SAAS,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB;IAgCpG,SAAS,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,iBAAiB;IAiB3E,SAAS,CAAC,gCAAgC,CAAC,cAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAenF,SAAS,CAAC,6BAA6B,CAAC,UAAU,EAAE,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;CAmB5F"}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.MediaSessionBase = exports.recordingEvents = void 0;
5
4
  var MediaConstants_1 = require("../MediaConstants");
@@ -11,8 +10,8 @@ var recordingEvents;
11
10
  recordingEvents["RECORD_STOPPED"] = "RECORD_STOPPED";
12
11
  recordingEvents["RECONNECTING"] = "RECONNECTING";
13
12
  })(recordingEvents = exports.recordingEvents || (exports.recordingEvents = {}));
14
- var trace = MediaTracer_1.getMediaTracer('MediaSessionBase');
15
- var MediaSessionBase = /** @class */function () {
13
+ var trace = (0, MediaTracer_1.getMediaTracer)('MediaSessionBase');
14
+ var MediaSessionBase = (function () {
16
15
  function MediaSessionBase(sessionParams, streamFactory) {
17
16
  this._sessionParams = sessionParams;
18
17
  this._sessionStreamsManager = streamFactory;
@@ -29,8 +28,8 @@ var MediaSessionBase = /** @class */function () {
29
28
  });
30
29
  };
31
30
  MediaSessionBase.prototype.addRemoteTrackToPeer = function (sourcePeerConnection, mediaTrack) {
32
- if (mediaTrack.kind === MediaConstants_1.KnownMediaStreamKind.Video && sourcePeerConnection.peerRole === MediaConstants_1.SessionClientRole.AGENT) {
33
- //Currently We don't support video streams from Agent side
31
+ if (mediaTrack.kind === MediaConstants_1.KnownMediaStreamKind.Video &&
32
+ sourcePeerConnection.peerRole === MediaConstants_1.SessionClientRole.AGENT) {
34
33
  return;
35
34
  }
36
35
  var trackType = null;
@@ -46,7 +45,8 @@ var MediaSessionBase = /** @class */function () {
46
45
  trackType = MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM;
47
46
  break;
48
47
  }
49
- } else {
48
+ }
49
+ else {
50
50
  trackType = MediaConstants_1.KnownMediaStream.USER_VIDEO_STREAM;
51
51
  }
52
52
  var remoteMediaTrack = { mediaTrack: mediaTrack, trackType: trackType, isRegistered: false };
@@ -58,9 +58,12 @@ var MediaSessionBase = /** @class */function () {
58
58
  sourcePeerConnection.remoteMediaTracks.forEach(function (remoteMediaTrack) {
59
59
  if (!remoteMediaTrack.isRegistered) {
60
60
  trace.info('call addRemoteMediaTrack with the remote media track', remoteMediaTrack);
61
- _this._sessionStreamsManager.addRemoteMediaTrack(remoteMediaTrack).then(function () {
61
+ _this._sessionStreamsManager
62
+ .addRemoteMediaTrack(remoteMediaTrack)
63
+ .then(function () {
62
64
  remoteMediaTrack.isRegistered = true;
63
- }).catch(function (error) {
65
+ })
66
+ .catch(function (error) {
64
67
  trace.warn('Error adding remote media track to available streams', error);
65
68
  });
66
69
  }
@@ -70,16 +73,13 @@ var MediaSessionBase = /** @class */function () {
70
73
  var _this = this;
71
74
  var promises = [];
72
75
  peerConnection.remoteMediaTracks.forEach(function (remoteMediaTrack) {
73
- var removalPromise = _this._sessionStreamsManager.removeMediaTrack(remoteMediaTrack.mediaTrack).then(function () {
74
- return remoteMediaTrack.isRegistered = false;
75
- }).catch(function () {
76
- return trace.warn('Error while removing remote media track', remoteMediaTrack);
77
- });
76
+ var removalPromise = _this._sessionStreamsManager
77
+ .removeMediaTrack(remoteMediaTrack.mediaTrack)
78
+ .then(function () { return (remoteMediaTrack.isRegistered = false); })
79
+ .catch(function () { return trace.warn('Error while removing remote media track', remoteMediaTrack); });
78
80
  promises.push(removalPromise);
79
81
  });
80
- return Promise.all(promises).then(function () {
81
- return undefined;
82
- });
82
+ return Promise.all(promises).then(function () { return undefined; });
83
83
  };
84
84
  MediaSessionBase.prototype.getPeerConnectionByMediaTrack = function (mediaTrack) {
85
85
  var peerConnectionOfTrack = null;
@@ -87,9 +87,7 @@ var MediaSessionBase = /** @class */function () {
87
87
  if (peerConnectionOfTrack !== null) {
88
88
  return;
89
89
  }
90
- var remoteTrack = peerConnection.remoteMediaTracks.filter(function (track) {
91
- return track.mediaTrack.id === mediaTrack.id;
92
- });
90
+ var remoteTrack = peerConnection.remoteMediaTracks.filter(function (track) { return track.mediaTrack.id === mediaTrack.id; });
93
91
  if (remoteTrack.length === 1) {
94
92
  peerConnectionOfTrack = peerConnection;
95
93
  }
@@ -97,8 +95,6 @@ var MediaSessionBase = /** @class */function () {
97
95
  return peerConnectionOfTrack;
98
96
  };
99
97
  return MediaSessionBase;
100
- }();
98
+ }());
101
99
  exports.MediaSessionBase = MediaSessionBase;
102
-
103
- //# sourceMappingURL=MediaSessionBase.js.map
104
- //# sourceMappingURL=MediaSessionBase.js.map
100
+ //# sourceMappingURL=MediaSessionBase.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaSession/MediaSessionBase.js"],"names":["Object","defineProperty","exports","value","MediaSessionBase","recordingEvents","MediaConstants_1","require","MediaTracer_1","events_1","trace","getMediaTracer","sessionParams","streamFactory","_sessionParams","_sessionStreamsManager","_emitter","EventEmitter","_peerConnections","Map","prototype","registerEventCallback","event","callback","on","emitEvent","eventArgs","_this","setTimeout","emit","addRemoteTrackToPeer","sourcePeerConnection","mediaTrack","kind","KnownMediaStreamKind","Video","peerRole","SessionClientRole","AGENT","trackType","toLowerCase","Audio","KnownMediaStream","AGENT_AUDIO_STREAM","OBSERVER","OBSERVER_AUDIO_STREAM","USER_AUDIO_STREAM","USER_VIDEO_STREAM","remoteMediaTrack","isRegistered","remoteMediaTracks","push","registerPeersRemoteTracks","info","forEach","addRemoteMediaTrack","then","catch","error","warn","unregisterPeersRemoteMediaTracks","peerConnection","promises","removalPromise","removeMediaTrack","Promise","all","undefined","getPeerConnectionByMediaTrack","peerConnectionOfTrack","remoteTrack","filter","track","id","length"],"mappings":"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","file":"MediaSessionBase.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediaSessionBase = exports.recordingEvents = void 0;\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar events_1 = require(\"events\");\nvar recordingEvents;\n(function (recordingEvents) {\n recordingEvents[\"RECORD_STARTED\"] = \"RECORD_STARTED\";\n recordingEvents[\"RECORD_STOPPED\"] = \"RECORD_STOPPED\";\n recordingEvents[\"RECONNECTING\"] = \"RECONNECTING\";\n})(recordingEvents = exports.recordingEvents || (exports.recordingEvents = {}));\nvar trace = MediaTracer_1.getMediaTracer('MediaSessionBase');\nvar MediaSessionBase = /** @class */ (function () {\n function MediaSessionBase(sessionParams, streamFactory) {\n this._sessionParams = sessionParams;\n this._sessionStreamsManager = streamFactory;\n this._emitter = new events_1.EventEmitter();\n this._peerConnections = new Map();\n }\n MediaSessionBase.prototype.registerEventCallback = function (event, callback) {\n this._emitter.on(event, callback);\n };\n MediaSessionBase.prototype.emitEvent = function (event, eventArgs) {\n var _this = this;\n setTimeout(function () {\n _this._emitter.emit(event, eventArgs);\n });\n };\n MediaSessionBase.prototype.addRemoteTrackToPeer = function (sourcePeerConnection, mediaTrack) {\n if (mediaTrack.kind === MediaConstants_1.KnownMediaStreamKind.Video &&\n sourcePeerConnection.peerRole === MediaConstants_1.SessionClientRole.AGENT) {\n //Currently We don't support video streams from Agent side\n return;\n }\n var trackType = null;\n if (mediaTrack.kind.toLowerCase() === MediaConstants_1.KnownMediaStreamKind.Audio) {\n switch (sourcePeerConnection.peerRole) {\n case MediaConstants_1.SessionClientRole.AGENT:\n trackType = MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM;\n break;\n case MediaConstants_1.SessionClientRole.OBSERVER:\n trackType = MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM;\n break;\n default:\n trackType = MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM;\n break;\n }\n }\n else {\n trackType = MediaConstants_1.KnownMediaStream.USER_VIDEO_STREAM;\n }\n var remoteMediaTrack = { mediaTrack: mediaTrack, trackType: trackType, isRegistered: false };\n sourcePeerConnection.remoteMediaTracks.push(remoteMediaTrack);\n };\n MediaSessionBase.prototype.registerPeersRemoteTracks = function (sourcePeerConnection) {\n var _this = this;\n trace.info('registerPeersRemoteTracks', sourcePeerConnection && sourcePeerConnection.remoteMediaTracks);\n sourcePeerConnection.remoteMediaTracks.forEach(function (remoteMediaTrack) {\n if (!remoteMediaTrack.isRegistered) {\n trace.info('call addRemoteMediaTrack with the remote media track', remoteMediaTrack);\n _this._sessionStreamsManager.addRemoteMediaTrack(remoteMediaTrack)\n .then(function () {\n remoteMediaTrack.isRegistered = true;\n })\n .catch(function (error) {\n trace.warn('Error adding remote media track to available streams', error);\n });\n }\n });\n };\n MediaSessionBase.prototype.unregisterPeersRemoteMediaTracks = function (peerConnection) {\n var _this = this;\n var promises = [];\n peerConnection.remoteMediaTracks.forEach(function (remoteMediaTrack) {\n var removalPromise = _this._sessionStreamsManager.removeMediaTrack(remoteMediaTrack.mediaTrack)\n .then(function () { return remoteMediaTrack.isRegistered = false; })\n .catch(function () { return trace.warn('Error while removing remote media track', remoteMediaTrack); });\n promises.push(removalPromise);\n });\n return Promise.all(promises).then(function () { return undefined; });\n };\n MediaSessionBase.prototype.getPeerConnectionByMediaTrack = function (mediaTrack) {\n var peerConnectionOfTrack = null;\n this._peerConnections.forEach(function (peerConnection) {\n if (peerConnectionOfTrack !== null) {\n return;\n }\n var remoteTrack = peerConnection.remoteMediaTracks.filter(function (track) { return track.mediaTrack.id === mediaTrack.id; });\n if (remoteTrack.length === 1) {\n peerConnectionOfTrack = peerConnection;\n }\n });\n return peerConnectionOfTrack;\n };\n return MediaSessionBase;\n}());\nexports.MediaSessionBase = MediaSessionBase;\n\n//# sourceMappingURL=MediaSessionBase.js.map\n"]}
1
+ {"version":3,"file":"MediaSessionBase.js","sourceRoot":"","sources":["../../src/MediaSession/MediaSessionBase.ts"],"names":[],"mappings":"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"}
@@ -49,3 +49,4 @@ export declare class OpentokSession extends MediaSessionBase<OTPeerConnection> i
49
49
  private sessionExistsGuard;
50
50
  }
51
51
  export {};
52
+ //# sourceMappingURL=SessionOpentok.d.ts.map