@techsee/techsee-media-service 999.19.6-nodejs20 → 999.19.50-alphagb2

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 (193) 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 -20
  7. package/lib/MediaConstants.d.ts.map +1 -1
  8. package/lib/MediaConstants.js +13 -31
  9. package/lib/MediaConstants.js.map +1 -1
  10. package/lib/MediaContracts.d.ts +1 -7
  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 +198 -169
  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 +0 -1
  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/TechseeMediaStream.d.ts +0 -1
  59. package/lib/TechseeMediaStream.d.ts.map +1 -1
  60. package/lib/TechseeMediaStream.js +12 -9
  61. package/lib/TechseeMediaStream.js.map +1 -1
  62. package/lib/oldCode/constants.js +20 -0
  63. package/lib/oldCode/constants.js.map +1 -0
  64. package/lib/oldCode/event-emitter.js +39 -0
  65. package/lib/oldCode/event-emitter.js.map +1 -0
  66. package/lib/oldCode/index.js +64 -0
  67. package/lib/oldCode/index.js.map +1 -0
  68. package/lib/oldCode/opentok/session.js +310 -0
  69. package/lib/oldCode/opentok/session.js.map +1 -0
  70. package/lib/oldCode/opentok/stream.js +310 -0
  71. package/lib/oldCode/opentok/stream.js.map +1 -0
  72. package/lib/oldCode/publisher.js +143 -0
  73. package/lib/oldCode/publisher.js.map +1 -0
  74. package/lib/oldCode/service.js +395 -0
  75. package/lib/oldCode/service.js.map +1 -0
  76. package/lib/oldCode/session.js +110 -0
  77. package/lib/oldCode/session.js.map +1 -0
  78. package/lib/oldCode/stream.js +195 -0
  79. package/lib/oldCode/stream.js.map +1 -0
  80. package/lib/oldCode/subscriber.js +90 -0
  81. package/lib/oldCode/subscriber.js.map +1 -0
  82. package/lib/oldCode/tracer.d.ts +36 -0
  83. package/lib/oldCode/tracer.d.ts.map +1 -0
  84. package/lib/oldCode/tracer.js +161 -0
  85. package/lib/oldCode/tracer.js.map +1 -0
  86. package/lib/oldCode/utils/ImageFixer.d.ts +1 -0
  87. package/lib/oldCode/utils/ImageFixer.d.ts.map +1 -0
  88. package/lib/oldCode/utils/ImageFixer.js +59 -0
  89. package/lib/oldCode/utils/ImageFixer.js.map +1 -0
  90. package/lib/oldCode/webrtc/constants.js +114 -0
  91. package/lib/oldCode/webrtc/constants.js.map +1 -0
  92. package/lib/oldCode/webrtc/helper.js +173 -0
  93. package/lib/oldCode/webrtc/helper.js.map +1 -0
  94. package/lib/oldCode/webrtc/session-kms.js +558 -0
  95. package/lib/oldCode/webrtc/session-kms.js.map +1 -0
  96. package/lib/oldCode/webrtc/session-loopback.js +336 -0
  97. package/lib/oldCode/webrtc/session-loopback.js.map +1 -0
  98. package/lib/oldCode/webrtc/session-turn.js +880 -0
  99. package/lib/oldCode/webrtc/session-turn.js.map +1 -0
  100. package/lib/oldCode/webrtc/session-turn.v2.js +583 -0
  101. package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -0
  102. package/lib/oldCode/webrtc/session.js +52 -0
  103. package/lib/oldCode/webrtc/session.js.map +1 -0
  104. package/lib/oldCode/webrtc/stream.js +674 -0
  105. package/lib/oldCode/webrtc/stream.js.map +1 -0
  106. package/lib/oldCode/webrtc/temasys/adapter-loader.js +12 -0
  107. package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -0
  108. package/lib/oldCode/webrtc/temasys/adapter.js +5862 -0
  109. package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -0
  110. package/lib/oldCode/webrtc/webrtc-ie-shim.js +3007 -0
  111. package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -0
  112. package/lib/qos/raw-qos.js +145 -84
  113. package/lib/qos/raw-qos.js.map +1 -1
  114. package/lib/webrtc-ie-shim.js +2950 -1896
  115. package/lib/webrtc-ie-shim.js.map +1 -1
  116. package/package.json +58 -65
  117. package/lib/MediaUtils/index.d.ts +0 -2
  118. package/lib/MediaUtils/index.d.ts.map +0 -1
  119. package/lib/MediaUtils/index.js +0 -6
  120. package/lib/MediaUtils/index.js.map +0 -1
  121. package/lib/MultiParty/DetectWebRtcService.d.ts +0 -19
  122. package/lib/MultiParty/DetectWebRtcService.d.ts.map +0 -1
  123. package/lib/MultiParty/DetectWebRtcService.js +0 -107
  124. package/lib/MultiParty/DetectWebRtcService.js.map +0 -1
  125. package/lib/MultiParty/MediaCapabilitiesService.d.ts +0 -18
  126. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +0 -1
  127. package/lib/MultiParty/MediaCapabilitiesService.js +0 -158
  128. package/lib/MultiParty/MediaCapabilitiesService.js.map +0 -1
  129. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +0 -6
  130. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +0 -1
  131. package/lib/MultiParty/MediaCapabilitiesUtils.js +0 -123
  132. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +0 -1
  133. package/lib/MultiParty/MediaTracer.d.ts +0 -4
  134. package/lib/MultiParty/MediaTracer.d.ts.map +0 -1
  135. package/lib/MultiParty/MediaTracer.js +0 -10
  136. package/lib/MultiParty/MediaTracer.js.map +0 -1
  137. package/lib/MultiParty/MultiPartyService.d.ts +0 -49
  138. package/lib/MultiParty/MultiPartyService.d.ts.map +0 -1
  139. package/lib/MultiParty/MultiPartyService.js +0 -30
  140. package/lib/MultiParty/MultiPartyService.js.map +0 -1
  141. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +0 -4
  142. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +0 -1
  143. package/lib/MultiParty/MultiPartyServiceFactory.js +0 -13
  144. package/lib/MultiParty/MultiPartyServiceFactory.js.map +0 -1
  145. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +0 -89
  146. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +0 -1
  147. package/lib/MultiParty/MultipartyServiceEventTypes.js +0 -16
  148. package/lib/MultiParty/MultipartyServiceEventTypes.js.map +0 -1
  149. package/lib/MultiParty/index.d.ts +0 -7
  150. package/lib/MultiParty/index.d.ts.map +0 -1
  151. package/lib/MultiParty/index.js +0 -25
  152. package/lib/MultiParty/index.js.map +0 -1
  153. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +0 -38
  154. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +0 -1
  155. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +0 -492
  156. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +0 -1
  157. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +0 -34
  158. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +0 -1
  159. package/lib/MultiParty/opentok/OpentokPublisher.js +0 -121
  160. package/lib/MultiParty/opentok/OpentokPublisher.js.map +0 -1
  161. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +0 -20
  162. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +0 -1
  163. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +0 -49
  164. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +0 -1
  165. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +0 -6
  166. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +0 -1
  167. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +0 -48
  168. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +0 -1
  169. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +0 -2
  170. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +0 -1
  171. package/lib/MultiParty/opentok/OpentokSubscriber.js +0 -26
  172. package/lib/MultiParty/opentok/OpentokSubscriber.js.map +0 -1
  173. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +0 -19
  174. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +0 -1
  175. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +0 -182
  176. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +0 -1
  177. package/lib/MultiParty/opentok/trace.d.ts +0 -3
  178. package/lib/MultiParty/opentok/trace.d.ts.map +0 -1
  179. package/lib/MultiParty/opentok/trace.js +0 -18
  180. package/lib/MultiParty/opentok/trace.js.map +0 -1
  181. package/lib/MultiParty/opentok.d.ts +0 -463
  182. package/lib/MultiParty/types.d.ts +0 -33
  183. package/lib/MultiParty/types.d.ts.map +0 -1
  184. package/lib/MultiParty/types.js +0 -3
  185. package/lib/MultiParty/types.js.map +0 -1
  186. package/lib/MultiParty/utils.d.ts +0 -10
  187. package/lib/MultiParty/utils.d.ts.map +0 -1
  188. package/lib/MultiParty/utils.js +0 -17
  189. package/lib/MultiParty/utils.js.map +0 -1
  190. package/lib/qos/raw-qos.d.ts +0 -29
  191. package/lib/qos/raw-qos.d.ts.map +0 -1
  192. package/lib/webrtc-ie-shim.d.ts +0 -4
  193. package/lib/webrtc-ie-shim.d.ts.map +0 -1
@@ -0,0 +1,195 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+ exports.TsMediaStream = exports.EVENTS = undefined;
5
+
6
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
7
+
8
+ var _eventEmitter = require('./event-emitter');
9
+
10
+ var _session = require('./session');
11
+
12
+ var _subscriber = require('./subscriber');
13
+
14
+ var _tsEnvironmentDetect = require('@techsee/techsee-common/lib/helpers/ts-environment-detect');
15
+
16
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ /**
23
+ * @enum STREAM_EVENTS
24
+ */
25
+ var STREAM_EVENTS = {
26
+ PROPERTY_CHANGED: 'PROPERTY_CHANGED'
27
+ };
28
+
29
+ exports.EVENTS = STREAM_EVENTS;
30
+
31
+ /**
32
+ * Media stream wrapper.
33
+ *
34
+ * Represents video or audio stream, local or remote.
35
+ *
36
+ * General interface for the specific implementations - TsOpenTokStream or TsWebRTCStream
37
+ *
38
+ * @interface
39
+ *
40
+ * @see TsOpenTokStream
41
+ * @see TsWebRTCStream
42
+ */
43
+
44
+ var TsMediaStream = exports.TsMediaStream = function (_EventEmitter) {
45
+ _inherits(TsMediaStream, _EventEmitter);
46
+
47
+ function TsMediaStream(id, session) {
48
+ var isRemote = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
49
+ var videoTrackSettings = arguments[3];
50
+
51
+ _classCallCheck(this, TsMediaStream);
52
+
53
+ var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));
54
+
55
+ session.registerStream(id, _this);
56
+ _this.remote = isRemote;
57
+
58
+ if (videoTrackSettings) {
59
+ _this._width = videoTrackSettings.width;
60
+ _this._height = videoTrackSettings.height;
61
+ }
62
+
63
+ /**
64
+ * Environment detector
65
+ *
66
+ * @protected
67
+ * @member { Object }
68
+ */
69
+ _this._environment = new _tsEnvironmentDetect.TsEnvironmentDetect();
70
+ return _this;
71
+ }
72
+
73
+ /**
74
+ * Stream video dimensions
75
+ *
76
+ * @member { Object }
77
+ * @type { Object }
78
+ */
79
+
80
+
81
+ TsMediaStream.prototype._updateVideoDimensions = function _updateVideoDimensions(videoEl) {
82
+ if (videoEl) {
83
+ this._width = videoEl.videoWidth;
84
+ this._height = videoEl.videoHeight;
85
+
86
+ var stream = this;
87
+ var property = 'videoDimensions';
88
+ var value = this.videoDimensions;
89
+
90
+ this._session.emit(_session.EVENTS.STREAM_PROPERTY_CHANGED, { stream: stream, property: property, value: value });
91
+ }
92
+ };
93
+
94
+ TsMediaStream.prototype.setupDimensionsListener = function setupDimensionsListener(videoEl, subscriber) {
95
+ var _this2 = this;
96
+
97
+ this._clearUpdateDimensionsInterval();
98
+
99
+ this._width = videoEl.videoWidth;
100
+ this._height = videoEl.videoHeight;
101
+
102
+ if (!subscriber && !this._environment.isIE11() && !this._environment.isIOS()) {
103
+ $(videoEl).on('resize', function () {
104
+ return _this2._updateVideoDimensions(videoEl);
105
+ });
106
+ } else {
107
+ this.intervalId = setInterval(function () {
108
+ if (subscriber && !(subscriber.stream && subscriber.stream.hasVideo)) {
109
+ return;
110
+ }
111
+
112
+ if (_this2._width !== videoEl.videoWidth || _this2._height !== videoEl.videoHeight) {
113
+ _this2._updateVideoDimensions(videoEl);
114
+ }
115
+ }, 500);
116
+ }
117
+
118
+ if (subscriber && this.intervalId) {
119
+ subscriber.on(_subscriber.EVENTS.DESTROYED, function () {
120
+ _this2._clearUpdateDimensionsInterval();
121
+ });
122
+ }
123
+ };
124
+
125
+ TsMediaStream.prototype._clearUpdateDimensionsInterval = function _clearUpdateDimensionsInterval() {
126
+ if (this.intervalId) {
127
+ clearInterval(this.intervalId);
128
+
129
+ this.intervalId = null;
130
+ }
131
+ };
132
+
133
+ /* eslint-disable no-unused-vars */
134
+ /**
135
+ * Get snapshot of the current frame in the media stream
136
+ *
137
+ * Used internally in (TsMediaPublisher | TsMediaSubscriber).getSnapshot
138
+ *
139
+ * @method
140
+ * @param { TsMediaPublisher | TsMediaSubscriber } tsMediaElement
141
+ * @param { Number } timeout Usually used in IE. Time between video element transformation and snapshot.
142
+ * @param { Object } options
143
+ * format: Output MIME type (image/png or image/jpeg; default: image/png).
144
+ * quality: Output quality (between 0 and 1; default: 0.92; applies only when the format is image/jpeg).
145
+ * x: The x coordinate of the crop starting position.
146
+ * y: The y coordinate of the crop starting position.
147
+ * w: Crop width.
148
+ * h: Crop Height.
149
+ *
150
+ * @returns { Promise<String> } snapshot
151
+ */
152
+
153
+
154
+ TsMediaStream.prototype.getSnapshot = function getSnapshot(tsMediaElement) {
155
+ var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
156
+
157
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
158
+ _ref$format = _ref.format,
159
+ format = _ref$format === undefined ? 'image/png' : _ref$format,
160
+ _ref$quality = _ref.quality,
161
+ quality = _ref$quality === undefined ? 0.92 : _ref$quality,
162
+ x = _ref.x,
163
+ y = _ref.y,
164
+ w = _ref.w,
165
+ h = _ref.h;
166
+
167
+ throw new TypeError('The method \'getSnapshot\' is not implemented');
168
+ };
169
+
170
+ TsMediaStream.prototype.turnFlashlight = function turnFlashlight() {
171
+ var isTorchOn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
172
+
173
+ throw new TypeError('The method \'turnFlashlight\' is not implemented');
174
+ };
175
+
176
+ TsMediaStream.prototype.setAutoLightOffTimer = function setAutoLightOffTimer(flashlightTimeout) {
177
+ throw new TypeError('The method \'setAutoLightOffTimer\' is not implemented');
178
+ };
179
+
180
+ /* eslint-enable no-unused-vars */
181
+
182
+
183
+ _createClass(TsMediaStream, [{
184
+ key: 'videoDimensions',
185
+ get: function get() {
186
+ // FIXME the fallback dimensions should be removed, and the Opentok/Webrtc implementations
187
+ // should pass the dimensions just like loopback does. I suspect current behavior is
188
+ // the cause of the video element "jumping" (change size) on initial connection
189
+ return { width: this._width || 480, height: this._height || 640 };
190
+ }
191
+ }]);
192
+
193
+ return TsMediaStream;
194
+ }(_eventEmitter.EventEmitter);
195
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["oldCode/stream.js"],"names":["STREAM_EVENTS","PROPERTY_CHANGED","EVENTS","TsMediaStream","id","session","isRemote","videoTrackSettings","registerStream","remote","_width","width","_height","height","_environment","TsEnvironmentDetect","_updateVideoDimensions","videoEl","videoWidth","videoHeight","stream","property","value","videoDimensions","_session","emit","SESSION_EVENTS","STREAM_PROPERTY_CHANGED","setupDimensionsListener","subscriber","_clearUpdateDimensionsInterval","isIE11","isIOS","$","on","intervalId","setInterval","hasVideo","SUBSCRIBER_EVENTS","DESTROYED","clearInterval","getSnapshot","tsMediaElement","timeout","format","quality","x","y","w","h","TypeError","turnFlashlight","isTorchOn","setAutoLightOffTimer","flashlightTimeout","EventEmitter"],"mappings":"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","file":"stream.js","sourcesContent":["import {EventEmitter} from './event-emitter';\n\nimport {\n EVENTS as SESSION_EVENTS\n} from './session';\n\nimport {\n EVENTS as SUBSCRIBER_EVENTS\n} from './subscriber';\n\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\n\n/**\n * @enum STREAM_EVENTS\n */\nconst STREAM_EVENTS = {\n PROPERTY_CHANGED: 'PROPERTY_CHANGED'\n};\n\nexport {STREAM_EVENTS as EVENTS};\n\n/**\n * Media stream wrapper.\n *\n * Represents video or audio stream, local or remote.\n *\n * General interface for the specific implementations - TsOpenTokStream or TsWebRTCStream\n *\n * @interface\n *\n * @see TsOpenTokStream\n * @see TsWebRTCStream\n */\nexport class TsMediaStream extends EventEmitter {\n constructor(id, session, isRemote = true, videoTrackSettings) {\n super();\n\n session.registerStream(id, this);\n this.remote = isRemote;\n\n if (videoTrackSettings) {\n this._width = videoTrackSettings.width;\n this._height = videoTrackSettings.height;\n }\n\n /**\n * Environment detector\n *\n * @protected\n * @member { Object }\n */\n this._environment = new TsEnvironmentDetect();\n }\n\n /**\n * Stream video dimensions\n *\n * @member { Object }\n * @type { Object }\n */\n get videoDimensions() {\n // FIXME the fallback dimensions should be removed, and the Opentok/Webrtc implementations\n // should pass the dimensions just like loopback does. I suspect current behavior is\n // the cause of the video element \"jumping\" (change size) on initial connection\n return {width: this._width || 480, height: this._height || 640};\n }\n\n _updateVideoDimensions(videoEl) {\n if (videoEl) {\n this._width = videoEl.videoWidth;\n this._height = videoEl.videoHeight;\n\n const stream = this;\n const property = 'videoDimensions';\n const value = this.videoDimensions;\n\n this._session.emit(SESSION_EVENTS.STREAM_PROPERTY_CHANGED, {stream, property, value});\n }\n }\n\n setupDimensionsListener(videoEl, subscriber) {\n this._clearUpdateDimensionsInterval();\n\n this._width = videoEl.videoWidth;\n this._height = videoEl.videoHeight;\n\n if (!subscriber && !this._environment.isIE11() && !this._environment.isIOS()) {\n $(videoEl).on('resize', () => this._updateVideoDimensions(videoEl));\n } else {\n this.intervalId = setInterval(() => {\n if (subscriber && !(subscriber.stream && subscriber.stream.hasVideo)) {\n return;\n }\n\n if (this._width !== videoEl.videoWidth || this._height !== videoEl.videoHeight) {\n this._updateVideoDimensions(videoEl);\n }\n }, 500);\n }\n\n if (subscriber && this.intervalId) {\n subscriber.on(SUBSCRIBER_EVENTS.DESTROYED, () => {\n this._clearUpdateDimensionsInterval();\n });\n }\n }\n\n _clearUpdateDimensionsInterval() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n\n this.intervalId = null;\n }\n }\n\n /* eslint-disable no-unused-vars */\n /**\n * Get snapshot of the current frame in the media stream\n *\n * Used internally in (TsMediaPublisher | TsMediaSubscriber).getSnapshot\n *\n * @method\n * @param { TsMediaPublisher | TsMediaSubscriber } tsMediaElement\n * @param { Number } timeout Usually used in IE. Time between video element transformation and snapshot.\n * @param { Object } options\n * format: Output MIME type (image/png or image/jpeg; default: image/png).\n * quality: Output quality (between 0 and 1; default: 0.92; applies only when the format is image/jpeg).\n * x: The x coordinate of the crop starting position.\n * y: The y coordinate of the crop starting position.\n * w: Crop width.\n * h: Crop Height.\n *\n * @returns { Promise<String> } snapshot\n */\n getSnapshot(tsMediaElement, timeout = 0, {format = 'image/png', quality = 0.92, x, y, w, h} = {}) {\n throw new TypeError('The method \\'getSnapshot\\' is not implemented');\n }\n\n turnFlashlight(isTorchOn = true) {\n throw new TypeError('The method \\'turnFlashlight\\' is not implemented');\n }\n\n setAutoLightOffTimer(flashlightTimeout) {\n throw new TypeError('The method \\'setAutoLightOffTimer\\' is not implemented');\n }\n\n /* eslint-enable no-unused-vars */\n}\n\n"]}
@@ -0,0 +1,90 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+ exports.TsMediaSubscriber = exports.EVENTS = undefined;
5
+
6
+ var _eventEmitter = require('./event-emitter');
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
+ /**
15
+ * @enum SUBSCRIBER_EVENTS
16
+ */
17
+ var SUBSCRIBER_EVENTS = {
18
+ DESTROYED: 'DESTROYED',
19
+ DISCONNECTED: 'DISCONNECTED'
20
+ };
21
+
22
+ exports.EVENTS = SUBSCRIBER_EVENTS;
23
+
24
+ /**
25
+ * Subscriber object represents subscription to a media stream.
26
+ *
27
+ * Exposes session and stream wrapper methods specific for media subscription.
28
+ *
29
+ * Instance is returned by TsMediaStream.subscribe() call
30
+ *
31
+ * @class
32
+ *
33
+ * @see TsMediaStream
34
+ */
35
+
36
+ var TsMediaSubscriber = exports.TsMediaSubscriber = function (_EventEmitter) {
37
+ _inherits(TsMediaSubscriber, _EventEmitter);
38
+
39
+ function TsMediaSubscriber(data) {
40
+ _classCallCheck(this, TsMediaSubscriber);
41
+
42
+ var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));
43
+
44
+ _.assign(_this, data);
45
+ return _this;
46
+ }
47
+
48
+ /**
49
+ * Unsubscribe from the media stream and destroy subscriber's view
50
+ *
51
+ * @method
52
+ */
53
+
54
+
55
+ TsMediaSubscriber.prototype.destroy = function destroy() {
56
+ return this.stream.destroySubscriber(this);
57
+ };
58
+
59
+ /**
60
+ * Get snapshot of the current frame in the media stream
61
+ *
62
+ * @method
63
+ * @param { Number } timeout Usually used in IE.
64
+ * Time between video element transformation and snapshot.
65
+ *
66
+ * @param { Object } options Snapshot options: format, quality and crop positions
67
+ *
68
+ * @returns { Promise<String> } snapshot
69
+ */
70
+
71
+
72
+ TsMediaSubscriber.prototype.getSnapshot = function getSnapshot(timeout, options) {
73
+ return this.stream.getSnapshot(this, timeout, options);
74
+ };
75
+
76
+ /**
77
+ * Get statistics of the media subscription like bytes received.
78
+ *
79
+ * @method
80
+ * @returns { Promise<ToBeDefined> } stats
81
+ */
82
+
83
+
84
+ TsMediaSubscriber.prototype.getStats = function getStats() {
85
+ return this.stream.getStats(this);
86
+ };
87
+
88
+ return TsMediaSubscriber;
89
+ }(_eventEmitter.EventEmitter);
90
+ //# sourceMappingURL=subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["oldCode/subscriber.js"],"names":["SUBSCRIBER_EVENTS","DESTROYED","DISCONNECTED","EVENTS","TsMediaSubscriber","data","_","assign","destroy","stream","destroySubscriber","getSnapshot","timeout","options","getStats","EventEmitter"],"mappings":";;;;;AAAA;;;;;;;;AAEA;;;AAGA,IAAMA,oBAAoB;AACtBC,eAAW,WADW;AAEtBC,kBAAc;AAFQ,CAA1B;;QAK8BC,M,GAArBH,iB;;AAET;;;;;;;;;;;;IAWaI,iB,WAAAA,iB;;;AACT,+BAAYC,IAAZ,EAAkB;AAAA;;AAAA,qDACd,wBADc;;AAGdC,UAAEC,MAAF,QAAeF,IAAf;AAHc;AAIjB;;AAED;;;;;;;gCAKAG,O,sBAAU;AACN,eAAO,KAAKC,MAAL,CAAYC,iBAAZ,CAA8B,IAA9B,CAAP;AACH,K;;AAED;;;;;;;;;;;;;gCAWAC,W,wBAAYC,O,EAASC,O,EAAS;AAC1B,eAAO,KAAKJ,MAAL,CAAYE,WAAZ,CAAwB,IAAxB,EAA8BC,OAA9B,EAAuCC,OAAvC,CAAP;AACH,K;;AAED;;;;;;;;gCAMAC,Q,uBAAW;AACP,eAAO,KAAKL,MAAL,CAAYK,QAAZ,CAAqB,IAArB,CAAP;AACH,K;;;EAvCkCC,0B","file":"subscriber.js","sourcesContent":["import { EventEmitter } from './event-emitter';\n\n/**\n * @enum SUBSCRIBER_EVENTS\n */\nconst SUBSCRIBER_EVENTS = {\n DESTROYED: 'DESTROYED',\n DISCONNECTED: 'DISCONNECTED',\n};\n\nexport { SUBSCRIBER_EVENTS as EVENTS };\n\n/**\n * Subscriber object represents subscription to a media stream.\n *\n * Exposes session and stream wrapper methods specific for media subscription.\n *\n * Instance is returned by TsMediaStream.subscribe() call\n *\n * @class\n *\n * @see TsMediaStream\n */\nexport class TsMediaSubscriber extends EventEmitter {\n constructor(data) {\n super();\n\n _.assign(this, data);\n }\n\n /**\n * Unsubscribe from the media stream and destroy subscriber's view\n *\n * @method\n */\n destroy() {\n return this.stream.destroySubscriber(this);\n }\n\n /**\n * Get snapshot of the current frame in the media stream\n *\n * @method\n * @param { Number } timeout Usually used in IE.\n * Time between video element transformation and snapshot.\n *\n * @param { Object } options Snapshot options: format, quality and crop positions\n *\n * @returns { Promise<String> } snapshot\n */\n getSnapshot(timeout, options) {\n return this.stream.getSnapshot(this, timeout, options);\n }\n\n /**\n * Get statistics of the media subscription like bytes received.\n *\n * @method\n * @returns { Promise<ToBeDefined> } stats\n */\n getStats() {\n return this.stream.getStats(this);\n }\n}\n\n"]}
@@ -0,0 +1,36 @@
1
+ export declare enum TsTracerType {
2
+ WebRtcSessionTrace = "WebRtcSessionTrace",
3
+ TSMediaServiceHelper = "TSMediaServiceHelper"
4
+ }
5
+ export interface ITsTracerEvent {
6
+ readonly Type: TsTracerType;
7
+ readonly Message: string;
8
+ readonly Extra: any[];
9
+ }
10
+ export interface ITsTraceEvent {
11
+ (event: ITsTracerEvent): any;
12
+ }
13
+ export declare class TsTracer {
14
+ private _enabled;
15
+ private readonly _type;
16
+ private readonly _callback;
17
+ consoleOutputEnabled: boolean;
18
+ constructor(tracerType: TsTracerType, enabled: boolean, callback: ITsTraceEvent);
19
+ get Enabled(): boolean;
20
+ set Enabled(enabled: boolean);
21
+ get TracerType(): TsTracerType;
22
+ trace(message: string, ...rest: any[]): void;
23
+ }
24
+ export declare class TsTracers {
25
+ private _tracers;
26
+ private _callbacks;
27
+ constructor();
28
+ register(callback: ITsTraceEvent): void;
29
+ unregister(callback: ITsTraceEvent): void;
30
+ private _add;
31
+ enableTracers(value: boolean): void;
32
+ enableConsoleOutput(): void;
33
+ getTracer(tracerType: TsTracerType): TsTracer | undefined;
34
+ }
35
+ export declare function getTracers(): TsTracers;
36
+ export declare function getTracer(tracerType?: TsTracerType): TsTracer | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/oldCode/tracer.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACpB,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;CAChD;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,CAAC,KAAK,EAAE,cAAc,GAAG,GAAG,CAAA;CAC/B;AA0BD,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiD;IACvE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IACnC,oBAAoB,EAAE,OAAO,CAAS;gBAEjC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa;IAM/E,IAAI,OAAO,IAIU,OAAO,CAF3B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAE3B;IAED,IAAI,UAAU,iBAEb;IAED,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAaxC;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAA4B;;IAY9C,QAAQ,CAAC,QAAQ,EAAE,aAAa;IAMhC,UAAU,CAAC,QAAQ,EAAE,aAAa;IAQlC,OAAO,CAAC,IAAI;IASZ,aAAa,CAAC,KAAK,EAAE,OAAO;IAQ5B,mBAAmB;IAQnB,SAAS,CAAC,UAAU,EAAE,YAAY;CAIrC;AAID,wBAAgB,UAAU,IAAI,SAAS,CAEtC;AAED,wBAAgB,SAAS,CAAC,UAAU,GAAE,YAA8C,wBAGnF","file":"tracer.d.ts","sourcesContent":["export enum TsTracerType {\n WebRtcSessionTrace = 'WebRtcSessionTrace',\n TSMediaServiceHelper = 'TSMediaServiceHelper'\n}\n\nexport interface ITsTracerEvent {\n readonly Type: TsTracerType;\n readonly Message: string;\n readonly Extra: any[];\n}\n\nexport interface ITsTraceEvent {\n (event: ITsTracerEvent): any\n}\n\nclass TsTracerEvent implements ITsTracerEvent {\n private _type: TsTracerType = TsTracerType.WebRtcSessionTrace;\n private _message: string = '';\n private _extra: any[];\n\n constructor(type: TsTracerType, message: string, extra: any[]) {\n this._type = type;\n this._message = message;\n this._extra = extra;\n }\n\n get Type(): TsTracerType {\n return this._type;\n }\n\n get Message(): string {\n return this._message;\n }\n\n get Extra(): any[] {\n return this._extra;\n }\n}\n\nexport class TsTracer {\n private _enabled: boolean = false;\n private readonly _type: TsTracerType = TsTracerType.WebRtcSessionTrace;\n private readonly _callback: ITsTraceEvent;\n public consoleOutputEnabled: boolean = false;\n\n constructor(tracerType: TsTracerType, enabled: boolean, callback: ITsTraceEvent) {\n this._type = tracerType;\n this._enabled = enabled;\n this._callback = callback;\n }\n\n get Enabled() {\n return this._enabled;\n }\n\n set Enabled(enabled: boolean) {\n this._enabled = enabled;\n }\n\n get TracerType() {\n return this._type;\n }\n\n trace(message: string, ...rest: any[]) {\n if (this.consoleOutputEnabled) {\n console.log(`${this._type}:${message}`, ...rest);\n }\n\n if (!this.Enabled) {\n return;\n }\n\n if (this._callback) {\n this._callback(new TsTracerEvent(this._type, message, rest));\n }\n }\n}\n\nexport class TsTracers {\n private _tracers: Array<TsTracer> = [];\n private _callbacks: Array<ITsTraceEvent> = [];\n\n constructor() {\n\n // @ts-ignore\n _.keys(TsTracerType).forEach((tracerType: string) => {\n\n // @ts-ignore\n this._add(TsTracerType[tracerType]);\n });\n }\n\n register(callback: ITsTraceEvent) {\n if (this._callbacks.indexOf(callback) < 0) {\n this._callbacks.push(callback);\n }\n }\n\n unregister(callback: ITsTraceEvent) {\n let index = this._callbacks.indexOf(callback);\n\n if (index >= 0) {\n this._callbacks.splice(index, 1);\n }\n }\n\n private _add(tracerType: TsTracerType) {\n const tracer = new TsTracer(tracerType, false, (event: ITsTracerEvent) => {\n // @ts-ignore\n _.forEach(this._callbacks, (callback) => callback(event));\n });\n\n this._tracers.push(tracer);\n }\n\n enableTracers(value: boolean) {\n // @ts-ignore\n _.forEach(this._tracers, (tracer) => {\n tracer.Enabled = value;\n\n });\n }\n\n enableConsoleOutput() {\n // @ts-ignore\n _.forEach(this._tracers, (tracer) => {\n tracer.consoleOutputEnabled = true;\n\n });\n }\n\n getTracer(tracerType: TsTracerType) {\n // @ts-ignore\n return _.find(this._tracers, (tracer) => tracer.TracerType === tracerType);\n }\n}\n\nconst tracers = new TsTracers();\n\nexport function getTracers(): TsTracers {\n return tracers;\n}\n\nexport function getTracer(tracerType: TsTracerType = TsTracerType.WebRtcSessionTrace) {\n\n return getTracers().getTracer(tracerType);\n}\n"]}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+
3
+ var __spreadArrays = undefined && undefined.__spreadArrays || function () {
4
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) {
5
+ s += arguments[i].length;
6
+ }for (var r = Array(s), k = 0, i = 0; i < il; i++) {
7
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {
8
+ r[k] = a[j];
9
+ }
10
+ }return r;
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.getTracer = exports.getTracers = exports.TsTracers = exports.TsTracer = exports.TsTracerType = void 0;
14
+ var TsTracerType;
15
+ (function (TsTracerType) {
16
+ TsTracerType["WebRtcSessionTrace"] = "WebRtcSessionTrace";
17
+ TsTracerType["TSMediaServiceHelper"] = "TSMediaServiceHelper";
18
+ })(TsTracerType = exports.TsTracerType || (exports.TsTracerType = {}));
19
+ var TsTracerEvent = /** @class */function () {
20
+ function TsTracerEvent(type, message, extra) {
21
+ this._type = TsTracerType.WebRtcSessionTrace;
22
+ this._message = '';
23
+ this._type = type;
24
+ this._message = message;
25
+ this._extra = extra;
26
+ }
27
+ Object.defineProperty(TsTracerEvent.prototype, "Type", {
28
+ get: function get() {
29
+ return this._type;
30
+ },
31
+ enumerable: false,
32
+ configurable: true
33
+ });
34
+ Object.defineProperty(TsTracerEvent.prototype, "Message", {
35
+ get: function get() {
36
+ return this._message;
37
+ },
38
+ enumerable: false,
39
+ configurable: true
40
+ });
41
+ Object.defineProperty(TsTracerEvent.prototype, "Extra", {
42
+ get: function get() {
43
+ return this._extra;
44
+ },
45
+ enumerable: false,
46
+ configurable: true
47
+ });
48
+ return TsTracerEvent;
49
+ }();
50
+ var TsTracer = /** @class */function () {
51
+ function TsTracer(tracerType, enabled, callback) {
52
+ this._enabled = false;
53
+ this._type = TsTracerType.WebRtcSessionTrace;
54
+ this.consoleOutputEnabled = false;
55
+ this._type = tracerType;
56
+ this._enabled = enabled;
57
+ this._callback = callback;
58
+ }
59
+ Object.defineProperty(TsTracer.prototype, "Enabled", {
60
+ get: function get() {
61
+ return this._enabled;
62
+ },
63
+ set: function set(enabled) {
64
+ this._enabled = enabled;
65
+ },
66
+ enumerable: false,
67
+ configurable: true
68
+ });
69
+ Object.defineProperty(TsTracer.prototype, "TracerType", {
70
+ get: function get() {
71
+ return this._type;
72
+ },
73
+ enumerable: false,
74
+ configurable: true
75
+ });
76
+ TsTracer.prototype.trace = function (message) {
77
+ var rest = [];
78
+ for (var _i = 1; _i < arguments.length; _i++) {
79
+ rest[_i - 1] = arguments[_i];
80
+ }
81
+ if (this.consoleOutputEnabled) {
82
+ console.log.apply(console, __spreadArrays([this._type + ":" + message], rest));
83
+ }
84
+ if (!this.Enabled) {
85
+ return;
86
+ }
87
+ if (this._callback) {
88
+ this._callback(new TsTracerEvent(this._type, message, rest));
89
+ }
90
+ };
91
+ return TsTracer;
92
+ }();
93
+ exports.TsTracer = TsTracer;
94
+ var TsTracers = /** @class */function () {
95
+ function TsTracers() {
96
+ var _this = this;
97
+ this._tracers = [];
98
+ this._callbacks = [];
99
+ // @ts-ignore
100
+ _.keys(TsTracerType).forEach(function (tracerType) {
101
+ // @ts-ignore
102
+ _this._add(TsTracerType[tracerType]);
103
+ });
104
+ }
105
+ TsTracers.prototype.register = function (callback) {
106
+ if (this._callbacks.indexOf(callback) < 0) {
107
+ this._callbacks.push(callback);
108
+ }
109
+ };
110
+ TsTracers.prototype.unregister = function (callback) {
111
+ var index = this._callbacks.indexOf(callback);
112
+ if (index >= 0) {
113
+ this._callbacks.splice(index, 1);
114
+ }
115
+ };
116
+ TsTracers.prototype._add = function (tracerType) {
117
+ var _this = this;
118
+ var tracer = new TsTracer(tracerType, false, function (event) {
119
+ // @ts-ignore
120
+ _.forEach(_this._callbacks, function (callback) {
121
+ return callback(event);
122
+ });
123
+ });
124
+ this._tracers.push(tracer);
125
+ };
126
+ TsTracers.prototype.enableTracers = function (value) {
127
+ // @ts-ignore
128
+ _.forEach(this._tracers, function (tracer) {
129
+ tracer.Enabled = value;
130
+ });
131
+ };
132
+ TsTracers.prototype.enableConsoleOutput = function () {
133
+ // @ts-ignore
134
+ _.forEach(this._tracers, function (tracer) {
135
+ tracer.consoleOutputEnabled = true;
136
+ });
137
+ };
138
+ TsTracers.prototype.getTracer = function (tracerType) {
139
+ // @ts-ignore
140
+ return _.find(this._tracers, function (tracer) {
141
+ return tracer.TracerType === tracerType;
142
+ });
143
+ };
144
+ return TsTracers;
145
+ }();
146
+ exports.TsTracers = TsTracers;
147
+ var tracers = new TsTracers();
148
+ function getTracers() {
149
+ return tracers;
150
+ }
151
+ exports.getTracers = getTracers;
152
+ function getTracer(tracerType) {
153
+ if (tracerType === void 0) {
154
+ tracerType = TsTracerType.WebRtcSessionTrace;
155
+ }
156
+ return getTracers().getTracer(tracerType);
157
+ }
158
+ exports.getTracer = getTracer;
159
+
160
+ //# sourceMappingURL=tracer.js.map
161
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["oldCode/tracer.js"],"names":["__spreadArrays","s","i","il","arguments","length","r","Array","k","a","j","jl","Object","defineProperty","exports","value","getTracer","getTracers","TsTracers","TsTracer","TsTracerType","TsTracerEvent","type","message","extra","_type","WebRtcSessionTrace","_message","_extra","prototype","get","enumerable","configurable","tracerType","enabled","callback","_enabled","consoleOutputEnabled","_callback","set","trace","rest","_i","console","log","apply","Enabled","_this","_tracers","_callbacks","_","keys","forEach","_add","register","indexOf","push","unregister","index","splice","tracer","event","enableTracers","enableConsoleOutput","find","TracerType","tracers"],"mappings":"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","file":"tracer.js","sourcesContent":["\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTracer = exports.getTracers = exports.TsTracers = exports.TsTracer = exports.TsTracerType = void 0;\nvar TsTracerType;\n(function (TsTracerType) {\n TsTracerType[\"WebRtcSessionTrace\"] = \"WebRtcSessionTrace\";\n TsTracerType[\"TSMediaServiceHelper\"] = \"TSMediaServiceHelper\";\n})(TsTracerType = exports.TsTracerType || (exports.TsTracerType = {}));\nvar TsTracerEvent = /** @class */ (function () {\n function TsTracerEvent(type, message, extra) {\n this._type = TsTracerType.WebRtcSessionTrace;\n this._message = '';\n this._type = type;\n this._message = message;\n this._extra = extra;\n }\n Object.defineProperty(TsTracerEvent.prototype, \"Type\", {\n get: function () {\n return this._type;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TsTracerEvent.prototype, \"Message\", {\n get: function () {\n return this._message;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TsTracerEvent.prototype, \"Extra\", {\n get: function () {\n return this._extra;\n },\n enumerable: false,\n configurable: true\n });\n return TsTracerEvent;\n}());\nvar TsTracer = /** @class */ (function () {\n function TsTracer(tracerType, enabled, callback) {\n this._enabled = false;\n this._type = TsTracerType.WebRtcSessionTrace;\n this.consoleOutputEnabled = false;\n this._type = tracerType;\n this._enabled = enabled;\n this._callback = callback;\n }\n Object.defineProperty(TsTracer.prototype, \"Enabled\", {\n get: function () {\n return this._enabled;\n },\n set: function (enabled) {\n this._enabled = enabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TsTracer.prototype, \"TracerType\", {\n get: function () {\n return this._type;\n },\n enumerable: false,\n configurable: true\n });\n TsTracer.prototype.trace = function (message) {\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n if (this.consoleOutputEnabled) {\n console.log.apply(console, __spreadArrays([this._type + \":\" + message], rest));\n }\n if (!this.Enabled) {\n return;\n }\n if (this._callback) {\n this._callback(new TsTracerEvent(this._type, message, rest));\n }\n };\n return TsTracer;\n}());\nexports.TsTracer = TsTracer;\nvar TsTracers = /** @class */ (function () {\n function TsTracers() {\n var _this = this;\n this._tracers = [];\n this._callbacks = [];\n // @ts-ignore\n _.keys(TsTracerType).forEach(function (tracerType) {\n // @ts-ignore\n _this._add(TsTracerType[tracerType]);\n });\n }\n TsTracers.prototype.register = function (callback) {\n if (this._callbacks.indexOf(callback) < 0) {\n this._callbacks.push(callback);\n }\n };\n TsTracers.prototype.unregister = function (callback) {\n var index = this._callbacks.indexOf(callback);\n if (index >= 0) {\n this._callbacks.splice(index, 1);\n }\n };\n TsTracers.prototype._add = function (tracerType) {\n var _this = this;\n var tracer = new TsTracer(tracerType, false, function (event) {\n // @ts-ignore\n _.forEach(_this._callbacks, function (callback) { return callback(event); });\n });\n this._tracers.push(tracer);\n };\n TsTracers.prototype.enableTracers = function (value) {\n // @ts-ignore\n _.forEach(this._tracers, function (tracer) {\n tracer.Enabled = value;\n });\n };\n TsTracers.prototype.enableConsoleOutput = function () {\n // @ts-ignore\n _.forEach(this._tracers, function (tracer) {\n tracer.consoleOutputEnabled = true;\n });\n };\n TsTracers.prototype.getTracer = function (tracerType) {\n // @ts-ignore\n return _.find(this._tracers, function (tracer) { return tracer.TracerType === tracerType; });\n };\n return TsTracers;\n}());\nexports.TsTracers = TsTracers;\nvar tracers = new TsTracers();\nfunction getTracers() {\n return tracers;\n}\nexports.getTracers = getTracers;\nfunction getTracer(tracerType) {\n if (tracerType === void 0) { tracerType = TsTracerType.WebRtcSessionTrace; }\n return getTracers().getTracer(tracerType);\n}\nexports.getTracer = getTracer;\n\n//# sourceMappingURL=tracer.js.map\n"]}
@@ -0,0 +1 @@
1
+ export declare function fixDataUrl(dataUrl: string, useHighQuality: boolean): Promise<string>;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/oldCode/utils/ImageFixer.ts"],"names":[],"mappings":"AAOA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpF","file":"ImageFixer.d.ts","sourcesContent":["const FIX_SETTINGS = {\n imageSizeThreshold: 640000, // 0.64 MP images and larger get resized\n highQualityImageSizeThreshold: 16000000, // 4000x4000 MP images and larger get resized\n defaultMime: 'image/jpeg',\n imageQuality: 0.8\n};\n\nexport function fixDataUrl(dataUrl: string, useHighQuality: boolean): Promise<string> {\n return _dataUrlToImage(dataUrl)\n .then((image: any) => {\n const resizeRequirement = _isResizeRequired(image, useHighQuality);\n\n if (resizeRequirement.resized) {\n return _resizeCanvas(image, resizeRequirement);\n }\n\n return dataUrl;\n });\n}\n\nfunction _dataUrlToImage(dataUrl: string) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n\n img.onload = () => resolve(img);\n img.onerror = (err) => reject(err);\n img.src = dataUrl;\n });\n}\n\nfunction _isResizeRequired(image: any, useHighQuality?: boolean) {\n const maxImageSize = useHighQuality\n ? FIX_SETTINGS.highQualityImageSizeThreshold\n : FIX_SETTINGS.imageSizeThreshold;\n\n if (image.naturalWidth * image.naturalHeight > maxImageSize) {\n const ratio = image.naturalWidth / image.naturalHeight,\n newWidth = Math.sqrt(maxImageSize * ratio),\n newHeight = newWidth / ratio;\n\n return {resized: true, width: newWidth, height: newHeight};\n }\n\n return {width: image.naturalWidth, height: image.naturalHeight};\n}\n\nfunction _resizeCanvas(image: any, size: any) {\n const canvas = document.createElement('canvas') as HTMLCanvasElement;\n const ctx = canvas.getContext('2d');\n\n if (!ctx) {\n throw new Error('RESIZE_CANVAS_FAILED');\n }\n\n const {width, height} = size || _isResizeRequired(image);\n\n canvas.width = width;\n canvas.height = height;\n\n ctx.drawImage(image, 0, 0, canvas.width, canvas.height);\n\n return canvas.toDataURL(FIX_SETTINGS.defaultMime, FIX_SETTINGS.imageQuality);\n}\n"]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.fixDataUrl = void 0;
5
+ var FIX_SETTINGS = {
6
+ imageSizeThreshold: 640000,
7
+ highQualityImageSizeThreshold: 16000000,
8
+ defaultMime: 'image/jpeg',
9
+ imageQuality: 0.8
10
+ };
11
+ function fixDataUrl(dataUrl, useHighQuality) {
12
+ return _dataUrlToImage(dataUrl).then(function (image) {
13
+ var resizeRequirement = _isResizeRequired(image, useHighQuality);
14
+ if (resizeRequirement.resized) {
15
+ return _resizeCanvas(image, resizeRequirement);
16
+ }
17
+ return dataUrl;
18
+ });
19
+ }
20
+ exports.fixDataUrl = fixDataUrl;
21
+ function _dataUrlToImage(dataUrl) {
22
+ return new Promise(function (resolve, reject) {
23
+ var img = new Image();
24
+ img.onload = function () {
25
+ return resolve(img);
26
+ };
27
+ img.onerror = function (err) {
28
+ return reject(err);
29
+ };
30
+ img.src = dataUrl;
31
+ });
32
+ }
33
+ function _isResizeRequired(image, useHighQuality) {
34
+ var maxImageSize = useHighQuality ? FIX_SETTINGS.highQualityImageSizeThreshold : FIX_SETTINGS.imageSizeThreshold;
35
+ if (image.naturalWidth * image.naturalHeight > maxImageSize) {
36
+ var ratio = image.naturalWidth / image.naturalHeight,
37
+ newWidth = Math.sqrt(maxImageSize * ratio),
38
+ newHeight = newWidth / ratio;
39
+ return { resized: true, width: newWidth, height: newHeight };
40
+ }
41
+ return { width: image.naturalWidth, height: image.naturalHeight };
42
+ }
43
+ function _resizeCanvas(image, size) {
44
+ var canvas = document.createElement('canvas');
45
+ var ctx = canvas.getContext('2d');
46
+ if (!ctx) {
47
+ throw new Error('RESIZE_CANVAS_FAILED');
48
+ }
49
+ var _a = size || _isResizeRequired(image),
50
+ width = _a.width,
51
+ height = _a.height;
52
+ canvas.width = width;
53
+ canvas.height = height;
54
+ ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
55
+ return canvas.toDataURL(FIX_SETTINGS.defaultMime, FIX_SETTINGS.imageQuality);
56
+ }
57
+
58
+ //# sourceMappingURL=ImageFixer.js.map
59
+ //# sourceMappingURL=ImageFixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["oldCode/utils/ImageFixer.js"],"names":["Object","defineProperty","exports","value","fixDataUrl","FIX_SETTINGS","imageSizeThreshold","highQualityImageSizeThreshold","defaultMime","imageQuality","dataUrl","useHighQuality","_dataUrlToImage","then","image","resizeRequirement","_isResizeRequired","resized","_resizeCanvas","Promise","resolve","reject","img","Image","onload","onerror","err","src","maxImageSize","naturalWidth","naturalHeight","ratio","newWidth","Math","sqrt","newHeight","width","height","size","canvas","document","createElement","ctx","getContext","Error","_a","drawImage","toDataURL"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,UAAR,GAAqB,KAAK,CAA1B;AACA,IAAIC,eAAe;AACfC,wBAAoB,MADL;AAEfC,mCAA+B,QAFhB;AAGfC,iBAAa,YAHE;AAIfC,kBAAc;AAJC,CAAnB;AAMA,SAASL,UAAT,CAAoBM,OAApB,EAA6BC,cAA7B,EAA6C;AACzC,WAAOC,gBAAgBF,OAAhB,EACFG,IADE,CACG,UAAUC,KAAV,EAAiB;AACvB,YAAIC,oBAAoBC,kBAAkBF,KAAlB,EAAyBH,cAAzB,CAAxB;AACA,YAAII,kBAAkBE,OAAtB,EAA+B;AAC3B,mBAAOC,cAAcJ,KAAd,EAAqBC,iBAArB,CAAP;AACH;AACD,eAAOL,OAAP;AACH,KAPM,CAAP;AAQH;AACDR,QAAQE,UAAR,GAAqBA,UAArB;AACA,SAASQ,eAAT,CAAyBF,OAAzB,EAAkC;AAC9B,WAAO,IAAIS,OAAJ,CAAY,UAAUC,OAAV,EAAmBC,MAAnB,EAA2B;AAC1C,YAAIC,MAAM,IAAIC,KAAJ,EAAV;AACAD,YAAIE,MAAJ,GAAa,YAAY;AAAE,mBAAOJ,QAAQE,GAAR,CAAP;AAAsB,SAAjD;AACAA,YAAIG,OAAJ,GAAc,UAAUC,GAAV,EAAe;AAAE,mBAAOL,OAAOK,GAAP,CAAP;AAAqB,SAApD;AACAJ,YAAIK,GAAJ,GAAUjB,OAAV;AACH,KALM,CAAP;AAMH;AACD,SAASM,iBAAT,CAA2BF,KAA3B,EAAkCH,cAAlC,EAAkD;AAC9C,QAAIiB,eAAejB,iBACbN,aAAaE,6BADA,GAEbF,aAAaC,kBAFnB;AAGA,QAAIQ,MAAMe,YAAN,GAAqBf,MAAMgB,aAA3B,GAA2CF,YAA/C,EAA6D;AACzD,YAAIG,QAAQjB,MAAMe,YAAN,GAAqBf,MAAMgB,aAAvC;AAAA,YAAsDE,WAAWC,KAAKC,IAAL,CAAUN,eAAeG,KAAzB,CAAjE;AAAA,YAAkGI,YAAYH,WAAWD,KAAzH;AACA,eAAO,EAAEd,SAAS,IAAX,EAAiBmB,OAAOJ,QAAxB,EAAkCK,QAAQF,SAA1C,EAAP;AACH;AACD,WAAO,EAAEC,OAAOtB,MAAMe,YAAf,EAA6BQ,QAAQvB,MAAMgB,aAA3C,EAAP;AACH;AACD,SAASZ,aAAT,CAAuBJ,KAAvB,EAA8BwB,IAA9B,EAAoC;AAChC,QAAIC,SAASC,SAASC,aAAT,CAAuB,QAAvB,CAAb;AACA,QAAIC,MAAMH,OAAOI,UAAP,CAAkB,IAAlB,CAAV;AACA,QAAI,CAACD,GAAL,EAAU;AACN,cAAM,IAAIE,KAAJ,CAAU,sBAAV,CAAN;AACH;AACD,QAAIC,KAAKP,QAAQtB,kBAAkBF,KAAlB,CAAjB;AAAA,QAA2CsB,QAAQS,GAAGT,KAAtD;AAAA,QAA6DC,SAASQ,GAAGR,MAAzE;AACAE,WAAOH,KAAP,GAAeA,KAAf;AACAG,WAAOF,MAAP,GAAgBA,MAAhB;AACAK,QAAII,SAAJ,CAAchC,KAAd,EAAqB,CAArB,EAAwB,CAAxB,EAA2ByB,OAAOH,KAAlC,EAAyCG,OAAOF,MAAhD;AACA,WAAOE,OAAOQ,SAAP,CAAiB1C,aAAaG,WAA9B,EAA2CH,aAAaI,YAAxD,CAAP;AACH;;AAED","file":"ImageFixer.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fixDataUrl = void 0;\nvar FIX_SETTINGS = {\n imageSizeThreshold: 640000,\n highQualityImageSizeThreshold: 16000000,\n defaultMime: 'image/jpeg',\n imageQuality: 0.8\n};\nfunction fixDataUrl(dataUrl, useHighQuality) {\n return _dataUrlToImage(dataUrl)\n .then(function (image) {\n var resizeRequirement = _isResizeRequired(image, useHighQuality);\n if (resizeRequirement.resized) {\n return _resizeCanvas(image, resizeRequirement);\n }\n return dataUrl;\n });\n}\nexports.fixDataUrl = fixDataUrl;\nfunction _dataUrlToImage(dataUrl) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = function (err) { return reject(err); };\n img.src = dataUrl;\n });\n}\nfunction _isResizeRequired(image, useHighQuality) {\n var maxImageSize = useHighQuality\n ? FIX_SETTINGS.highQualityImageSizeThreshold\n : FIX_SETTINGS.imageSizeThreshold;\n if (image.naturalWidth * image.naturalHeight > maxImageSize) {\n var ratio = image.naturalWidth / image.naturalHeight, newWidth = Math.sqrt(maxImageSize * ratio), newHeight = newWidth / ratio;\n return { resized: true, width: newWidth, height: newHeight };\n }\n return { width: image.naturalWidth, height: image.naturalHeight };\n}\nfunction _resizeCanvas(image, size) {\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n throw new Error('RESIZE_CANVAS_FAILED');\n }\n var _a = size || _isResizeRequired(image), width = _a.width, height = _a.height;\n canvas.width = width;\n canvas.height = height;\n ctx.drawImage(image, 0, 0, canvas.width, canvas.height);\n return canvas.toDataURL(FIX_SETTINGS.defaultMime, FIX_SETTINGS.imageQuality);\n}\n\n//# sourceMappingURL=ImageFixer.js.map\n"]}