@techsee/techsee-media-service 999.20.0-nodejs20 → 999.20.2-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/README.md +28 -27
  2. package/lib/LocalStreamManager.d.ts +0 -1
  3. package/lib/LocalStreamManager.d.ts.map +1 -1
  4. package/lib/LocalStreamManager.js +84 -82
  5. package/lib/LocalStreamManager.js.map +1 -1
  6. package/lib/MediaConstants.d.ts +3 -21
  7. package/lib/MediaConstants.d.ts.map +1 -1
  8. package/lib/MediaConstants.js +13 -32
  9. package/lib/MediaConstants.js.map +1 -1
  10. package/lib/MediaContracts.d.ts +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 +199 -170
  21. package/lib/MediaServiceBase.js.map +1 -1
  22. package/lib/MediaSession/MediaServer.d.ts +0 -1
  23. package/lib/MediaSession/MediaServer.d.ts.map +1 -1
  24. package/lib/MediaSession/MediaServer.js +74 -62
  25. package/lib/MediaSession/MediaServer.js.map +1 -1
  26. package/lib/MediaSession/MediaSessionBase.d.ts +0 -1
  27. package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
  28. package/lib/MediaSession/MediaSessionBase.js +23 -19
  29. package/lib/MediaSession/MediaSessionBase.js.map +1 -1
  30. package/lib/MediaSession/SessionOpentok.d.ts +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/MultiParty/Contracts.d.ts +10 -0
  59. package/lib/MultiParty/Contracts.d.ts.map +1 -0
  60. package/lib/MultiParty/Contracts.js +6 -0
  61. package/lib/MultiParty/Contracts.js.map +1 -0
  62. package/lib/MultiParty/DetectWebRtcService.d.ts +14 -17
  63. package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
  64. package/lib/MultiParty/DetectWebRtcService.js +54 -98
  65. package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
  66. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts +10 -0
  67. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +1 -0
  68. package/lib/MultiParty/MediaCapabilitiesHelper.js +140 -0
  69. package/lib/MultiParty/MediaCapabilitiesHelper.js.map +1 -0
  70. package/lib/MultiParty/MultiParty.d.ts +19 -0
  71. package/lib/MultiParty/MultiParty.d.ts.map +1 -0
  72. package/lib/MultiParty/MultiParty.js +160 -0
  73. package/lib/MultiParty/MultiParty.js.map +1 -0
  74. package/lib/MultiParty/OpentokMultiparty.d.ts +25 -0
  75. package/lib/MultiParty/OpentokMultiparty.d.ts.map +1 -0
  76. package/lib/MultiParty/OpentokMultiparty.js +184 -0
  77. package/lib/MultiParty/OpentokMultiparty.js.map +1 -0
  78. package/lib/TechseeMediaStream.d.ts +0 -1
  79. package/lib/TechseeMediaStream.d.ts.map +1 -1
  80. package/lib/TechseeMediaStream.js +12 -9
  81. package/lib/TechseeMediaStream.js.map +1 -1
  82. package/lib/oldCode/constants.js +20 -0
  83. package/lib/oldCode/constants.js.map +1 -0
  84. package/lib/oldCode/event-emitter.js +39 -0
  85. package/lib/oldCode/event-emitter.js.map +1 -0
  86. package/lib/oldCode/index.js +64 -0
  87. package/lib/oldCode/index.js.map +1 -0
  88. package/lib/oldCode/opentok/session.js +310 -0
  89. package/lib/oldCode/opentok/session.js.map +1 -0
  90. package/lib/oldCode/opentok/stream.js +310 -0
  91. package/lib/oldCode/opentok/stream.js.map +1 -0
  92. package/lib/oldCode/publisher.js +143 -0
  93. package/lib/oldCode/publisher.js.map +1 -0
  94. package/lib/oldCode/service.js +395 -0
  95. package/lib/oldCode/service.js.map +1 -0
  96. package/lib/oldCode/session.js +110 -0
  97. package/lib/oldCode/session.js.map +1 -0
  98. package/lib/oldCode/stream.js +195 -0
  99. package/lib/oldCode/stream.js.map +1 -0
  100. package/lib/oldCode/subscriber.js +90 -0
  101. package/lib/oldCode/subscriber.js.map +1 -0
  102. package/lib/oldCode/tracer.d.ts +36 -0
  103. package/lib/oldCode/tracer.d.ts.map +1 -0
  104. package/lib/oldCode/tracer.js +161 -0
  105. package/lib/oldCode/tracer.js.map +1 -0
  106. package/lib/oldCode/utils/ImageFixer.d.ts +1 -0
  107. package/lib/oldCode/utils/ImageFixer.d.ts.map +1 -0
  108. package/lib/oldCode/utils/ImageFixer.js +59 -0
  109. package/lib/oldCode/utils/ImageFixer.js.map +1 -0
  110. package/lib/oldCode/webrtc/constants.js +114 -0
  111. package/lib/oldCode/webrtc/constants.js.map +1 -0
  112. package/lib/oldCode/webrtc/helper.js +173 -0
  113. package/lib/oldCode/webrtc/helper.js.map +1 -0
  114. package/lib/oldCode/webrtc/session-kms.js +558 -0
  115. package/lib/oldCode/webrtc/session-kms.js.map +1 -0
  116. package/lib/oldCode/webrtc/session-loopback.js +336 -0
  117. package/lib/oldCode/webrtc/session-loopback.js.map +1 -0
  118. package/lib/oldCode/webrtc/session-turn.js +880 -0
  119. package/lib/oldCode/webrtc/session-turn.js.map +1 -0
  120. package/lib/oldCode/webrtc/session-turn.v2.js +583 -0
  121. package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -0
  122. package/lib/oldCode/webrtc/session.js +52 -0
  123. package/lib/oldCode/webrtc/session.js.map +1 -0
  124. package/lib/oldCode/webrtc/stream.js +674 -0
  125. package/lib/oldCode/webrtc/stream.js.map +1 -0
  126. package/lib/oldCode/webrtc/temasys/adapter-loader.js +12 -0
  127. package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -0
  128. package/lib/oldCode/webrtc/temasys/adapter.js +5861 -0
  129. package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -0
  130. package/lib/oldCode/webrtc/webrtc-ie-shim.js +3007 -0
  131. package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -0
  132. package/lib/qos/raw-qos.js +145 -84
  133. package/lib/qos/raw-qos.js.map +1 -1
  134. package/lib/webrtc-ie-shim.js +2950 -1896
  135. package/lib/webrtc-ie-shim.js.map +1 -1
  136. package/package.json +61 -66
  137. package/lib/MediaUtils/index.d.ts +0 -2
  138. package/lib/MediaUtils/index.d.ts.map +0 -1
  139. package/lib/MediaUtils/index.js +0 -6
  140. package/lib/MediaUtils/index.js.map +0 -1
  141. package/lib/MultiParty/MediaCapabilitiesService.d.ts +0 -18
  142. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +0 -1
  143. package/lib/MultiParty/MediaCapabilitiesService.js +0 -158
  144. package/lib/MultiParty/MediaCapabilitiesService.js.map +0 -1
  145. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +0 -6
  146. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +0 -1
  147. package/lib/MultiParty/MediaCapabilitiesUtils.js +0 -123
  148. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +0 -1
  149. package/lib/MultiParty/MediaTracer.d.ts +0 -4
  150. package/lib/MultiParty/MediaTracer.d.ts.map +0 -1
  151. package/lib/MultiParty/MediaTracer.js +0 -10
  152. package/lib/MultiParty/MediaTracer.js.map +0 -1
  153. package/lib/MultiParty/MultiPartyService.d.ts +0 -49
  154. package/lib/MultiParty/MultiPartyService.d.ts.map +0 -1
  155. package/lib/MultiParty/MultiPartyService.js +0 -30
  156. package/lib/MultiParty/MultiPartyService.js.map +0 -1
  157. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +0 -4
  158. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +0 -1
  159. package/lib/MultiParty/MultiPartyServiceFactory.js +0 -13
  160. package/lib/MultiParty/MultiPartyServiceFactory.js.map +0 -1
  161. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +0 -89
  162. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +0 -1
  163. package/lib/MultiParty/MultipartyServiceEventTypes.js +0 -16
  164. package/lib/MultiParty/MultipartyServiceEventTypes.js.map +0 -1
  165. package/lib/MultiParty/index.d.ts +0 -7
  166. package/lib/MultiParty/index.d.ts.map +0 -1
  167. package/lib/MultiParty/index.js +0 -25
  168. package/lib/MultiParty/index.js.map +0 -1
  169. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +0 -38
  170. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +0 -1
  171. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +0 -492
  172. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +0 -1
  173. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +0 -34
  174. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +0 -1
  175. package/lib/MultiParty/opentok/OpentokPublisher.js +0 -121
  176. package/lib/MultiParty/opentok/OpentokPublisher.js.map +0 -1
  177. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +0 -20
  178. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +0 -1
  179. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +0 -49
  180. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +0 -1
  181. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +0 -6
  182. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +0 -1
  183. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +0 -48
  184. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +0 -1
  185. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +0 -2
  186. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +0 -1
  187. package/lib/MultiParty/opentok/OpentokSubscriber.js +0 -26
  188. package/lib/MultiParty/opentok/OpentokSubscriber.js.map +0 -1
  189. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +0 -19
  190. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +0 -1
  191. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +0 -182
  192. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +0 -1
  193. package/lib/MultiParty/opentok/trace.d.ts +0 -3
  194. package/lib/MultiParty/opentok/trace.d.ts.map +0 -1
  195. package/lib/MultiParty/opentok/trace.js +0 -18
  196. package/lib/MultiParty/opentok/trace.js.map +0 -1
  197. package/lib/MultiParty/opentok.d.ts +0 -463
  198. package/lib/MultiParty/types.d.ts +0 -33
  199. package/lib/MultiParty/types.d.ts.map +0 -1
  200. package/lib/MultiParty/types.js +0 -3
  201. package/lib/MultiParty/types.js.map +0 -1
  202. package/lib/MultiParty/utils.d.ts +0 -10
  203. package/lib/MultiParty/utils.d.ts.map +0 -1
  204. package/lib/MultiParty/utils.js +0 -17
  205. package/lib/MultiParty/utils.js.map +0 -1
  206. package/lib/qos/raw-qos.d.ts +0 -29
  207. package/lib/qos/raw-qos.d.ts.map +0 -1
  208. package/lib/webrtc-ie-shim.d.ts +0 -4
  209. package/lib/webrtc-ie-shim.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/Contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,WAAW,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAA;CAC1B","file":"Contracts.d.ts","sourcesContent":["import {CameraTypes} from '../MediaConstants';\n\nexport interface ICredentials {\n apiKey: string,\n sessionId: string,\n token: string\n}\n\nexport interface ISessionSettings {\n defaultCamera: CameraTypes,\n isAudioSession: boolean\n}\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+
5
+ //# sourceMappingURL=Contracts.js.map
6
+ //# sourceMappingURL=Contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/Contracts.js"],"names":["Object","defineProperty","exports","value"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;;AAEA","file":"Contracts.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=Contracts.js.map\n"]}
@@ -1,19 +1,16 @@
1
1
  import { ClientWebRtcInfo } from '@techsee/techsee-common/lib/data-contracts/ClientInfo';
2
- export declare const DETECT_RTC_ADVISED_TIMEOUT = 20000;
3
- export declare const defaultWebRtcResult: {
4
- isWebRTCSupported: boolean;
5
- isWebsiteHasWebcamPermissions: boolean;
6
- isWebsiteHasMicrophonePermissions: boolean;
7
- isGetUserMediaSupported: boolean;
8
- isApplyConstraintsSupported: boolean;
9
- };
10
- export declare class DetectWebRtcService {
11
- private static instance?;
12
- private static initPromise;
13
- private cachedResult;
14
- private constructor();
15
- static get: () => Promise<DetectWebRtcService>;
16
- private init;
17
- getWebRtcInfo: () => ClientWebRtcInfo;
2
+ export declare const DETECT_RTC_ADVISED_TIMEOUT = 20;
3
+ export interface WebRtcNativeService extends ClientWebRtcInfo {
4
+ load(doneCb: Function): void;
5
+ }
6
+ export interface IWebRtcDetector {
7
+ getWebRtcInfo(): Promise<ClientWebRtcInfo>;
8
+ }
9
+ export declare class DetectWebRtcService implements IWebRtcDetector {
10
+ private _cachedResult;
11
+ private readonly _nativeService;
12
+ private readonly _detectionTimeoutSec;
13
+ constructor(detectionTimeoutSec: number);
14
+ getWebRtcInfo(): Promise<ClientWebRtcInfo>;
15
+ private static getDefaultResult;
18
16
  }
19
- //# sourceMappingURL=DetectWebRtcService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetectWebRtcService.d.ts","sourceRoot":"","sources":["../../src/MultiParty/DetectWebRtcService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AAEvF,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAE9D,OAAO,CAAC,YAAY,CAAyC;IAE7D,OAAO;IAEP,OAAc,GAAG,QAAa,QAAQ,mBAAmB,CAAC,CAWxD;IAEF,OAAO,CAAC,IAAI,CAyBL;IAEA,aAAa,QAAO,gBAAgB,CAAsB;CACpE"}
1
+ {"version":3,"sources":["../src/MultiParty/DetectWebRtcService.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AAKvF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAEzD,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC5B,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9C;AAED,qBAAa,mBAAoB,YAAW,eAAe;IACvD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAElC,mBAAmB,EAAE,MAAM;IAMvC,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAsC1C,OAAO,CAAC,MAAM,CAAC,gBAAgB;CASlC","file":"DetectWebRtcService.d.ts","sourcesContent":["import {Nullable} from '@techsee/techsee-common';\nimport {ClientWebRtcInfo} from '@techsee/techsee-common/lib/data-contracts/ClientInfo';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport detectRTC from '@techsee/techsee-common/lib/detectrtc.js';\n\nexport const DETECT_RTC_ADVISED_TIMEOUT = 20;\n\nexport interface WebRtcNativeService extends ClientWebRtcInfo {\n // eslint-disable-next-line @typescript-eslint/ban-types\n load(doneCb: Function): void;\n}\n\nexport interface IWebRtcDetector {\n getWebRtcInfo(): Promise<ClientWebRtcInfo>;\n}\n\nexport class DetectWebRtcService implements IWebRtcDetector {\n private _cachedResult: Nullable<ClientWebRtcInfo>;\n private readonly _nativeService: Nullable<WebRtcNativeService>;\n private readonly _detectionTimeoutSec: number;\n\n constructor(detectionTimeoutSec: number) {\n this._cachedResult = null;\n this._nativeService = detectRTC;\n this._detectionTimeoutSec = detectionTimeoutSec * 1000;\n }\n\n getWebRtcInfo(): Promise<ClientWebRtcInfo> {\n if (this._cachedResult) {\n return Promise.resolve(this._cachedResult);\n }\n\n if (!this._nativeService) {\n this._cachedResult = DetectWebRtcService.getDefaultResult();\n\n return Promise.resolve(this._cachedResult);\n }\n\n return new Promise((resolve) => {\n let timeoutPtr: any = setTimeout(() => {\n timeoutPtr = null;\n this._cachedResult = DetectWebRtcService.getDefaultResult();\n resolve(this._cachedResult);\n }, this._detectionTimeoutSec);\n\n this._nativeService!.load(() => {\n if (timeoutPtr === null) {\n return;\n }\n\n clearTimeout(timeoutPtr);\n\n this._cachedResult = {\n isWebRTCSupported: this._nativeService!.isWebRTCSupported,\n isWebsiteHasWebcamPermissions: this._nativeService!.isWebsiteHasWebcamPermissions,\n isWebsiteHasMicrophonePermissions: this._nativeService!.isWebsiteHasMicrophonePermissions,\n isGetUserMediaSupported: this._nativeService!.isGetUserMediaSupported,\n isApplyConstraintsSupported: this._nativeService!.isApplyConstraintsSupported\n };\n\n resolve(this._cachedResult);\n });\n });\n }\n\n private static getDefaultResult() {\n return {\n isWebRTCSupported: false,\n isWebsiteHasWebcamPermissions: false,\n isWebsiteHasMicrophonePermissions: false,\n isGetUserMediaSupported: false,\n isApplyConstraintsSupported: false\n };\n }\n}\n"]}
@@ -1,107 +1,63 @@
1
1
  "use strict";
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 };
2
+
3
+ var __importDefault = undefined && undefined.__importDefault || function (mod) {
4
+ return mod && mod.__esModule ? mod : { "default": mod };
40
5
  };
41
6
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.DetectWebRtcService = exports.defaultWebRtcResult = exports.DETECT_RTC_ADVISED_TIMEOUT = void 0;
7
+ exports.DetectWebRtcService = exports.DETECT_RTC_ADVISED_TIMEOUT = void 0;
8
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
9
+ // @ts-ignore
43
10
  var detectrtc_js_1 = __importDefault(require("@techsee/techsee-common/lib/detectrtc.js"));
44
- exports.DETECT_RTC_ADVISED_TIMEOUT = 20000;
45
- exports.defaultWebRtcResult = {
46
- isWebRTCSupported: false,
47
- isWebsiteHasWebcamPermissions: false,
48
- isWebsiteHasMicrophonePermissions: false,
49
- isGetUserMediaSupported: false,
50
- isApplyConstraintsSupported: false
51
- };
52
- var DetectWebRtcService = (function () {
53
- function DetectWebRtcService() {
11
+ exports.DETECT_RTC_ADVISED_TIMEOUT = 20;
12
+ var DetectWebRtcService = /** @class */function () {
13
+ function DetectWebRtcService(detectionTimeoutSec) {
14
+ this._cachedResult = null;
15
+ this._nativeService = detectrtc_js_1.default;
16
+ this._detectionTimeoutSec = detectionTimeoutSec * 1000;
17
+ }
18
+ DetectWebRtcService.prototype.getWebRtcInfo = function () {
54
19
  var _this = this;
55
- this.cachedResult = exports.defaultWebRtcResult;
56
- this.init = function () { return __awaiter(_this, void 0, void 0, function () {
57
- var _this = this;
58
- return __generator(this, function (_b) {
59
- return [2, new Promise(function (resolve, reject) {
60
- var timeoutPtr = setTimeout(function () {
61
- timeoutPtr = null;
62
- _this.cachedResult = exports.defaultWebRtcResult;
63
- reject();
64
- }, exports.DETECT_RTC_ADVISED_TIMEOUT);
65
- detectrtc_js_1.default.load(function () {
66
- if (timeoutPtr === null) {
67
- return;
68
- }
69
- clearTimeout(timeoutPtr);
70
- _this.cachedResult = {
71
- isWebRTCSupported: detectrtc_js_1.default.isWebRTCSupported,
72
- isWebsiteHasWebcamPermissions: detectrtc_js_1.default.isWebsiteHasWebcamPermissions,
73
- isWebsiteHasMicrophonePermissions: detectrtc_js_1.default.isWebsiteHasMicrophonePermissions,
74
- isGetUserMediaSupported: detectrtc_js_1.default.isGetUserMediaSupported,
75
- isApplyConstraintsSupported: detectrtc_js_1.default.isApplyConstraintsSupported
76
- };
77
- resolve();
78
- });
79
- })];
20
+ if (this._cachedResult) {
21
+ return Promise.resolve(this._cachedResult);
22
+ }
23
+ if (!this._nativeService) {
24
+ this._cachedResult = DetectWebRtcService.getDefaultResult();
25
+ return Promise.resolve(this._cachedResult);
26
+ }
27
+ return new Promise(function (resolve) {
28
+ var timeoutPtr = setTimeout(function () {
29
+ timeoutPtr = null;
30
+ _this._cachedResult = DetectWebRtcService.getDefaultResult();
31
+ resolve(_this._cachedResult);
32
+ }, _this._detectionTimeoutSec);
33
+ _this._nativeService.load(function () {
34
+ if (timeoutPtr === null) {
35
+ return;
36
+ }
37
+ clearTimeout(timeoutPtr);
38
+ _this._cachedResult = {
39
+ isWebRTCSupported: _this._nativeService.isWebRTCSupported,
40
+ isWebsiteHasWebcamPermissions: _this._nativeService.isWebsiteHasWebcamPermissions,
41
+ isWebsiteHasMicrophonePermissions: _this._nativeService.isWebsiteHasMicrophonePermissions,
42
+ isGetUserMediaSupported: _this._nativeService.isGetUserMediaSupported,
43
+ isApplyConstraintsSupported: _this._nativeService.isApplyConstraintsSupported
44
+ };
45
+ resolve(_this._cachedResult);
80
46
  });
81
- }); };
82
- this.getWebRtcInfo = function () { return _this.cachedResult; };
83
- }
84
- var _a;
85
- _a = DetectWebRtcService;
86
- DetectWebRtcService.initPromise = Promise.resolve();
87
- DetectWebRtcService.get = function () { return __awaiter(void 0, void 0, void 0, function () {
88
- return __generator(_a, function (_b) {
89
- switch (_b.label) {
90
- case 0: return [4, DetectWebRtcService.initPromise];
91
- case 1:
92
- _b.sent();
93
- if (!!DetectWebRtcService.instance) return [3, 3];
94
- DetectWebRtcService.instance = new DetectWebRtcService();
95
- DetectWebRtcService.initPromise = DetectWebRtcService.instance.init();
96
- return [4, DetectWebRtcService.initPromise];
97
- case 2:
98
- _b.sent();
99
- _b.label = 3;
100
- case 3: return [2, DetectWebRtcService.instance];
101
- }
102
47
  });
103
- }); };
48
+ };
49
+ DetectWebRtcService.getDefaultResult = function () {
50
+ return {
51
+ isWebRTCSupported: false,
52
+ isWebsiteHasWebcamPermissions: false,
53
+ isWebsiteHasMicrophonePermissions: false,
54
+ isGetUserMediaSupported: false,
55
+ isApplyConstraintsSupported: false
56
+ };
57
+ };
104
58
  return DetectWebRtcService;
105
- }());
59
+ }();
106
60
  exports.DetectWebRtcService = DetectWebRtcService;
107
- //# sourceMappingURL=DetectWebRtcService.js.map
61
+
62
+ //# sourceMappingURL=DetectWebRtcService.js.map
63
+ //# sourceMappingURL=DetectWebRtcService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetectWebRtcService.js","sourceRoot":"","sources":["../../src/MultiParty/DetectWebRtcService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,0FAAiE;AAGpD,QAAA,0BAA0B,GAAG,KAAK,CAAC;AAEnC,QAAA,mBAAmB,GAAG;IAC/B,iBAAiB,EAAE,KAAK;IACxB,6BAA6B,EAAE,KAAK;IACpC,iCAAiC,EAAE,KAAK;IACxC,uBAAuB,EAAE,KAAK;IAC9B,2BAA2B,EAAE,KAAK;CACrC,CAAC;AAEF;IAOI;QAAA,iBAAwB;QAFhB,iBAAY,GAAqB,2BAAmB,CAAC;QAiBrD,SAAI,GAAG;;;gBACX,WAAA,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBACxB,IAAI,UAAU,GAA0B,UAAU,CAAC;4BAC/C,UAAU,GAAG,IAAI,CAAC;4BAClB,KAAI,CAAC,YAAY,GAAG,2BAAmB,CAAC;4BACxC,MAAM,EAAE,CAAC;wBACb,CAAC,EAAE,kCAA0B,CAAC,CAAC;wBAE/B,sBAAS,CAAC,IAAI,CAAC;4BACX,IAAI,UAAU,KAAK,IAAI,EAAE;gCACrB,OAAO;6BACV;4BAED,YAAY,CAAC,UAAU,CAAC,CAAC;4BAEzB,KAAI,CAAC,YAAY,GAAG;gCAChB,iBAAiB,EAAE,sBAAS,CAAC,iBAAiB;gCAC9C,6BAA6B,EAAE,sBAAS,CAAC,6BAA6B;gCACtE,iCAAiC,EAAE,sBAAS,CAAC,iCAAiC;gCAC9E,uBAAuB,EAAE,sBAAS,CAAC,uBAAuB;gCAC1D,2BAA2B,EAAE,sBAAS,CAAC,2BAA2B;6BACrE,CAAC;4BAEF,OAAO,EAAE,CAAC;wBACd,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,EAAA;;aAAA,CAAC;QAEA,kBAAa,GAAG,cAAwB,OAAA,KAAI,CAAC,YAAY,EAAjB,CAAiB,CAAC;IA1C1C,CAAC;;;IAJT,+BAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhD,uBAAG,GAAG;;;wBAChB,WAAM,mBAAmB,CAAC,WAAW,EAAA;;oBAArC,SAAqC,CAAC;yBAElC,CAAC,mBAAmB,CAAC,QAAQ,EAA7B,cAA6B;oBAC7B,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;oBACzD,mBAAmB,CAAC,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAEtE,WAAM,mBAAmB,CAAC,WAAW,EAAA;;oBAArC,SAAqC,CAAC;;wBAG1C,WAAO,mBAAmB,CAAC,QAAQ,EAAC;;;SACvC,CAAC;IA8BN,0BAAC;CAAA,AAlDD,IAkDC;AAlDY,kDAAmB"}
1
+ {"version":3,"sources":["MultiParty/DetectWebRtcService.js"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","DetectWebRtcService","DETECT_RTC_ADVISED_TIMEOUT","detectrtc_js_1","require","detectionTimeoutSec","_cachedResult","_nativeService","default","_detectionTimeoutSec","prototype","getWebRtcInfo","_this","Promise","resolve","getDefaultResult","timeoutPtr","setTimeout","load","clearTimeout","isWebRTCSupported","isWebsiteHasWebcamPermissions","isWebsiteHasMicrophonePermissions","isGetUserMediaSupported","isApplyConstraintsSupported"],"mappings":"AAAA;;AACA,IAAIA,kBAAmB,aAAQ,UAAKA,eAAd,IAAkC,UAAUC,GAAV,EAAe;AACnE,WAAQA,OAAOA,IAAIC,UAAZ,GAA0BD,GAA1B,GAAgC,EAAE,WAAWA,GAAb,EAAvC;AACH,CAFD;AAGAE,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,mBAAR,GAA8BF,QAAQG,0BAAR,GAAqC,KAAK,CAAxE;AACA;AACA;AACA,IAAIC,iBAAiBT,gBAAgBU,QAAQ,0CAAR,CAAhB,CAArB;AACAL,QAAQG,0BAAR,GAAqC,EAArC;AACA,IAAID,sBAAsB,aAAe,YAAY;AACjD,aAASA,mBAAT,CAA6BI,mBAA7B,EAAkD;AAC9C,aAAKC,aAAL,GAAqB,IAArB;AACA,aAAKC,cAAL,GAAsBJ,eAAeK,OAArC;AACA,aAAKC,oBAAL,GAA4BJ,sBAAsB,IAAlD;AACH;AACDJ,wBAAoBS,SAApB,CAA8BC,aAA9B,GAA8C,YAAY;AACtD,YAAIC,QAAQ,IAAZ;AACA,YAAI,KAAKN,aAAT,EAAwB;AACpB,mBAAOO,QAAQC,OAAR,CAAgB,KAAKR,aAArB,CAAP;AACH;AACD,YAAI,CAAC,KAAKC,cAAV,EAA0B;AACtB,iBAAKD,aAAL,GAAqBL,oBAAoBc,gBAApB,EAArB;AACA,mBAAOF,QAAQC,OAAR,CAAgB,KAAKR,aAArB,CAAP;AACH;AACD,eAAO,IAAIO,OAAJ,CAAY,UAAUC,OAAV,EAAmB;AAClC,gBAAIE,aAAaC,WAAW,YAAY;AACpCD,6BAAa,IAAb;AACAJ,sBAAMN,aAAN,GAAsBL,oBAAoBc,gBAApB,EAAtB;AACAD,wBAAQF,MAAMN,aAAd;AACH,aAJgB,EAIdM,MAAMH,oBAJQ,CAAjB;AAKAG,kBAAML,cAAN,CAAqBW,IAArB,CAA0B,YAAY;AAClC,oBAAIF,eAAe,IAAnB,EAAyB;AACrB;AACH;AACDG,6BAAaH,UAAb;AACAJ,sBAAMN,aAAN,GAAsB;AAClBc,uCAAmBR,MAAML,cAAN,CAAqBa,iBADtB;AAElBC,mDAA+BT,MAAML,cAAN,CAAqBc,6BAFlC;AAGlBC,uDAAmCV,MAAML,cAAN,CAAqBe,iCAHtC;AAIlBC,6CAAyBX,MAAML,cAAN,CAAqBgB,uBAJ5B;AAKlBC,iDAA6BZ,MAAML,cAAN,CAAqBiB;AALhC,iBAAtB;AAOAV,wBAAQF,MAAMN,aAAd;AACH,aAbD;AAcH,SApBM,CAAP;AAqBH,KA9BD;AA+BAL,wBAAoBc,gBAApB,GAAuC,YAAY;AAC/C,eAAO;AACHK,+BAAmB,KADhB;AAEHC,2CAA+B,KAF5B;AAGHC,+CAAmC,KAHhC;AAIHC,qCAAyB,KAJtB;AAKHC,yCAA6B;AAL1B,SAAP;AAOH,KARD;AASA,WAAOvB,mBAAP;AACH,CA/CwC,EAAzC;AAgDAF,QAAQE,mBAAR,GAA8BA,mBAA9B;;AAEA","file":"DetectWebRtcService.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.DetectWebRtcService = exports.DETECT_RTC_ADVISED_TIMEOUT = void 0;\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nvar detectrtc_js_1 = __importDefault(require(\"@techsee/techsee-common/lib/detectrtc.js\"));\nexports.DETECT_RTC_ADVISED_TIMEOUT = 20;\nvar DetectWebRtcService = /** @class */ (function () {\n function DetectWebRtcService(detectionTimeoutSec) {\n this._cachedResult = null;\n this._nativeService = detectrtc_js_1.default;\n this._detectionTimeoutSec = detectionTimeoutSec * 1000;\n }\n DetectWebRtcService.prototype.getWebRtcInfo = function () {\n var _this = this;\n if (this._cachedResult) {\n return Promise.resolve(this._cachedResult);\n }\n if (!this._nativeService) {\n this._cachedResult = DetectWebRtcService.getDefaultResult();\n return Promise.resolve(this._cachedResult);\n }\n return new Promise(function (resolve) {\n var timeoutPtr = setTimeout(function () {\n timeoutPtr = null;\n _this._cachedResult = DetectWebRtcService.getDefaultResult();\n resolve(_this._cachedResult);\n }, _this._detectionTimeoutSec);\n _this._nativeService.load(function () {\n if (timeoutPtr === null) {\n return;\n }\n clearTimeout(timeoutPtr);\n _this._cachedResult = {\n isWebRTCSupported: _this._nativeService.isWebRTCSupported,\n isWebsiteHasWebcamPermissions: _this._nativeService.isWebsiteHasWebcamPermissions,\n isWebsiteHasMicrophonePermissions: _this._nativeService.isWebsiteHasMicrophonePermissions,\n isGetUserMediaSupported: _this._nativeService.isGetUserMediaSupported,\n isApplyConstraintsSupported: _this._nativeService.isApplyConstraintsSupported\n };\n resolve(_this._cachedResult);\n });\n });\n };\n DetectWebRtcService.getDefaultResult = function () {\n return {\n isWebRTCSupported: false,\n isWebsiteHasWebcamPermissions: false,\n isWebsiteHasMicrophonePermissions: false,\n isGetUserMediaSupported: false,\n isApplyConstraintsSupported: false\n };\n };\n return DetectWebRtcService;\n}());\nexports.DetectWebRtcService = DetectWebRtcService;\n\n//# sourceMappingURL=DetectWebRtcService.js.map\n"]}
@@ -0,0 +1,10 @@
1
+ export declare class MediaCapabilitiesHelper {
2
+ private static detectWebRtcService;
3
+ private static webRtcSupportInfo;
4
+ private static mediaCapabilitiesHelper;
5
+ static init(): Promise<MediaCapabilitiesHelper>;
6
+ hasCamera(): boolean;
7
+ hasMicrophone(): boolean;
8
+ hasWebRTC(): boolean;
9
+ hasGetUserMediaSupported(): boolean;
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/MediaCapabilitiesHelper.ts"],"names":[],"mappings":"AAMA,qBAAa,uBAAuB;IAChC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAsB;IACxD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA+B;IAC/D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAA0B;WAE5C,IAAI,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAiBrD,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAIxB,SAAS,IAAI,OAAO;IAIpB,wBAAwB,IAAI,OAAO;CAiB7C","file":"MediaCapabilitiesHelper.d.ts","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-var-requires\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {DETECT_RTC_ADVISED_TIMEOUT, DetectWebRtcService} from './DetectWebRtcService';\nimport {ClientWebRtcInfo} from '../MediaContracts';\nconst trace = getMediaTracer('MediaCapabilitiesHelper');\n\nexport class MediaCapabilitiesHelper {\n private static detectWebRtcService: DetectWebRtcService;\n private static webRtcSupportInfo: ClientWebRtcInfo | undefined;\n private static mediaCapabilitiesHelper: MediaCapabilitiesHelper;\n\n public static async init(): Promise<MediaCapabilitiesHelper> {\n try {\n this.detectWebRtcService = await new DetectWebRtcService(DETECT_RTC_ADVISED_TIMEOUT);\n this.webRtcSupportInfo = await this.detectWebRtcService.getWebRtcInfo();\n\n if (!this.mediaCapabilitiesHelper) {\n this.mediaCapabilitiesHelper = new MediaCapabilitiesHelper();\n }\n\n return this.mediaCapabilitiesHelper;\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n throw err;\n }\n }\n public hasCamera(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isWebsiteHasWebcamPermissions && this.hasGetUserMediaSupported();\n }\n\n public hasMicrophone(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isWebsiteHasMicrophonePermissions && this.hasGetUserMediaSupported();\n }\n\n public hasWebRTC(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isWebRTCSupported;\n }\n\n public hasGetUserMediaSupported(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isGetUserMediaSupported;\n }\n\n // videoPlayback() {\n // console.log();\n // }\n //\n //\n // devicesList() {\n // console.log();\n // }\n //\n // hasSwitchCameras(): boolean {\n // return true;\n // }\n //\n}\n"]}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P ? value : new P(function (resolve) {
6
+ resolve(value);
7
+ });
8
+ }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) {
11
+ try {
12
+ step(generator.next(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ }
17
+ function rejected(value) {
18
+ try {
19
+ step(generator["throw"](value));
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ }
24
+ function step(result) {
25
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
26
+ }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = undefined && undefined.__generator || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function sent() {
32
+ if (t[0] & 1) throw t[1];return t[1];
33
+ }, trys: [], ops: [] },
34
+ f,
35
+ y,
36
+ t,
37
+ g;
38
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
39
+ return this;
40
+ }), g;
41
+ function verb(n) {
42
+ return function (v) {
43
+ return step([n, v]);
44
+ };
45
+ }
46
+ function step(op) {
47
+ if (f) throw new TypeError("Generator is already executing.");
48
+ while (_) {
49
+ try {
50
+ 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;
51
+ if (y = 0, t) op = [op[0] & 2, t.value];
52
+ switch (op[0]) {
53
+ case 0:case 1:
54
+ t = op;break;
55
+ case 4:
56
+ _.label++;return { value: op[1], done: false };
57
+ case 5:
58
+ _.label++;y = op[1];op = [0];continue;
59
+ case 7:
60
+ op = _.ops.pop();_.trys.pop();continue;
61
+ default:
62
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
63
+ _ = 0;continue;
64
+ }
65
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
66
+ _.label = op[1];break;
67
+ }
68
+ if (op[0] === 6 && _.label < t[1]) {
69
+ _.label = t[1];t = op;break;
70
+ }
71
+ if (t && _.label < t[2]) {
72
+ _.label = t[2];_.ops.push(op);break;
73
+ }
74
+ if (t[2]) _.ops.pop();
75
+ _.trys.pop();continue;
76
+ }
77
+ op = body.call(thisArg, _);
78
+ } catch (e) {
79
+ op = [6, e];y = 0;
80
+ } finally {
81
+ f = t = 0;
82
+ }
83
+ }if (op[0] & 5) throw op[1];return { value: op[0] ? op[1] : void 0, done: true };
84
+ }
85
+ };
86
+ Object.defineProperty(exports, "__esModule", { value: true });
87
+ exports.MediaCapabilitiesHelper = void 0;
88
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
89
+ var MediaTracer_1 = require("../MediaUtils/MediaTracer");
90
+ var DetectWebRtcService_1 = require("./DetectWebRtcService");
91
+ var trace = MediaTracer_1.getMediaTracer('MediaCapabilitiesHelper');
92
+ var MediaCapabilitiesHelper = /** @class */function () {
93
+ function MediaCapabilitiesHelper() {}
94
+ MediaCapabilitiesHelper.init = function () {
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var _a, _b, err_1;
97
+ return __generator(this, function (_c) {
98
+ switch (_c.label) {
99
+ case 0:
100
+ _c.trys.push([0, 3,, 4]);
101
+ _a = this;
102
+ return [4 /*yield*/, new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];
103
+ case 1:
104
+ _a.detectWebRtcService = _c.sent();
105
+ _b = this;
106
+ return [4 /*yield*/, this.detectWebRtcService.getWebRtcInfo()];
107
+ case 2:
108
+ _b.webRtcSupportInfo = _c.sent();
109
+ if (!this.mediaCapabilitiesHelper) {
110
+ this.mediaCapabilitiesHelper = new MediaCapabilitiesHelper();
111
+ }
112
+ return [2 /*return*/, this.mediaCapabilitiesHelper];
113
+ case 3:
114
+ err_1 = _c.sent();
115
+ trace.error(JSON.stringify(err_1));
116
+ throw err_1;
117
+ case 4:
118
+ return [2 /*return*/];
119
+ }
120
+ });
121
+ });
122
+ };
123
+ MediaCapabilitiesHelper.prototype.hasCamera = function () {
124
+ return MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasWebcamPermissions && this.hasGetUserMediaSupported();
125
+ };
126
+ MediaCapabilitiesHelper.prototype.hasMicrophone = function () {
127
+ return MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasMicrophonePermissions && this.hasGetUserMediaSupported();
128
+ };
129
+ MediaCapabilitiesHelper.prototype.hasWebRTC = function () {
130
+ return MediaCapabilitiesHelper.webRtcSupportInfo.isWebRTCSupported;
131
+ };
132
+ MediaCapabilitiesHelper.prototype.hasGetUserMediaSupported = function () {
133
+ return MediaCapabilitiesHelper.webRtcSupportInfo.isGetUserMediaSupported;
134
+ };
135
+ return MediaCapabilitiesHelper;
136
+ }();
137
+ exports.MediaCapabilitiesHelper = MediaCapabilitiesHelper;
138
+
139
+ //# sourceMappingURL=MediaCapabilitiesHelper.js.map
140
+ //# sourceMappingURL=MediaCapabilitiesHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/MediaCapabilitiesHelper.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","Object","defineProperty","exports","MediaCapabilitiesHelper","MediaTracer_1","require","DetectWebRtcService_1","trace","getMediaTracer","init","_a","_b","err_1","_c","DetectWebRtcService","DETECT_RTC_ADVISED_TIMEOUT","detectWebRtcService","getWebRtcInfo","webRtcSupportInfo","mediaCapabilitiesHelper","error","JSON","stringify","prototype","hasCamera","isWebsiteHasWebcamPermissions","hasGetUserMediaSupported","hasMicrophone","isWebsiteHasMicrophonePermissions","hasWebRTC","isWebRTCSupported","isGetUserMediaSupported"],"mappings":"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","file":"MediaCapabilitiesHelper.js","sourcesContent":["\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediaCapabilitiesHelper = void 0;\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar DetectWebRtcService_1 = require(\"./DetectWebRtcService\");\nvar trace = MediaTracer_1.getMediaTracer('MediaCapabilitiesHelper');\nvar MediaCapabilitiesHelper = /** @class */ (function () {\n function MediaCapabilitiesHelper() {\n }\n MediaCapabilitiesHelper.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, err_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 3, , 4]);\n _a = this;\n return [4 /*yield*/, new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];\n case 1:\n _a.detectWebRtcService = _c.sent();\n _b = this;\n return [4 /*yield*/, this.detectWebRtcService.getWebRtcInfo()];\n case 2:\n _b.webRtcSupportInfo = _c.sent();\n if (!this.mediaCapabilitiesHelper) {\n this.mediaCapabilitiesHelper = new MediaCapabilitiesHelper();\n }\n return [2 /*return*/, this.mediaCapabilitiesHelper];\n case 3:\n err_1 = _c.sent();\n trace.error(JSON.stringify(err_1));\n throw err_1;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n MediaCapabilitiesHelper.prototype.hasCamera = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasWebcamPermissions && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasMicrophone = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isWebsiteHasMicrophonePermissions && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasWebRTC = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isWebRTCSupported;\n };\n MediaCapabilitiesHelper.prototype.hasGetUserMediaSupported = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isGetUserMediaSupported;\n };\n return MediaCapabilitiesHelper;\n}());\nexports.MediaCapabilitiesHelper = MediaCapabilitiesHelper;\n\n//# sourceMappingURL=MediaCapabilitiesHelper.js.map\n"]}
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { ISessionSettings } from './Contracts';
4
+ export declare const participateDomId = "participate";
5
+ export declare const maxParticipantsNumber = 2;
6
+ export declare enum MULTI_PARTIES_EVENTS {
7
+ connectFailed = "connectFailed",
8
+ streamDestroyed = "streamDestroyed",
9
+ connectionCreated = "connectionCreated",
10
+ connectionDestroyed = "connectionDestroyed",
11
+ streamCreated = "streamCreated"
12
+ }
13
+ export declare abstract class MultiParty extends EventEmitter {
14
+ abstract session: any;
15
+ abstract subscribers: Array<any> | undefined;
16
+ abstract connect(...args: any[]): void;
17
+ abstract disconnect(): void;
18
+ }
19
+ export declare const couldStartMultiparty: (settings: ISessionSettings) => Promise<boolean>;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/MultiParty.ts"],"names":[],"mappings":";AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAI7C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,oBAAY,oBAAoB;IAC5B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;CAClC;AAED,8BAAsB,UAAW,SAAQ,YAAY;IACjD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,UAAU,IAAI,IAAI;CAC9B;AAED,eAAO,MAAM,oBAAoB,aAAoB,gBAAgB,KAAG,QAAQ,OAAO,CAuBtF,CAAC","file":"MultiParty.d.ts","sourcesContent":["import {MediaCapabilitiesHelper} from './MediaCapabilitiesHelper';\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {CameraTypes} from '../MediaConstants';\nimport {EventEmitter} from 'events';\nimport {ISessionSettings} from './Contracts';\n\nconst trace = getMediaTracer('Multiparty');\n\nexport const participateDomId = 'participate';\nexport const maxParticipantsNumber = 2;\n\nexport enum MULTI_PARTIES_EVENTS {\n connectFailed = 'connectFailed',\n streamDestroyed = 'streamDestroyed',\n connectionCreated = 'connectionCreated',\n connectionDestroyed = 'connectionDestroyed',\n streamCreated = 'streamCreated'\n}\n\nexport abstract class MultiParty extends EventEmitter {\n abstract session: any;\n abstract subscribers: Array<any> | undefined;\n abstract connect(...args: any[]): void;\n abstract disconnect(): void;\n}\n\nexport const couldStartMultiparty = async (settings: ISessionSettings): Promise<boolean> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.init();\n\n if (!mediaCapabilitiesHelper.hasWebRTC() || !mediaCapabilitiesHelper.hasGetUserMediaSupported) {\n return false;\n }\n\n if (settings.isAudioSession) {\n return (settings.defaultCamera !== CameraTypes.NONE)\n ? mediaCapabilitiesHelper.hasCamera() && mediaCapabilitiesHelper.hasMicrophone()\n : mediaCapabilitiesHelper.hasMicrophone();\n }\n\n return (settings.defaultCamera !== CameraTypes.NONE)\n ? mediaCapabilitiesHelper.hasCamera()\n : false;\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n return false;\n }\n};\n"]}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ var __extends = undefined && undefined.__extends || function () {
4
+ var _extendStatics = function extendStatics(d, b) {
5
+ _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) {
6
+ d.__proto__ = b;
7
+ } || function (d, b) {
8
+ for (var p in b) {
9
+ if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
10
+ }
11
+ };
12
+ return _extendStatics(d, b);
13
+ };
14
+ return function (d, b) {
15
+ _extendStatics(d, b);
16
+ function __() {
17
+ this.constructor = d;
18
+ }
19
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20
+ };
21
+ }();
22
+ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
23
+ function adopt(value) {
24
+ return value instanceof P ? value : new P(function (resolve) {
25
+ resolve(value);
26
+ });
27
+ }
28
+ return new (P || (P = Promise))(function (resolve, reject) {
29
+ function fulfilled(value) {
30
+ try {
31
+ step(generator.next(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ }
36
+ function rejected(value) {
37
+ try {
38
+ step(generator["throw"](value));
39
+ } catch (e) {
40
+ reject(e);
41
+ }
42
+ }
43
+ function step(result) {
44
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
45
+ }
46
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
47
+ });
48
+ };
49
+ var __generator = undefined && undefined.__generator || function (thisArg, body) {
50
+ var _ = { label: 0, sent: function sent() {
51
+ if (t[0] & 1) throw t[1];return t[1];
52
+ }, trys: [], ops: [] },
53
+ f,
54
+ y,
55
+ t,
56
+ g;
57
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
58
+ return this;
59
+ }), g;
60
+ function verb(n) {
61
+ return function (v) {
62
+ return step([n, v]);
63
+ };
64
+ }
65
+ function step(op) {
66
+ if (f) throw new TypeError("Generator is already executing.");
67
+ while (_) {
68
+ try {
69
+ 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;
70
+ if (y = 0, t) op = [op[0] & 2, t.value];
71
+ switch (op[0]) {
72
+ case 0:case 1:
73
+ t = op;break;
74
+ case 4:
75
+ _.label++;return { value: op[1], done: false };
76
+ case 5:
77
+ _.label++;y = op[1];op = [0];continue;
78
+ case 7:
79
+ op = _.ops.pop();_.trys.pop();continue;
80
+ default:
81
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
82
+ _ = 0;continue;
83
+ }
84
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
85
+ _.label = op[1];break;
86
+ }
87
+ if (op[0] === 6 && _.label < t[1]) {
88
+ _.label = t[1];t = op;break;
89
+ }
90
+ if (t && _.label < t[2]) {
91
+ _.label = t[2];_.ops.push(op);break;
92
+ }
93
+ if (t[2]) _.ops.pop();
94
+ _.trys.pop();continue;
95
+ }
96
+ op = body.call(thisArg, _);
97
+ } catch (e) {
98
+ op = [6, e];y = 0;
99
+ } finally {
100
+ f = t = 0;
101
+ }
102
+ }if (op[0] & 5) throw op[1];return { value: op[0] ? op[1] : void 0, done: true };
103
+ }
104
+ };
105
+ Object.defineProperty(exports, "__esModule", { value: true });
106
+ exports.couldStartMultiparty = exports.MultiParty = exports.MULTI_PARTIES_EVENTS = exports.maxParticipantsNumber = exports.participateDomId = void 0;
107
+ var MediaCapabilitiesHelper_1 = require("./MediaCapabilitiesHelper");
108
+ var MediaTracer_1 = require("../MediaUtils/MediaTracer");
109
+ var MediaConstants_1 = require("../MediaConstants");
110
+ var events_1 = require("events");
111
+ var trace = MediaTracer_1.getMediaTracer('Multiparty');
112
+ exports.participateDomId = 'participate';
113
+ exports.maxParticipantsNumber = 2;
114
+ var MULTI_PARTIES_EVENTS;
115
+ (function (MULTI_PARTIES_EVENTS) {
116
+ MULTI_PARTIES_EVENTS["connectFailed"] = "connectFailed";
117
+ MULTI_PARTIES_EVENTS["streamDestroyed"] = "streamDestroyed";
118
+ MULTI_PARTIES_EVENTS["connectionCreated"] = "connectionCreated";
119
+ MULTI_PARTIES_EVENTS["connectionDestroyed"] = "connectionDestroyed";
120
+ MULTI_PARTIES_EVENTS["streamCreated"] = "streamCreated";
121
+ })(MULTI_PARTIES_EVENTS = exports.MULTI_PARTIES_EVENTS || (exports.MULTI_PARTIES_EVENTS = {}));
122
+ var MultiParty = /** @class */function (_super) {
123
+ __extends(MultiParty, _super);
124
+ function MultiParty() {
125
+ return _super !== null && _super.apply(this, arguments) || this;
126
+ }
127
+ return MultiParty;
128
+ }(events_1.EventEmitter);
129
+ exports.MultiParty = MultiParty;
130
+ var couldStartMultiparty = function couldStartMultiparty(settings) {
131
+ return __awaiter(void 0, void 0, void 0, function () {
132
+ var mediaCapabilitiesHelper, err_1;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ _a.trys.push([0, 2,, 3]);
137
+ return [4 /*yield*/, MediaCapabilitiesHelper_1.MediaCapabilitiesHelper.init()];
138
+ case 1:
139
+ mediaCapabilitiesHelper = _a.sent();
140
+ if (!mediaCapabilitiesHelper.hasWebRTC() || !mediaCapabilitiesHelper.hasGetUserMediaSupported) {
141
+ return [2 /*return*/, false];
142
+ }
143
+ if (settings.isAudioSession) {
144
+ return [2 /*return*/, settings.defaultCamera !== MediaConstants_1.CameraTypes.NONE ? mediaCapabilitiesHelper.hasCamera() && mediaCapabilitiesHelper.hasMicrophone() : mediaCapabilitiesHelper.hasMicrophone()];
145
+ }
146
+ return [2 /*return*/, settings.defaultCamera !== MediaConstants_1.CameraTypes.NONE ? mediaCapabilitiesHelper.hasCamera() : false];
147
+ case 2:
148
+ err_1 = _a.sent();
149
+ trace.error(JSON.stringify(err_1));
150
+ return [2 /*return*/, false];
151
+ case 3:
152
+ return [2 /*return*/];
153
+ }
154
+ });
155
+ });
156
+ };
157
+ exports.couldStartMultiparty = couldStartMultiparty;
158
+
159
+ //# sourceMappingURL=MultiParty.js.map
160
+ //# sourceMappingURL=MultiParty.js.map