@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,28 +1,61 @@
1
1
  "use strict";
2
-
3
- var __importDefault = undefined && undefined.__importDefault || function (mod) {
4
- return mod && mod.__esModule ? mod : { "default": mod };
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
40
  };
6
41
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.registerWebRTCAdapters = exports.onMediaElementResize = exports.isVideoPlaySupportedOnDevice = exports.enumerateMediaDevices = exports.waitForOpenTokIsLoaded = exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = void 0;
42
+ exports.waitAfterClearingFilter = exports.registerWebRTCAdapters = exports.onMediaElementResize = exports.isVideoPlaySupportedOnDevice = exports.enumerateMediaDevices = exports.waitForOpenTokIsLoaded = exports.WAIT_FOR_OPENTOK_SWITCH_CAMERA_WITH_BLUR_EFFECT = exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = void 0;
8
43
  var MediaConstants_1 = require("../MediaConstants");
9
44
  var isEqual_1 = __importDefault(require("lodash/isEqual"));
10
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
- //@ts-ignore
12
45
  var ts_environment_detect_1 = require("@techsee/techsee-common/lib/helpers/ts-environment-detect");
13
46
  var MediaTracer_1 = require("./MediaTracer");
14
- var trace = MediaTracer_1.getMediaTracer('Compatibility');
47
+ var trace = (0, MediaTracer_1.getMediaTracer)('Compatibility');
15
48
  var environmentDetect = new ts_environment_detect_1.TsEnvironmentDetect();
16
49
  var isIE11 = environmentDetect.isIE11();
17
50
  var monitoredIeElements = new Map();
18
- // Grace period to wait in the unlikely case that Opentok has not finished initializing,
19
- // and a session initialization was requested
20
51
  exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;
21
52
  exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;
53
+ exports.WAIT_FOR_OPENTOK_SWITCH_CAMERA_WITH_BLUR_EFFECT = 0;
22
54
  function _isOTDefined() {
23
55
  try {
24
56
  return !!window.OT;
25
- } catch (e) {
57
+ }
58
+ catch (e) {
26
59
  return false;
27
60
  }
28
61
  }
@@ -31,26 +64,26 @@ function waitForOpenTokIsLoaded() {
31
64
  return Promise.resolve();
32
65
  }
33
66
  var isDefined = false;
34
- return Promise.reduce(new Array(exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS), function () {
67
+ return Promise
68
+ .reduce(new Array(exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS), function () {
35
69
  if (isDefined || _isOTDefined()) {
36
70
  isDefined = true;
37
71
  return Promise.resolve();
38
72
  }
39
73
  return Promise.delay(exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL);
40
- }, 0).then(function () {
41
- return isDefined || Promise.reject(new Error('OT is undefined'));
42
- });
74
+ }, 0)
75
+ .then(function () { return isDefined || Promise.reject(new Error('OT is undefined')); });
43
76
  }
44
77
  exports.waitForOpenTokIsLoaded = waitForOpenTokIsLoaded;
45
78
  function enumerateMediaDevices() {
46
79
  return new Promise(function (resolve, reject) {
47
80
  if (typeof window.OT !== 'undefined' && window.OT && window.OT.getDevices) {
48
- window.OT.getDevices(function (error, devices) {
49
- return error ? reject(error) : resolve(devices);
50
- });
51
- } else if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {
81
+ window.OT.getDevices(function (error, devices) { return (error ? reject(error) : resolve(devices)); });
82
+ }
83
+ else if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {
52
84
  navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);
53
- } else {
85
+ }
86
+ else {
54
87
  reject(new Error('Enumerating media devices is not supported'));
55
88
  }
56
89
  });
@@ -63,9 +96,7 @@ function isVideoPlaySupportedOnDevice(mediaServiceType) {
63
96
  return Promise.resolve(true);
64
97
  }
65
98
  if (isOpenTokService) {
66
- return waitForOpenTokIsLoaded().then(function () {
67
- return window.OT && window.OTPlugin && window.OTPlugin.isInstalled && window.OTPlugin.isInstalled();
68
- });
99
+ return waitForOpenTokIsLoaded().then(function () { return window.OT && window.OTPlugin && window.OTPlugin.isInstalled && window.OTPlugin.isInstalled(); });
69
100
  }
70
101
  if (isMediaServer) {
71
102
  return Promise.resolve(false);
@@ -78,25 +109,27 @@ function isVideoPlaySupportedOnDevice(mediaServiceType) {
78
109
  exports.isVideoPlaySupportedOnDevice = isVideoPlaySupportedOnDevice;
79
110
  function onMediaElementResize(mediaElement, onResizeHandler) {
80
111
  var checkTimeoutPtr = null;
81
- var unsubscribeIE = function unsubscribeIE() {
112
+ var unsubscribeIE = function () {
82
113
  clearTimeout(checkTimeoutPtr);
83
114
  monitoredIeElements.delete(mediaElement);
84
115
  };
85
116
  if (!isIE11) {
86
117
  mediaElement.addEventListener('resize', onResizeHandler, false);
87
- } else {
118
+ }
119
+ else {
88
120
  monitoredIeElements.set(mediaElement, {
89
121
  videoWidth: mediaElement.videoWidth,
90
122
  videoHeight: mediaElement.videoHeight
91
123
  });
92
- var checkElementSize_1 = function checkElementSize_1() {
124
+ var checkElementSize_1 = function () {
93
125
  var lastElementSize = monitoredIeElements.get(mediaElement);
94
126
  if (!lastElementSize) {
95
127
  unsubscribeIE();
96
- } else {
128
+ }
129
+ else {
97
130
  var currentSize = { videoWidth: mediaElement.videoWidth, videoHeight: mediaElement.videoHeight };
98
131
  checkTimeoutPtr = setTimeout(checkElementSize_1, 500);
99
- if (!isEqual_1.default(currentSize, lastElementSize)) {
132
+ if (!(0, isEqual_1.default)(currentSize, lastElementSize)) {
100
133
  monitoredIeElements.set(mediaElement, lastElementSize);
101
134
  setTimeout(onResizeHandler);
102
135
  }
@@ -107,7 +140,8 @@ function onMediaElementResize(mediaElement, onResizeHandler) {
107
140
  return function () {
108
141
  if (!isIE11) {
109
142
  mediaElement && mediaElement.removeEventListener('resize', onResizeHandler);
110
- } else {
143
+ }
144
+ else {
111
145
  unsubscribeIE();
112
146
  }
113
147
  };
@@ -116,13 +150,21 @@ exports.onMediaElementResize = onMediaElementResize;
116
150
  function registerWebRTCAdapters() {
117
151
  if (isIE11) {
118
152
  require('../webrtc-ie-shim.js');
119
- } else if (!(environmentDetect.isChrome() && environmentDetect.majorVersion() < 49)) {
120
- require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require
121
- } else {
153
+ }
154
+ else if (!(environmentDetect.isChrome() && environmentDetect.majorVersion() < 49)) {
155
+ require('webrtc-adapter/dist/adapter_core');
156
+ }
157
+ else {
122
158
  trace.warn('no WebRTC adapters loaded.');
123
159
  }
124
160
  }
125
161
  exports.registerWebRTCAdapters = registerWebRTCAdapters;
126
-
127
- //# sourceMappingURL=Compatibility.js.map
128
- //# sourceMappingURL=Compatibility.js.map
162
+ function waitAfterClearingFilter() {
163
+ return __awaiter(this, void 0, void 0, function () {
164
+ return __generator(this, function (_a) {
165
+ return [2, Promise.delay(exports.WAIT_FOR_OPENTOK_SWITCH_CAMERA_WITH_BLUR_EFFECT)];
166
+ });
167
+ });
168
+ }
169
+ exports.waitAfterClearingFilter = waitAfterClearingFilter;
170
+ //# sourceMappingURL=Compatibility.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaUtils/Compatibility.js"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","registerWebRTCAdapters","onMediaElementResize","isVideoPlaySupportedOnDevice","enumerateMediaDevices","waitForOpenTokIsLoaded","WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL","WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS","MediaConstants_1","require","isEqual_1","ts_environment_detect_1","MediaTracer_1","trace","getMediaTracer","environmentDetect","TsEnvironmentDetect","isIE11","monitoredIeElements","Map","_isOTDefined","window","OT","e","Promise","resolve","isDefined","reduce","Array","delay","then","reject","Error","getDevices","error","devices","navigator","mediaDevices","enumerateDevices","catch","mediaServiceType","isOpenTokService","MediaServiceType","OPENTOK","isMediaServer","MEDIASERVER","OTPlugin","isInstalled","WebRTCAdapter","mediaElement","onResizeHandler","checkTimeoutPtr","unsubscribeIE","clearTimeout","delete","addEventListener","set","videoWidth","videoHeight","checkElementSize_1","lastElementSize","get","currentSize","setTimeout","default","removeEventListener","isChrome","majorVersion","warn"],"mappings":"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","file":"Compatibility.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerWebRTCAdapters = exports.onMediaElementResize = exports.isVideoPlaySupportedOnDevice = exports.enumerateMediaDevices = exports.waitForOpenTokIsLoaded = exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = void 0;\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar isEqual_1 = __importDefault(require(\"lodash/isEqual\"));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar MediaTracer_1 = require(\"./MediaTracer\");\nvar trace = MediaTracer_1.getMediaTracer('Compatibility');\nvar environmentDetect = new ts_environment_detect_1.TsEnvironmentDetect();\nvar isIE11 = environmentDetect.isIE11();\nvar monitoredIeElements = new Map();\n// Grace period to wait in the unlikely case that Opentok has not finished initializing,\n// and a session initialization was requested\nexports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;\nexports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;\nfunction _isOTDefined() {\n try {\n return !!window.OT;\n }\n catch (e) {\n return false;\n }\n}\nfunction waitForOpenTokIsLoaded() {\n if (_isOTDefined()) {\n return Promise.resolve();\n }\n var isDefined = false;\n return Promise.reduce(new Array(exports.WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS), function () {\n if (isDefined || _isOTDefined()) {\n isDefined = true;\n return Promise.resolve();\n }\n return Promise.delay(exports.WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL);\n }, 0)\n .then(function () { return isDefined || Promise.reject(new Error('OT is undefined')); });\n}\nexports.waitForOpenTokIsLoaded = waitForOpenTokIsLoaded;\nfunction enumerateMediaDevices() {\n return new Promise(function (resolve, reject) {\n if ((typeof window.OT !== 'undefined') && window.OT && window.OT.getDevices) {\n window.OT.getDevices(function (error, devices) { return (error ? reject(error) : resolve(devices)); });\n }\n else if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n }\n else {\n reject(new Error('Enumerating media devices is not supported'));\n }\n });\n}\nexports.enumerateMediaDevices = enumerateMediaDevices;\nfunction isVideoPlaySupportedOnDevice(mediaServiceType) {\n var isOpenTokService = mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK;\n var isMediaServer = mediaServiceType === MediaConstants_1.MediaServiceType.MEDIASERVER;\n if (!isIE11) {\n return Promise.resolve(true);\n }\n if (isOpenTokService) {\n return waitForOpenTokIsLoaded().then(function () { return window.OT && window.OTPlugin && window.OTPlugin.isInstalled && window.OTPlugin.isInstalled(); });\n }\n if (isMediaServer) {\n return Promise.resolve(false);\n }\n if (window.WebRTCAdapter) {\n return Promise.resolve(true);\n }\n return Promise.resolve(false);\n}\nexports.isVideoPlaySupportedOnDevice = isVideoPlaySupportedOnDevice;\nfunction onMediaElementResize(mediaElement, onResizeHandler) {\n var checkTimeoutPtr = null;\n var unsubscribeIE = function () {\n clearTimeout(checkTimeoutPtr);\n monitoredIeElements.delete(mediaElement);\n };\n if (!isIE11) {\n mediaElement.addEventListener('resize', onResizeHandler, false);\n }\n else {\n monitoredIeElements.set(mediaElement, {\n videoWidth: mediaElement.videoWidth,\n videoHeight: mediaElement.videoHeight\n });\n var checkElementSize_1 = function () {\n var lastElementSize = monitoredIeElements.get(mediaElement);\n if (!lastElementSize) {\n unsubscribeIE();\n }\n else {\n var currentSize = { videoWidth: mediaElement.videoWidth, videoHeight: mediaElement.videoHeight };\n checkTimeoutPtr = setTimeout(checkElementSize_1, 500);\n if (!isEqual_1.default(currentSize, lastElementSize)) {\n monitoredIeElements.set(mediaElement, lastElementSize);\n setTimeout(onResizeHandler);\n }\n }\n };\n checkElementSize_1();\n }\n return function () {\n if (!isIE11) {\n mediaElement && mediaElement.removeEventListener('resize', onResizeHandler);\n }\n else {\n unsubscribeIE();\n }\n };\n}\nexports.onMediaElementResize = onMediaElementResize;\nfunction registerWebRTCAdapters() {\n if (isIE11) {\n require('../webrtc-ie-shim.js');\n }\n else if (!(environmentDetect.isChrome() && (environmentDetect.majorVersion() < 49))) {\n require('webrtc-adapter/src/js/adapter_core'); // eslint-disable-line global-require\n }\n else {\n trace.warn('no WebRTC adapters loaded.');\n }\n}\nexports.registerWebRTCAdapters = registerWebRTCAdapters;\n\n//# sourceMappingURL=Compatibility.js.map\n"]}
1
+ {"version":3,"file":"Compatibility.js","sourceRoot":"","sources":["../../src/MediaUtils/Compatibility.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { SnapshotOptions } from '../MediaContracts';
2
- import { KnownMediaStream } from '../MediaConstants';
1
+ import { SnapshotOptions, VideoResolution } from '../MediaContracts';
2
+ import { KnownMediaStream, VideoResolutionFormat } from '../MediaConstants';
3
+ export declare function calculateResolution({ videoWidth, videoHeight }: VideoResolution): VideoResolutionFormat;
3
4
  export declare function renderMediaStreamToVideoEl(container: HTMLDivElement, mediaStream: MediaStream, streamType: KnownMediaStream): Promise<HTMLVideoElement>;
4
5
  export declare function removeVideoElementFromDom(videoEl: HTMLVideoElement): Promise<void>;
5
6
  export declare function getSnapshotFromMediaStream(mediaStream: MediaStream, sourceStream: KnownMediaStream, snapshotOptions?: SnapshotOptions): Promise<string>;
7
+ //# sourceMappingURL=MediaDomUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MediaUtils/MediaDomUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAMnD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuFvJ;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF;AAOD,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,GAAE,eAAiC,GAAG,OAAO,CAAC,MAAM,CAAC,CAqGxK","file":"MediaDomUtils.d.ts","sourcesContent":["import isUndefined from 'lodash/isUndefined';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {repeatWithTimeout} from '@techsee/techsee-common/lib/core/retry-with-timeout';\nimport {SnapshotOptions} from '../MediaContracts';\nimport {getMediaTracer} from './MediaTracer';\nimport {KnownMediaStream} from '../MediaConstants';\n\nconst trace = getMediaTracer('DomUtils');\n\nconst isIE11 = (new TsEnvironmentDetect()).isIE11();\n\nexport function renderMediaStreamToVideoEl(container: HTMLDivElement, mediaStream: MediaStream, streamType: KnownMediaStream): Promise<HTMLVideoElement> {\n return new Promise((resolve, reject) => {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n\n return;\n }\n\n const doResolve = (videoEl: HTMLVideoElement): void => {\n trace.info('Video element created successfully', {videoEl});\n resolve(videoEl);\n };\n\n const videoEl = document.createElement('video') as any;\n\n videoEl.muted = true;\n videoEl.playsInline = true;\n\n if (isIE11 && (window as any).WebRTCAdapter) {\n container.appendChild(videoEl);\n (window as any).WebRTCAdapter.bindVideoElement(videoEl);\n }\n\n videoEl.srcObject = mediaStream;\n\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', () => {\n if ([KnownMediaStream.USER_AUDIO_STREAM, KnownMediaStream.AGENT_AUDIO_STREAM, KnownMediaStream.OBSERVER_AUDIO_STREAM]\n .indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n\n try {\n const playRes = videoEl.play();\n\n if (playRes && playRes.then) {\n playRes.then(() => {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n } else if (!isIE11) {\n doResolve(videoEl);\n }\n\n if (playRes && playRes.catch) {\n playRes.catch((error: any) => {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n } catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n\n return;\n }\n\n\n if (isIE11) {\n const handleComplete = (): boolean => videoEl.parentElement.tagName !== 'OBJECT';\n\n const waitForObjectSettings = {intervalInMs: 30, timeoutInMs: 200};\n\n repeatWithTimeout(handleComplete, waitForObjectSettings)\n .then(() => {\n //We will wait, until video is played, then we resolve\n const isVideoPlaying = (): boolean => videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0;\n const waitForVideoSettings = {intervalInMs: 50, timeoutInMs: 10000};\n\n repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(() => doResolve(videoEl.parentElement))\n .catch(() => reject(new Error('Timeout while waiting for video to play')));\n });\n } else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\n\nexport function removeVideoElementFromDom(videoEl: HTMLVideoElement): Promise<void> {\n return new Promise((resolve) => {\n if (isIE11 && (window as any).WebRTCAdapter) {\n (window as any).WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n } else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n } else {\n videoEl.remove();\n }\n\n resolve();\n });\n}\n\nconst defaultSnapshot: SnapshotOptions = {\n format: 'image/png',\n quality: 0.92\n};\n\nexport function getSnapshotFromMediaStream(mediaStream: MediaStream, sourceStream: KnownMediaStream, snapshotOptions: SnapshotOptions = defaultSnapshot): Promise<string> {\n const {format, quality, x, y, w, h} = snapshotOptions;\n const crop = !isUndefined(x) && !isUndefined(y) && !isUndefined(w) && !isUndefined(h);\n const resize = !crop && (!isUndefined(w) || !isUndefined(h));\n\n return new Promise((resolve, reject) => {\n\n const tempContainer = document.createElement('div');\n\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n\n const doneFn = (err: any, image?: any): void => {\n if (err) {\n reject(err);\n\n return;\n }\n\n setTimeout(() => {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then((videoElement) => Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement))\n .then((imgData: any) => {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n\n doneFn(null, imgData);\n }))\n .catch((error) => {\n doneFn(error || new Error('Failed to create a snapshot - can\\'t render MediaStream To VideoEl '));\n });\n });\n\n //Gets image in all browsers except of IE\n function getImgData(videoElement: HTMLVideoElement): string {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, 0, 0, w, h);\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n\n ctx.drawImage(videoElement, 0, 0);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement: any): Promise<string> {\n return new Promise((resolve) => {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n\n function _drawAndRemove(image: any): string {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n } else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n const base64 = videoElement.getFrame();\n const image = new Image();\n\n image.onload = () => resolve(_drawAndRemove(image));\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\n"]}
1
+ {"version":3,"file":"MediaDomUtils.d.ts","sourceRoot":"","sources":["../../src/MediaUtils/MediaDomUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAgC,MAAM,mBAAmB,CAAC;AAMzG,wBAAgB,mBAAmB,CAAC,EAAC,UAAU,EAAE,WAAW,EAAC,EAAE,eAAe,yBAgB7E;AAED,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,gBAAgB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CA0F3B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF;AAOD,wBAAgB,0BAA0B,CACtC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,gBAAgB,EAC9B,eAAe,GAAE,eAAiC,GACnD,OAAO,CAAC,MAAM,CAAC,CAuGjB"}
@@ -1,26 +1,37 @@
1
1
  "use strict";
2
-
3
- var __importDefault = undefined && undefined.__importDefault || function (mod) {
4
- return mod && mod.__esModule ? mod : { "default": mod };
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
4
  };
6
5
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = void 0;
6
+ exports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = exports.calculateResolution = void 0;
8
7
  var isUndefined_1 = __importDefault(require("lodash/isUndefined"));
9
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
- //@ts-ignore
11
8
  var ts_environment_detect_1 = require("@techsee/techsee-common/lib/helpers/ts-environment-detect");
12
9
  var retry_with_timeout_1 = require("@techsee/techsee-common/lib/core/retry-with-timeout");
13
10
  var MediaTracer_1 = require("./MediaTracer");
14
11
  var MediaConstants_1 = require("../MediaConstants");
15
- var trace = MediaTracer_1.getMediaTracer('DomUtils');
12
+ var trace = (0, MediaTracer_1.getMediaTracer)('DomUtils');
16
13
  var isIE11 = new ts_environment_detect_1.TsEnvironmentDetect().isIE11();
14
+ function calculateResolution(_a) {
15
+ var videoWidth = _a.videoWidth, videoHeight = _a.videoHeight;
16
+ var multiplyResolution = videoWidth * videoHeight;
17
+ var videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.NONE;
18
+ if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.HD) {
19
+ videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.HD;
20
+ }
21
+ if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.SD &&
22
+ multiplyResolution < MediaConstants_1.VideoResolutionMultiplication.HD) {
23
+ videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.SD;
24
+ }
25
+ return videoResolutionFormat;
26
+ }
27
+ exports.calculateResolution = calculateResolution;
17
28
  function renderMediaStreamToVideoEl(container, mediaStream, streamType) {
18
29
  return new Promise(function (resolve, reject) {
19
30
  if (!document.body.contains(container)) {
20
31
  reject(new Error('Cannot render to container that is not attached to dom'));
21
32
  return;
22
33
  }
23
- var doResolve = function doResolve(videoEl) {
34
+ var doResolve = function (videoEl) {
24
35
  trace.info('Video element created successfully', { videoEl: videoEl });
25
36
  resolve(videoEl);
26
37
  };
@@ -32,15 +43,17 @@ function renderMediaStreamToVideoEl(container, mediaStream, streamType) {
32
43
  window.WebRTCAdapter.bindVideoElement(videoEl);
33
44
  }
34
45
  videoEl.srcObject = mediaStream;
35
- // When unplugged the headphones in ios the video element got paused.
36
46
  videoEl.addEventListener('pause', function () {
37
- if ([MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM].indexOf(streamType) > -1) {
47
+ if ([
48
+ MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM,
49
+ MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM,
50
+ MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM
51
+ ].indexOf(streamType) > -1) {
38
52
  trace.info('Video element got paused. IOS headphones disconnected');
39
53
  videoEl.play();
40
54
  }
41
55
  });
42
56
  if (!isIE11) {
43
- // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play
44
57
  videoEl.setAttribute('muted', '');
45
58
  }
46
59
  try {
@@ -52,7 +65,8 @@ function renderMediaStreamToVideoEl(container, mediaStream, streamType) {
52
65
  doResolve(videoEl);
53
66
  }
54
67
  });
55
- } else if (!isIE11) {
68
+ }
69
+ else if (!isIE11) {
56
70
  doResolve(videoEl);
57
71
  }
58
72
  if (playRes && playRes.catch) {
@@ -61,31 +75,25 @@ function renderMediaStreamToVideoEl(container, mediaStream, streamType) {
61
75
  reject(error);
62
76
  });
63
77
  }
64
- } catch (error) {
78
+ }
79
+ catch (error) {
65
80
  reject(error);
66
81
  trace.error('Error while executing play method on video element', error);
67
82
  return;
68
83
  }
69
84
  if (isIE11) {
70
- var handleComplete = function handleComplete() {
71
- return videoEl.parentElement.tagName !== 'OBJECT';
72
- };
85
+ var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };
73
86
  var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };
74
- retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings).then(function () {
75
- //We will wait, until video is played, then we resolve
76
- var isVideoPlaying = function isVideoPlaying() {
77
- return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0;
78
- };
87
+ (0, retry_with_timeout_1.repeatWithTimeout)(handleComplete, waitForObjectSettings).then(function () {
88
+ var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };
79
89
  var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };
80
- retry_with_timeout_1.repeatWithTimeout(isVideoPlaying, waitForVideoSettings).then(function () {
81
- return doResolve(videoEl.parentElement);
82
- }).catch(function () {
83
- return reject(new Error('Timeout while waiting for video to play'));
84
- });
90
+ (0, retry_with_timeout_1.repeatWithTimeout)(isVideoPlaying, waitForVideoSettings)
91
+ .then(function () { return doResolve(videoEl.parentElement); })
92
+ .catch(function () { return reject(new Error('Timeout while waiting for video to play')); });
85
93
  });
86
- } else {
94
+ }
95
+ else {
87
96
  container.appendChild(videoEl);
88
- //doResolve(videoEl);
89
97
  }
90
98
  });
91
99
  }
@@ -97,10 +105,12 @@ function removeVideoElementFromDom(videoEl) {
97
105
  if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {
98
106
  videoEl.parentNode.removeChild(videoEl);
99
107
  trace.info('Video element removed successfully');
100
- } else {
108
+ }
109
+ else {
101
110
  trace.warn('Video element not removed', videoEl, videoEl.parentNode);
102
111
  }
103
- } else {
112
+ }
113
+ else {
104
114
  videoEl.remove();
105
115
  }
106
116
  resolve();
@@ -112,22 +122,15 @@ var defaultSnapshot = {
112
122
  quality: 0.92
113
123
  };
114
124
  function getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {
115
- if (snapshotOptions === void 0) {
116
- snapshotOptions = defaultSnapshot;
117
- }
118
- var format = snapshotOptions.format,
119
- quality = snapshotOptions.quality,
120
- x = snapshotOptions.x,
121
- y = snapshotOptions.y,
122
- w = snapshotOptions.w,
123
- h = snapshotOptions.h;
124
- var crop = !isUndefined_1.default(x) && !isUndefined_1.default(y) && !isUndefined_1.default(w) && !isUndefined_1.default(h);
125
- var resize = !crop && (!isUndefined_1.default(w) || !isUndefined_1.default(h));
125
+ if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }
126
+ var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;
127
+ var crop = !(0, isUndefined_1.default)(x) && !(0, isUndefined_1.default)(y) && !(0, isUndefined_1.default)(w) && !(0, isUndefined_1.default)(h);
128
+ var resize = !crop && (!(0, isUndefined_1.default)(w) || !(0, isUndefined_1.default)(h));
126
129
  return new Promise(function (resolve, reject) {
127
130
  var tempContainer = document.createElement('div');
128
131
  tempContainer.style.cssText = 'position:absolute;left: -10000px;';
129
132
  document.body.appendChild(tempContainer);
130
- var doneFn = function doneFn(err, image) {
133
+ var doneFn = function (err, image) {
131
134
  if (err) {
132
135
  reject(err);
133
136
  return;
@@ -139,72 +142,71 @@ function getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions)
139
142
  }
140
143
  }, 50);
141
144
  };
142
- renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream).then(function (videoElement) {
145
+ renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)
146
+ .then(function (videoElement) {
143
147
  return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(function (imgData) {
144
148
  if (!imgData || imgData.length < 10) {
145
149
  throw new Error('Failed to create a snapshot - imgData is null or empty');
146
150
  }
147
151
  doneFn(null, imgData);
148
152
  });
149
- }).catch(function (error) {
150
- doneFn(error || new Error('Failed to create a snapshot - can\'t render MediaStream To VideoEl '));
153
+ })
154
+ .catch(function (error) {
155
+ return doneFn(error || new Error('Failed to create a snapshot - cannot render MediaStream To VideoEl'));
151
156
  });
152
157
  });
153
- //Gets image in all browsers except of IE
154
158
  function getImgData(videoElement) {
155
- var videoWidth = videoElement.videoWidth,
156
- videoHeight = videoElement.videoHeight;
159
+ var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;
157
160
  var canvas = document.createElement('canvas');
158
161
  var ctx = canvas.getContext('2d');
159
162
  if (crop) {
160
163
  canvas.width = w;
161
164
  canvas.height = h;
162
165
  ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);
163
- } else if (resize) {
166
+ }
167
+ else if (resize) {
164
168
  canvas.width = w;
165
169
  canvas.height = h;
166
170
  ctx.drawImage(videoElement, 0, 0, w, h);
167
- } else {
171
+ }
172
+ else {
168
173
  canvas.height = videoHeight;
169
174
  canvas.width = videoWidth;
170
175
  ctx.drawImage(videoElement, 0, 0);
171
176
  }
172
177
  return canvas.toDataURL(format, quality);
173
178
  }
174
- //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.
175
179
  function getImgDataIE11(videoElement) {
176
180
  return new Promise(function (resolve) {
177
- var videoWidth = videoElement.videoWidth,
178
- videoHeight = videoElement.videoHeight;
181
+ var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;
179
182
  var canvas = document.createElement('canvas');
180
183
  var ctx = canvas.getContext('2d');
181
184
  if (crop || resize) {
182
185
  canvas.width = w;
183
186
  canvas.height = h;
184
- } else {
187
+ }
188
+ else {
185
189
  canvas.height = videoHeight;
186
190
  canvas.width = videoWidth;
187
191
  }
188
192
  function _drawAndRemove(image) {
189
193
  if (crop) {
190
194
  ctx.drawImage(image, x, y, w, h, 0, 0, w, h);
191
- } else if (resize) {
195
+ }
196
+ else if (resize) {
192
197
  ctx.drawImage(image, 0, 0, w, h);
193
- } else {
198
+ }
199
+ else {
194
200
  ctx.drawImage(image, 0, 0, videoWidth, videoHeight);
195
201
  }
196
202
  return canvas.toDataURL(format, quality);
197
203
  }
198
204
  var base64 = videoElement.getFrame();
199
205
  var image = new Image();
200
- image.onload = function () {
201
- return resolve(_drawAndRemove(image));
202
- };
206
+ image.onload = function () { return resolve(_drawAndRemove(image)); };
203
207
  image.setAttribute('src', 'data:image/bmp;base64,' + base64);
204
208
  });
205
209
  }
206
210
  }
207
211
  exports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;
208
-
209
- //# sourceMappingURL=MediaDomUtils.js.map
210
- //# sourceMappingURL=MediaDomUtils.js.map
212
+ //# sourceMappingURL=MediaDomUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaUtils/MediaDomUtils.js"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","getSnapshotFromMediaStream","removeVideoElementFromDom","renderMediaStreamToVideoEl","isUndefined_1","require","ts_environment_detect_1","retry_with_timeout_1","MediaTracer_1","MediaConstants_1","trace","getMediaTracer","isIE11","TsEnvironmentDetect","container","mediaStream","streamType","Promise","resolve","reject","document","body","contains","Error","doResolve","videoEl","info","createElement","muted","playsInline","window","WebRTCAdapter","appendChild","bindVideoElement","srcObject","addEventListener","KnownMediaStream","USER_AUDIO_STREAM","AGENT_AUDIO_STREAM","OBSERVER_AUDIO_STREAM","indexOf","play","setAttribute","playRes","then","catch","error","handleComplete","parentElement","tagName","waitForObjectSettings","intervalInMs","timeoutInMs","repeatWithTimeout","isVideoPlaying","videoHeight","videoWidth","waitForVideoSettings","unBindVideoElement","parentNode","removeChild","warn","remove","defaultSnapshot","format","quality","sourceStream","snapshotOptions","x","y","w","h","crop","default","resize","tempContainer","style","cssText","doneFn","err","image","setTimeout","videoElement","getImgDataIE11","getImgData","imgData","length","canvas","ctx","getContext","width","height","drawImage","toDataURL","_drawAndRemove","base64","getFrame","Image","onload"],"mappings":"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","file":"MediaDomUtils.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = void 0;\nvar isUndefined_1 = __importDefault(require(\"lodash/isUndefined\"));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar retry_with_timeout_1 = require(\"@techsee/techsee-common/lib/core/retry-with-timeout\");\nvar MediaTracer_1 = require(\"./MediaTracer\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar trace = MediaTracer_1.getMediaTracer('DomUtils');\nvar isIE11 = (new ts_environment_detect_1.TsEnvironmentDetect()).isIE11();\nfunction renderMediaStreamToVideoEl(container, mediaStream, streamType) {\n return new Promise(function (resolve, reject) {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n return;\n }\n var doResolve = function (videoEl) {\n trace.info('Video element created successfully', { videoEl: videoEl });\n resolve(videoEl);\n };\n var videoEl = document.createElement('video');\n videoEl.muted = true;\n videoEl.playsInline = true;\n if (isIE11 && window.WebRTCAdapter) {\n container.appendChild(videoEl);\n window.WebRTCAdapter.bindVideoElement(videoEl);\n }\n videoEl.srcObject = mediaStream;\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', function () {\n if ([MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM, MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM]\n .indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n try {\n var playRes = videoEl.play();\n if (playRes && playRes.then) {\n playRes.then(function () {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n }\n else if (!isIE11) {\n doResolve(videoEl);\n }\n if (playRes && playRes.catch) {\n playRes.catch(function (error) {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n return;\n }\n if (isIE11) {\n var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };\n var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };\n retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings)\n .then(function () {\n //We will wait, until video is played, then we resolve\n var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };\n var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };\n retry_with_timeout_1.repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(function () { return doResolve(videoEl.parentElement); })\n .catch(function () { return reject(new Error('Timeout while waiting for video to play')); });\n });\n }\n else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\nexports.renderMediaStreamToVideoEl = renderMediaStreamToVideoEl;\nfunction removeVideoElementFromDom(videoEl) {\n return new Promise(function (resolve) {\n if (isIE11 && window.WebRTCAdapter) {\n window.WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n }\n else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n }\n else {\n videoEl.remove();\n }\n resolve();\n });\n}\nexports.removeVideoElementFromDom = removeVideoElementFromDom;\nvar defaultSnapshot = {\n format: 'image/png',\n quality: 0.92\n};\nfunction getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {\n if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }\n var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;\n var crop = !isUndefined_1.default(x) && !isUndefined_1.default(y) && !isUndefined_1.default(w) && !isUndefined_1.default(h);\n var resize = !crop && (!isUndefined_1.default(w) || !isUndefined_1.default(h));\n return new Promise(function (resolve, reject) {\n var tempContainer = document.createElement('div');\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n var doneFn = function (err, image) {\n if (err) {\n reject(err);\n return;\n }\n setTimeout(function () {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then(function (videoElement) { return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement))\n .then(function (imgData) {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n doneFn(null, imgData);\n }); })\n .catch(function (error) {\n doneFn(error || new Error('Failed to create a snapshot - can\\'t render MediaStream To VideoEl '));\n });\n });\n //Gets image in all browsers except of IE\n function getImgData(videoElement) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, 0, 0, w, h);\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n ctx.drawImage(videoElement, 0, 0);\n }\n return canvas.toDataURL(format, quality);\n }\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement) {\n return new Promise(function (resolve) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n function _drawAndRemove(image) {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n }\n else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n return canvas.toDataURL(format, quality);\n }\n var base64 = videoElement.getFrame();\n var image = new Image();\n image.onload = function () { return resolve(_drawAndRemove(image)); };\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\nexports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;\n\n//# sourceMappingURL=MediaDomUtils.js.map\n"]}
1
+ {"version":3,"file":"MediaDomUtils.js","sourceRoot":"","sources":["../../src/MediaUtils/MediaDomUtils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { ITechseeTracer } from '@techsee/techsee-common/lib/core/Tracer';
2
2
  export declare const TECHSEE_MEDIA_TRACER = "MediaTracer";
3
3
  export declare function getMediaTracer(postfixName: string): ITechseeTracer;
4
+ //# sourceMappingURL=MediaTracer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MediaUtils/MediaTracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAC,MAAM,yCAAyC,CAAC;AAElF,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAElE","file":"MediaTracer.d.ts","sourcesContent":["import {getTracer, ITechseeTracer} from '@techsee/techsee-common/lib/core/Tracer';\n\nexport const TECHSEE_MEDIA_TRACER = 'MediaTracer';\n\nexport function getMediaTracer(postfixName: string): ITechseeTracer {\n return getTracer(TECHSEE_MEDIA_TRACER, postfixName);\n}\n"]}
1
+ {"version":3,"file":"MediaTracer.d.ts","sourceRoot":"","sources":["../../src/MediaUtils/MediaTracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAC,MAAM,yCAAyC,CAAC;AAElF,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAElE"}
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.getMediaTracer = exports.TECHSEE_MEDIA_TRACER = void 0;
5
4
  var Tracer_1 = require("@techsee/techsee-common/lib/core/Tracer");
6
5
  exports.TECHSEE_MEDIA_TRACER = 'MediaTracer';
7
6
  function getMediaTracer(postfixName) {
8
- return Tracer_1.getTracer(exports.TECHSEE_MEDIA_TRACER, postfixName);
7
+ return (0, Tracer_1.getTracer)(exports.TECHSEE_MEDIA_TRACER, postfixName);
9
8
  }
10
9
  exports.getMediaTracer = getMediaTracer;
11
-
12
- //# sourceMappingURL=MediaTracer.js.map
13
- //# sourceMappingURL=MediaTracer.js.map
10
+ //# sourceMappingURL=MediaTracer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaUtils/MediaTracer.js"],"names":["Object","defineProperty","exports","value","getMediaTracer","TECHSEE_MEDIA_TRACER","Tracer_1","require","postfixName","getTracer"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,cAAR,GAAyBF,QAAQG,oBAAR,GAA+B,KAAK,CAA7D;AACA,IAAIC,WAAWC,QAAQ,yCAAR,CAAf;AACAL,QAAQG,oBAAR,GAA+B,aAA/B;AACA,SAASD,cAAT,CAAwBI,WAAxB,EAAqC;AACjC,WAAOF,SAASG,SAAT,CAAmBP,QAAQG,oBAA3B,EAAiDG,WAAjD,CAAP;AACH;AACDN,QAAQE,cAAR,GAAyBA,cAAzB;;AAEA","file":"MediaTracer.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMediaTracer = exports.TECHSEE_MEDIA_TRACER = void 0;\nvar Tracer_1 = require(\"@techsee/techsee-common/lib/core/Tracer\");\nexports.TECHSEE_MEDIA_TRACER = 'MediaTracer';\nfunction getMediaTracer(postfixName) {\n return Tracer_1.getTracer(exports.TECHSEE_MEDIA_TRACER, postfixName);\n}\nexports.getMediaTracer = getMediaTracer;\n\n//# sourceMappingURL=MediaTracer.js.map\n"]}
1
+ {"version":3,"file":"MediaTracer.js","sourceRoot":"","sources":["../../src/MediaUtils/MediaTracer.ts"],"names":[],"mappings":";;;AAAA,kEAAkF;AAErE,QAAA,oBAAoB,GAAG,aAAa,CAAC;AAElD,SAAgB,cAAc,CAAC,WAAmB;IAC9C,OAAO,IAAA,kBAAS,EAAC,4BAAoB,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,2 @@
1
+ export { getMediaTracer } from './MediaTracer';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/MediaUtils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC"}