@webex/plugin-meetings 3.0.0-beta.4 → 3.0.0-beta.400

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 (629) hide show
  1. package/README.md +58 -8
  2. package/UPGRADING.md +9 -9
  3. package/browsers.js +19 -24
  4. package/dist/annotation/annotation.types.js +7 -0
  5. package/dist/annotation/annotation.types.js.map +1 -0
  6. package/dist/annotation/constants.js +49 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.js +342 -0
  9. package/dist/annotation/index.js.map +1 -0
  10. package/dist/breakouts/breakout.js +216 -0
  11. package/dist/breakouts/breakout.js.map +1 -0
  12. package/dist/breakouts/collection.js +23 -0
  13. package/dist/breakouts/collection.js.map +1 -0
  14. package/dist/breakouts/edit-lock-error.js +52 -0
  15. package/dist/breakouts/edit-lock-error.js.map +1 -0
  16. package/dist/breakouts/events.js +45 -0
  17. package/dist/breakouts/events.js.map +1 -0
  18. package/dist/breakouts/index.js +1048 -0
  19. package/dist/breakouts/index.js.map +1 -0
  20. package/dist/breakouts/request.js +78 -0
  21. package/dist/breakouts/request.js.map +1 -0
  22. package/dist/breakouts/utils.js +67 -0
  23. package/dist/breakouts/utils.js.map +1 -0
  24. package/dist/common/browser-detection.js +1 -20
  25. package/dist/common/browser-detection.js.map +1 -1
  26. package/dist/common/collection.js +5 -20
  27. package/dist/common/collection.js.map +1 -1
  28. package/dist/common/config.js +0 -7
  29. package/dist/common/config.js.map +1 -1
  30. package/dist/common/errors/captcha-error.js +10 -24
  31. package/dist/common/errors/captcha-error.js.map +1 -1
  32. package/dist/common/errors/intent-to-join.js +11 -24
  33. package/dist/common/errors/intent-to-join.js.map +1 -1
  34. package/dist/common/errors/join-meeting.js +12 -25
  35. package/dist/common/errors/join-meeting.js.map +1 -1
  36. package/dist/common/errors/media.js +10 -24
  37. package/dist/common/errors/media.js.map +1 -1
  38. package/dist/common/errors/no-meeting-info.js +51 -0
  39. package/dist/common/errors/no-meeting-info.js.map +1 -0
  40. package/dist/common/errors/parameter.js +5 -33
  41. package/dist/common/errors/parameter.js.map +1 -1
  42. package/dist/common/errors/password-error.js +10 -24
  43. package/dist/common/errors/password-error.js.map +1 -1
  44. package/dist/common/errors/permission.js +9 -23
  45. package/dist/common/errors/permission.js.map +1 -1
  46. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  47. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  48. package/dist/common/errors/reconnection-in-progress.js +0 -17
  49. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  50. package/dist/common/errors/reconnection.js +10 -24
  51. package/dist/common/errors/reconnection.js.map +1 -1
  52. package/dist/common/errors/stats.js +10 -24
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/common/errors/webex-errors.js +54 -48
  55. package/dist/common/errors/webex-errors.js.map +1 -1
  56. package/dist/common/errors/webex-meetings-error.js +5 -25
  57. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  58. package/dist/common/events/events-scope.js +0 -22
  59. package/dist/common/events/events-scope.js.map +1 -1
  60. package/dist/common/events/events.js +0 -23
  61. package/dist/common/events/events.js.map +1 -1
  62. package/dist/common/events/trigger-proxy.js +0 -12
  63. package/dist/common/events/trigger-proxy.js.map +1 -1
  64. package/dist/common/events/util.js +0 -15
  65. package/dist/common/events/util.js.map +1 -1
  66. package/dist/common/logs/logger-config.js +0 -4
  67. package/dist/common/logs/logger-config.js.map +1 -1
  68. package/dist/common/logs/logger-proxy.js +1 -8
  69. package/dist/common/logs/logger-proxy.js.map +1 -1
  70. package/dist/common/logs/request.js +41 -60
  71. package/dist/common/logs/request.js.map +1 -1
  72. package/dist/common/queue.js +28 -23
  73. package/dist/common/queue.js.map +1 -1
  74. package/dist/config.js +11 -15
  75. package/dist/config.js.map +1 -1
  76. package/dist/constants.js +347 -74
  77. package/dist/constants.js.map +1 -1
  78. package/dist/controls-options-manager/constants.js +14 -0
  79. package/dist/controls-options-manager/constants.js.map +1 -0
  80. package/dist/controls-options-manager/enums.js +27 -0
  81. package/dist/controls-options-manager/enums.js.map +1 -0
  82. package/dist/controls-options-manager/index.js +297 -0
  83. package/dist/controls-options-manager/index.js.map +1 -0
  84. package/dist/controls-options-manager/types.js +7 -0
  85. package/dist/controls-options-manager/types.js.map +1 -0
  86. package/dist/controls-options-manager/util.js +319 -0
  87. package/dist/controls-options-manager/util.js.map +1 -0
  88. package/dist/index.js +125 -18
  89. package/dist/index.js.map +1 -1
  90. package/dist/interceptors/index.js +15 -0
  91. package/dist/interceptors/index.js.map +1 -0
  92. package/dist/interceptors/locusRetry.js +93 -0
  93. package/dist/interceptors/locusRetry.js.map +1 -0
  94. package/dist/interpretation/collection.js +23 -0
  95. package/dist/interpretation/collection.js.map +1 -0
  96. package/dist/interpretation/index.js +380 -0
  97. package/dist/interpretation/index.js.map +1 -0
  98. package/dist/interpretation/siLanguage.js +25 -0
  99. package/dist/interpretation/siLanguage.js.map +1 -0
  100. package/dist/locus-info/controlsUtils.js +101 -29
  101. package/dist/locus-info/controlsUtils.js.map +1 -1
  102. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  103. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  104. package/dist/locus-info/fullState.js +0 -15
  105. package/dist/locus-info/fullState.js.map +1 -1
  106. package/dist/locus-info/hostUtils.js +4 -12
  107. package/dist/locus-info/hostUtils.js.map +1 -1
  108. package/dist/locus-info/index.js +564 -246
  109. package/dist/locus-info/index.js.map +1 -1
  110. package/dist/locus-info/infoUtils.js +10 -38
  111. package/dist/locus-info/infoUtils.js.map +1 -1
  112. package/dist/locus-info/mediaSharesUtils.js +82 -38
  113. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  114. package/dist/locus-info/parser.js +314 -163
  115. package/dist/locus-info/parser.js.map +1 -1
  116. package/dist/locus-info/selfUtils.js +110 -92
  117. package/dist/locus-info/selfUtils.js.map +1 -1
  118. package/dist/media/index.js +107 -231
  119. package/dist/media/index.js.map +1 -1
  120. package/dist/media/properties.js +137 -222
  121. package/dist/media/properties.js.map +1 -1
  122. package/dist/media/util.js +2 -9
  123. package/dist/media/util.js.map +1 -1
  124. package/dist/mediaQualityMetrics/config.js +316 -501
  125. package/dist/mediaQualityMetrics/config.js.map +1 -1
  126. package/dist/meeting/in-meeting-actions.js +97 -14
  127. package/dist/meeting/in-meeting-actions.js.map +1 -1
  128. package/dist/meeting/index.js +5311 -3871
  129. package/dist/meeting/index.js.map +1 -1
  130. package/dist/meeting/locusMediaRequest.js +292 -0
  131. package/dist/meeting/locusMediaRequest.js.map +1 -0
  132. package/dist/meeting/muteState.js +260 -183
  133. package/dist/meeting/muteState.js.map +1 -1
  134. package/dist/meeting/request.js +421 -347
  135. package/dist/meeting/request.js.map +1 -1
  136. package/dist/meeting/request.type.js +7 -0
  137. package/dist/meeting/request.type.js.map +1 -0
  138. package/dist/meeting/state.js +21 -31
  139. package/dist/meeting/state.js.map +1 -1
  140. package/dist/meeting/util.js +672 -585
  141. package/dist/meeting/util.js.map +1 -1
  142. package/dist/meeting/voicea-meeting.js +172 -0
  143. package/dist/meeting/voicea-meeting.js.map +1 -0
  144. package/dist/meeting-info/collection.js +6 -25
  145. package/dist/meeting-info/collection.js.map +1 -1
  146. package/dist/meeting-info/index.js +87 -39
  147. package/dist/meeting-info/index.js.map +1 -1
  148. package/dist/meeting-info/meeting-info-v2.js +352 -283
  149. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  150. package/dist/meeting-info/request.js +3 -15
  151. package/dist/meeting-info/request.js.map +1 -1
  152. package/dist/meeting-info/util.js +99 -183
  153. package/dist/meeting-info/util.js.map +1 -1
  154. package/dist/meeting-info/utilv2.js +147 -234
  155. package/dist/meeting-info/utilv2.js.map +1 -1
  156. package/dist/meetings/collection.js +43 -19
  157. package/dist/meetings/collection.js.map +1 -1
  158. package/dist/meetings/index.js +895 -600
  159. package/dist/meetings/index.js.map +1 -1
  160. package/dist/meetings/meetings.types.js +7 -0
  161. package/dist/meetings/meetings.types.js.map +1 -0
  162. package/dist/meetings/request.js +26 -41
  163. package/dist/meetings/request.js.map +1 -1
  164. package/dist/meetings/util.js +184 -157
  165. package/dist/meetings/util.js.map +1 -1
  166. package/dist/member/index.js +134 -85
  167. package/dist/member/index.js.map +1 -1
  168. package/dist/member/types.js +25 -0
  169. package/dist/member/types.js.map +1 -0
  170. package/dist/member/util.js +158 -88
  171. package/dist/member/util.js.map +1 -1
  172. package/dist/members/collection.js +13 -12
  173. package/dist/members/collection.js.map +1 -1
  174. package/dist/members/index.js +194 -204
  175. package/dist/members/index.js.map +1 -1
  176. package/dist/members/request.js +113 -68
  177. package/dist/members/request.js.map +1 -1
  178. package/dist/members/types.js +15 -0
  179. package/dist/members/types.js.map +1 -0
  180. package/dist/members/util.js +324 -259
  181. package/dist/members/util.js.map +1 -1
  182. package/dist/metrics/constants.js +19 -7
  183. package/dist/metrics/constants.js.map +1 -1
  184. package/dist/metrics/index.js +11 -558
  185. package/dist/metrics/index.js.map +1 -1
  186. package/dist/multistream/mediaRequestManager.js +263 -50
  187. package/dist/multistream/mediaRequestManager.js.map +1 -1
  188. package/dist/multistream/receiveSlot.js +58 -65
  189. package/dist/multistream/receiveSlot.js.map +1 -1
  190. package/dist/multistream/receiveSlotManager.js +76 -95
  191. package/dist/multistream/receiveSlotManager.js.map +1 -1
  192. package/dist/multistream/remoteMedia.js +62 -76
  193. package/dist/multistream/remoteMedia.js.map +1 -1
  194. package/dist/multistream/remoteMediaGroup.js +82 -45
  195. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  196. package/dist/multistream/remoteMediaManager.js +657 -448
  197. package/dist/multistream/remoteMediaManager.js.map +1 -1
  198. package/dist/multistream/sendSlotManager.js +255 -0
  199. package/dist/multistream/sendSlotManager.js.map +1 -0
  200. package/dist/networkQualityMonitor/index.js +40 -59
  201. package/dist/networkQualityMonitor/index.js.map +1 -1
  202. package/dist/personal-meeting-room/index.js +21 -45
  203. package/dist/personal-meeting-room/index.js.map +1 -1
  204. package/dist/personal-meeting-room/request.js +1 -31
  205. package/dist/personal-meeting-room/request.js.map +1 -1
  206. package/dist/personal-meeting-room/util.js +0 -13
  207. package/dist/personal-meeting-room/util.js.map +1 -1
  208. package/dist/reachability/clusterReachability.js +356 -0
  209. package/dist/reachability/clusterReachability.js.map +1 -0
  210. package/dist/reachability/index.js +297 -460
  211. package/dist/reachability/index.js.map +1 -1
  212. package/dist/reachability/request.js +20 -26
  213. package/dist/reachability/request.js.map +1 -1
  214. package/dist/reachability/util.js +29 -0
  215. package/dist/reachability/util.js.map +1 -0
  216. package/dist/reactions/constants.js +13 -0
  217. package/dist/reactions/constants.js.map +1 -0
  218. package/dist/reactions/reactions.js +109 -0
  219. package/dist/reactions/reactions.js.map +1 -0
  220. package/dist/reactions/reactions.type.js +36 -0
  221. package/dist/reactions/reactions.type.js.map +1 -0
  222. package/dist/reconnection-manager/index.js +413 -483
  223. package/dist/reconnection-manager/index.js.map +1 -1
  224. package/dist/recording-controller/enums.js +17 -0
  225. package/dist/recording-controller/enums.js.map +1 -0
  226. package/dist/recording-controller/index.js +362 -0
  227. package/dist/recording-controller/index.js.map +1 -0
  228. package/dist/recording-controller/util.js +64 -0
  229. package/dist/recording-controller/util.js.map +1 -0
  230. package/dist/roap/index.js +102 -86
  231. package/dist/roap/index.js.map +1 -1
  232. package/dist/roap/request.js +131 -135
  233. package/dist/roap/request.js.map +1 -1
  234. package/dist/roap/turnDiscovery.js +437 -116
  235. package/dist/roap/turnDiscovery.js.map +1 -1
  236. package/dist/rtcMetrics/constants.js +12 -0
  237. package/dist/rtcMetrics/constants.js.map +1 -0
  238. package/dist/rtcMetrics/index.js +179 -0
  239. package/dist/rtcMetrics/index.js.map +1 -0
  240. package/dist/statsAnalyzer/global.js +1 -95
  241. package/dist/statsAnalyzer/global.js.map +1 -1
  242. package/dist/statsAnalyzer/index.js +557 -583
  243. package/dist/statsAnalyzer/index.js.map +1 -1
  244. package/dist/statsAnalyzer/mqaUtil.js +326 -130
  245. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  246. package/dist/transcription/index.js +22 -47
  247. package/dist/transcription/index.js.map +1 -1
  248. package/dist/types/annotation/annotation.types.d.ts +42 -0
  249. package/dist/types/annotation/constants.d.ts +31 -0
  250. package/dist/types/annotation/index.d.ts +117 -0
  251. package/dist/types/breakouts/breakout.d.ts +8 -0
  252. package/dist/types/breakouts/collection.d.ts +5 -0
  253. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  254. package/dist/types/breakouts/events.d.ts +8 -0
  255. package/dist/types/breakouts/index.d.ts +5 -0
  256. package/dist/types/breakouts/request.d.ts +22 -0
  257. package/dist/types/breakouts/utils.d.ts +15 -0
  258. package/dist/types/common/browser-detection.d.ts +9 -0
  259. package/dist/types/common/collection.d.ts +48 -0
  260. package/dist/types/common/config.d.ts +2 -0
  261. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  262. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  263. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  264. package/dist/types/common/errors/media.d.ts +15 -0
  265. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  266. package/dist/types/common/errors/parameter.d.ts +15 -0
  267. package/dist/types/common/errors/password-error.d.ts +15 -0
  268. package/dist/types/common/errors/permission.d.ts +14 -0
  269. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  270. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  271. package/dist/types/common/errors/reconnection.d.ts +15 -0
  272. package/dist/types/common/errors/stats.d.ts +15 -0
  273. package/dist/types/common/errors/webex-errors.d.ts +93 -0
  274. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  275. package/dist/types/common/events/events-scope.d.ts +17 -0
  276. package/dist/types/common/events/events.d.ts +12 -0
  277. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  278. package/dist/types/common/events/util.d.ts +2 -0
  279. package/dist/types/common/logs/logger-config.d.ts +2 -0
  280. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  281. package/dist/types/common/logs/request.d.ts +36 -0
  282. package/dist/types/common/queue.d.ts +34 -0
  283. package/dist/types/config.d.ts +72 -0
  284. package/dist/types/constants.d.ts +1088 -0
  285. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  286. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  287. package/dist/types/controls-options-manager/index.d.ts +136 -0
  288. package/dist/types/controls-options-manager/types.d.ts +43 -0
  289. package/dist/types/controls-options-manager/util.d.ts +1 -0
  290. package/dist/types/index.d.ts +7 -0
  291. package/dist/types/interceptors/index.d.ts +2 -0
  292. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  293. package/dist/types/interpretation/collection.d.ts +5 -0
  294. package/dist/types/interpretation/index.d.ts +5 -0
  295. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  296. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  297. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  298. package/dist/types/locus-info/fullState.d.ts +2 -0
  299. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  300. package/dist/types/locus-info/index.d.ts +322 -0
  301. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  302. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  303. package/dist/types/locus-info/parser.d.ts +272 -0
  304. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  305. package/dist/types/media/index.d.ts +34 -0
  306. package/dist/types/media/properties.d.ts +93 -0
  307. package/dist/types/media/util.d.ts +2 -0
  308. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  309. package/dist/types/meeting/in-meeting-actions.d.ts +167 -0
  310. package/dist/types/meeting/index.d.ts +1824 -0
  311. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  312. package/dist/types/meeting/muteState.d.ts +178 -0
  313. package/dist/types/meeting/request.d.ts +293 -0
  314. package/dist/types/meeting/request.type.d.ts +11 -0
  315. package/dist/types/meeting/state.d.ts +9 -0
  316. package/dist/types/meeting/util.d.ts +118 -0
  317. package/dist/types/meeting/voicea-meeting.d.ts +16 -0
  318. package/dist/types/meeting-info/collection.d.ts +20 -0
  319. package/dist/types/meeting-info/index.d.ts +69 -0
  320. package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
  321. package/dist/types/meeting-info/request.d.ts +22 -0
  322. package/dist/types/meeting-info/util.d.ts +2 -0
  323. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  324. package/dist/types/meetings/collection.d.ts +40 -0
  325. package/dist/types/meetings/index.d.ts +389 -0
  326. package/dist/types/meetings/meetings.types.d.ts +4 -0
  327. package/dist/types/meetings/request.d.ts +27 -0
  328. package/dist/types/meetings/util.d.ts +18 -0
  329. package/dist/types/member/index.d.ts +160 -0
  330. package/dist/types/member/types.d.ts +32 -0
  331. package/dist/types/member/util.d.ts +2 -0
  332. package/dist/types/members/collection.d.ts +29 -0
  333. package/dist/types/members/index.d.ts +353 -0
  334. package/dist/types/members/request.d.ts +114 -0
  335. package/dist/types/members/types.d.ts +25 -0
  336. package/dist/types/members/util.d.ts +215 -0
  337. package/dist/types/metrics/constants.d.ts +70 -0
  338. package/dist/types/metrics/index.d.ts +45 -0
  339. package/dist/types/multistream/mediaRequestManager.d.ts +120 -0
  340. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  341. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  342. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  343. package/dist/types/multistream/remoteMediaGroup.d.ts +49 -0
  344. package/dist/types/multistream/remoteMediaManager.d.ts +301 -0
  345. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  346. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  347. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  348. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  349. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  350. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  351. package/dist/types/reachability/index.d.ts +105 -0
  352. package/dist/types/reachability/request.d.ts +39 -0
  353. package/dist/types/reachability/util.d.ts +8 -0
  354. package/dist/types/reactions/constants.d.ts +3 -0
  355. package/dist/types/reactions/reactions.d.ts +4 -0
  356. package/dist/types/reactions/reactions.type.d.ts +52 -0
  357. package/dist/types/reconnection-manager/index.d.ts +136 -0
  358. package/dist/types/recording-controller/enums.d.ts +7 -0
  359. package/dist/types/recording-controller/index.d.ts +207 -0
  360. package/dist/types/recording-controller/util.d.ts +14 -0
  361. package/dist/types/roap/index.d.ts +86 -0
  362. package/dist/types/roap/request.d.ts +39 -0
  363. package/dist/types/roap/turnDiscovery.d.ts +155 -0
  364. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  365. package/dist/types/rtcMetrics/index.d.ts +61 -0
  366. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  367. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  368. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  369. package/dist/types/transcription/index.d.ts +64 -0
  370. package/dist/types/webinar/collection.d.ts +16 -0
  371. package/dist/types/webinar/index.d.ts +5 -0
  372. package/dist/webinar/collection.js +44 -0
  373. package/dist/webinar/collection.js.map +1 -0
  374. package/dist/webinar/index.js +69 -0
  375. package/dist/webinar/index.js.map +1 -0
  376. package/internal-README.md +7 -6
  377. package/package.json +30 -21
  378. package/src/annotation/annotation.types.ts +50 -0
  379. package/src/annotation/constants.ts +36 -0
  380. package/src/annotation/index.ts +328 -0
  381. package/src/breakouts/README.md +220 -0
  382. package/src/breakouts/breakout.ts +188 -0
  383. package/src/breakouts/collection.ts +19 -0
  384. package/src/breakouts/edit-lock-error.ts +25 -0
  385. package/src/breakouts/events.ts +56 -0
  386. package/src/breakouts/index.ts +925 -0
  387. package/src/breakouts/request.ts +55 -0
  388. package/src/breakouts/utils.ts +57 -0
  389. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  390. package/src/common/collection.ts +9 -7
  391. package/src/common/{config.js → config.ts} +1 -1
  392. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  393. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  394. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  395. package/src/common/errors/{media.js → media.ts} +11 -7
  396. package/src/common/errors/no-meeting-info.ts +24 -0
  397. package/src/common/errors/parameter.ts +11 -7
  398. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  399. package/src/common/errors/{permission.js → permission.ts} +10 -6
  400. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  401. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  402. package/src/common/errors/{stats.js → stats.ts} +11 -7
  403. package/src/common/errors/{webex-errors.js → webex-errors.ts} +51 -8
  404. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  405. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  406. package/src/common/events/{events.js → events.ts} +5 -1
  407. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  408. package/src/common/events/{util.js → util.ts} +2 -3
  409. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  410. package/src/common/logs/logger-proxy.ts +44 -0
  411. package/src/common/logs/{request.js → request.ts} +26 -9
  412. package/src/common/queue.ts +22 -9
  413. package/src/{config.js → config.ts} +19 -21
  414. package/src/constants.ts +296 -27
  415. package/src/controls-options-manager/constants.ts +5 -0
  416. package/src/controls-options-manager/enums.ts +18 -0
  417. package/src/controls-options-manager/index.ts +278 -0
  418. package/src/controls-options-manager/types.ts +59 -0
  419. package/src/controls-options-manager/util.ts +300 -0
  420. package/src/index.ts +45 -0
  421. package/src/interceptors/index.ts +3 -0
  422. package/src/interceptors/locusRetry.ts +67 -0
  423. package/src/interpretation/README.md +60 -0
  424. package/src/interpretation/collection.ts +19 -0
  425. package/src/interpretation/index.ts +349 -0
  426. package/src/interpretation/siLanguage.ts +18 -0
  427. package/src/locus-info/controlsUtils.ts +222 -0
  428. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  429. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  430. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  431. package/src/locus-info/{index.js → index.ts} +561 -119
  432. package/src/locus-info/{infoUtils.js → infoUtils.ts} +29 -10
  433. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +97 -17
  434. package/src/locus-info/{parser.js → parser.ts} +303 -104
  435. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  436. package/src/media/index.ts +460 -0
  437. package/src/media/properties.ts +283 -0
  438. package/src/media/{util.js → util.ts} +2 -2
  439. package/src/mediaQualityMetrics/config.ts +249 -0
  440. package/src/meeting/in-meeting-actions.ts +199 -3
  441. package/src/meeting/index.ts +8494 -0
  442. package/src/meeting/locusMediaRequest.ts +313 -0
  443. package/src/meeting/muteState.ts +465 -0
  444. package/src/meeting/request.ts +912 -0
  445. package/src/meeting/request.type.ts +13 -0
  446. package/src/meeting/{state.js → state.ts} +50 -35
  447. package/src/meeting/util.ts +799 -0
  448. package/src/meeting/voicea-meeting.ts +122 -0
  449. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  450. package/src/meeting-info/index.ts +210 -0
  451. package/src/meeting-info/meeting-info-v2.ts +423 -0
  452. package/src/meeting-info/{request.js → request.ts} +14 -4
  453. package/src/meeting-info/{util.js → util.ts} +70 -58
  454. package/src/meeting-info/{utilv2.js → utilv2.ts} +99 -82
  455. package/src/meetings/collection.ts +76 -0
  456. package/src/meetings/index.ts +1539 -0
  457. package/src/meetings/meetings.types.ts +12 -0
  458. package/src/meetings/{request.js → request.ts} +34 -25
  459. package/src/meetings/{util.js → util.ts} +133 -38
  460. package/src/member/{index.js → index.ts} +159 -56
  461. package/src/member/types.ts +38 -0
  462. package/src/member/util.ts +397 -0
  463. package/src/members/{collection.js → collection.ts} +10 -2
  464. package/src/members/{index.js → index.ts} +351 -146
  465. package/src/members/request.ts +255 -0
  466. package/src/members/types.ts +29 -0
  467. package/src/members/util.ts +353 -0
  468. package/src/metrics/{constants.js → constants.ts} +17 -6
  469. package/src/metrics/index.ts +73 -0
  470. package/src/multistream/mediaRequestManager.ts +341 -64
  471. package/src/multistream/receiveSlot.ts +69 -26
  472. package/src/multistream/receiveSlotManager.ts +66 -42
  473. package/src/multistream/remoteMedia.ts +40 -5
  474. package/src/multistream/remoteMediaGroup.ts +82 -3
  475. package/src/multistream/remoteMediaManager.ts +401 -81
  476. package/src/multistream/sendSlotManager.ts +199 -0
  477. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  478. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  479. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  480. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  481. package/src/reachability/clusterReachability.ts +320 -0
  482. package/src/reachability/index.ts +371 -0
  483. package/src/reachability/request.ts +50 -35
  484. package/src/reachability/util.ts +24 -0
  485. package/src/reactions/constants.ts +4 -0
  486. package/src/reactions/reactions.ts +104 -0
  487. package/src/reactions/reactions.type.ts +62 -0
  488. package/src/reconnection-manager/index.ts +643 -0
  489. package/src/recording-controller/enums.ts +8 -0
  490. package/src/recording-controller/index.ts +332 -0
  491. package/src/recording-controller/util.ts +75 -0
  492. package/src/roap/index.ts +288 -0
  493. package/src/roap/request.ts +153 -0
  494. package/src/roap/turnDiscovery.ts +374 -70
  495. package/src/rtcMetrics/constants.ts +3 -0
  496. package/src/rtcMetrics/index.ts +166 -0
  497. package/src/statsAnalyzer/global.ts +37 -0
  498. package/src/statsAnalyzer/index.ts +1275 -0
  499. package/src/statsAnalyzer/mqaUtil.ts +440 -0
  500. package/src/transcription/{index.js → index.ts} +46 -39
  501. package/src/webinar/collection.ts +31 -0
  502. package/src/webinar/index.ts +62 -0
  503. package/test/integration/spec/converged-space-meetings.js +233 -0
  504. package/test/integration/spec/journey.js +791 -531
  505. package/test/integration/spec/space-meeting.js +391 -204
  506. package/test/integration/spec/transcription.js +7 -8
  507. package/test/unit/spec/annotation/index.ts +418 -0
  508. package/test/unit/spec/breakouts/breakout.ts +238 -0
  509. package/test/unit/spec/breakouts/collection.ts +15 -0
  510. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  511. package/test/unit/spec/breakouts/events.ts +89 -0
  512. package/test/unit/spec/breakouts/index.ts +1793 -0
  513. package/test/unit/spec/breakouts/request.ts +104 -0
  514. package/test/unit/spec/breakouts/utils.js +72 -0
  515. package/test/unit/spec/common/browser-detection.js +9 -28
  516. package/test/unit/spec/common/queue.js +31 -2
  517. package/test/unit/spec/controls-options-manager/index.js +287 -0
  518. package/test/unit/spec/controls-options-manager/util.js +582 -0
  519. package/test/unit/spec/fixture/locus.js +93 -90
  520. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  521. package/test/unit/spec/interpretation/collection.ts +15 -0
  522. package/test/unit/spec/interpretation/index.ts +625 -0
  523. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  524. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  525. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  526. package/test/unit/spec/locus-info/index.js +1458 -21
  527. package/test/unit/spec/locus-info/infoUtils.js +71 -40
  528. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  529. package/test/unit/spec/locus-info/lib/SeqCmp.json +529 -685
  530. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  531. package/test/unit/spec/locus-info/parser.js +119 -44
  532. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  533. package/test/unit/spec/locus-info/selfUtils.js +291 -12
  534. package/test/unit/spec/media/index.ts +194 -111
  535. package/test/unit/spec/media/properties.ts +11 -11
  536. package/test/unit/spec/meeting/in-meeting-actions.ts +96 -3
  537. package/test/unit/spec/meeting/index.js +8616 -1921
  538. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  539. package/test/unit/spec/meeting/muteState.js +568 -207
  540. package/test/unit/spec/meeting/request.js +602 -82
  541. package/test/unit/spec/meeting/utils.js +867 -179
  542. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  543. package/test/unit/spec/meeting-info/index.js +300 -0
  544. package/test/unit/spec/meeting-info/meetinginfov2.js +631 -78
  545. package/test/unit/spec/meeting-info/request.js +7 -9
  546. package/test/unit/spec/meeting-info/util.js +11 -12
  547. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  548. package/test/unit/spec/meetings/collection.js +27 -1
  549. package/test/unit/spec/meetings/index.js +1826 -374
  550. package/test/unit/spec/meetings/utils.js +243 -14
  551. package/test/unit/spec/member/index.js +61 -7
  552. package/test/unit/spec/member/util.js +526 -26
  553. package/test/unit/spec/members/index.js +536 -55
  554. package/test/unit/spec/members/request.js +228 -40
  555. package/test/unit/spec/members/utils.js +217 -4
  556. package/test/unit/spec/metrics/index.js +13 -68
  557. package/test/unit/spec/multistream/mediaRequestManager.ts +1032 -110
  558. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  559. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  560. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  561. package/test/unit/spec/multistream/remoteMediaGroup.ts +350 -5
  562. package/test/unit/spec/multistream/remoteMediaManager.ts +937 -65
  563. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  564. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  565. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  566. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  567. package/test/unit/spec/reachability/index.ts +606 -26
  568. package/test/unit/spec/reachability/request.js +68 -0
  569. package/test/unit/spec/reachability/util.ts +40 -0
  570. package/test/unit/spec/reconnection-manager/index.js +222 -34
  571. package/test/unit/spec/recording-controller/index.js +306 -0
  572. package/test/unit/spec/recording-controller/util.js +229 -0
  573. package/test/unit/spec/roap/index.ts +238 -82
  574. package/test/unit/spec/roap/request.ts +255 -0
  575. package/test/unit/spec/roap/turnDiscovery.ts +707 -110
  576. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  577. package/test/unit/spec/stats-analyzer/index.js +1331 -62
  578. package/test/unit/spec/webinar/collection.ts +13 -0
  579. package/test/unit/spec/webinar/index.ts +60 -0
  580. package/test/utils/cmr.js +44 -42
  581. package/test/utils/constants.js +9 -0
  582. package/test/utils/integrationTestUtils.js +46 -0
  583. package/test/utils/testUtils.js +63 -99
  584. package/test/utils/webex-config.js +22 -18
  585. package/test/utils/webex-test-users.js +65 -50
  586. package/tsconfig.json +6 -0
  587. package/dist/media/internal-media-core-wrapper.js +0 -22
  588. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  589. package/dist/meeting/effectsState.js +0 -327
  590. package/dist/meeting/effectsState.js.map +0 -1
  591. package/dist/metrics/config.js +0 -301
  592. package/dist/metrics/config.js.map +0 -1
  593. package/dist/multistream/multistreamMedia.js +0 -116
  594. package/dist/multistream/multistreamMedia.js.map +0 -1
  595. package/dist/peer-connection-manager/util.js +0 -124
  596. package/dist/peer-connection-manager/util.js.map +0 -1
  597. package/src/common/logs/logger-proxy.js +0 -33
  598. package/src/index.js +0 -15
  599. package/src/locus-info/controlsUtils.js +0 -102
  600. package/src/media/index.js +0 -459
  601. package/src/media/internal-media-core-wrapper.ts +0 -9
  602. package/src/media/properties.js +0 -289
  603. package/src/mediaQualityMetrics/config.js +0 -382
  604. package/src/meeting/effectsState.js +0 -205
  605. package/src/meeting/index.js +0 -6284
  606. package/src/meeting/muteState.js +0 -318
  607. package/src/meeting/request.js +0 -684
  608. package/src/meeting/util.js +0 -506
  609. package/src/meeting-info/index.js +0 -131
  610. package/src/meeting-info/meeting-info-v2.js +0 -255
  611. package/src/meetings/collection.js +0 -40
  612. package/src/meetings/index.js +0 -1015
  613. package/src/member/util.js +0 -254
  614. package/src/members/request.js +0 -131
  615. package/src/members/util.js +0 -258
  616. package/src/metrics/config.js +0 -324
  617. package/src/metrics/index.js +0 -530
  618. package/src/multistream/multistreamMedia.ts +0 -92
  619. package/src/peer-connection-manager/util.ts +0 -117
  620. package/src/reachability/index.js +0 -464
  621. package/src/reconnection-manager/index.js +0 -519
  622. package/src/roap/index.js +0 -220
  623. package/src/roap/request.js +0 -127
  624. package/src/statsAnalyzer/global.js +0 -133
  625. package/src/statsAnalyzer/index.js +0 -1006
  626. package/src/statsAnalyzer/mqaUtil.js +0 -173
  627. package/test/unit/spec/meeting/effectsState.js +0 -291
  628. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  629. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,33 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
14
-
15
10
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
11
+ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
17
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
18
-
19
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
16
  var _internalMediaCore = require("@webex/internal-media-core");
26
-
27
17
  var _constants = require("../constants");
28
-
29
18
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
30
-
31
19
  /**
32
20
  * @class MediaProperties
33
21
  */
@@ -37,28 +25,45 @@ var MediaProperties = /*#__PURE__*/function () {
37
25
  * @returns {MediaProperties}
38
26
  */
39
27
  function MediaProperties() {
40
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
41
28
  (0, _classCallCheck2.default)(this, MediaProperties);
29
+ (0, _defineProperty2.default)(this, "audioStream", void 0);
30
+ (0, _defineProperty2.default)(this, "mediaDirection", void 0);
31
+ (0, _defineProperty2.default)(this, "mediaSettings", void 0);
32
+ (0, _defineProperty2.default)(this, "webrtcMediaConnection", void 0);
33
+ (0, _defineProperty2.default)(this, "remoteAudioStream", void 0);
34
+ (0, _defineProperty2.default)(this, "remoteQualityLevel", void 0);
35
+ (0, _defineProperty2.default)(this, "remoteShareStream", void 0);
36
+ (0, _defineProperty2.default)(this, "remoteVideoStream", void 0);
37
+ (0, _defineProperty2.default)(this, "shareVideoStream", void 0);
38
+ (0, _defineProperty2.default)(this, "shareAudioStream", void 0);
39
+ (0, _defineProperty2.default)(this, "videoDeviceId", void 0);
40
+ (0, _defineProperty2.default)(this, "videoStream", void 0);
42
41
  (0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
43
42
  this.webrtcMediaConnection = null;
44
- this.mediaDirection = options.mediaDirection;
45
- this.videoTrack = options.videoTrack;
46
- this.audioTrack = options.audioTrack;
47
- this.shareTrack = options.shareTrack;
48
- this.remoteShare = options.remoteShare;
49
- this.remoteAudioTrack = options.remoteAudioTrack;
50
- this.remoteVideoTrack = options.remoteVideoTrack;
51
- this.localQualityLevel = options.localQualityLevel || _constants.QUALITY_LEVELS['720p'];
52
- this.remoteQualityLevel = options.remoteQualityLevel || _constants.QUALITY_LEVELS.HIGH;
43
+ this.mediaDirection = {
44
+ receiveAudio: false,
45
+ receiveVideo: false,
46
+ receiveShare: false,
47
+ sendAudio: false,
48
+ sendVideo: false,
49
+ sendShare: false
50
+ };
51
+ this.videoStream = null;
52
+ this.audioStream = null;
53
+ this.shareVideoStream = null;
54
+ this.shareAudioStream = null;
55
+ this.remoteShareStream = undefined;
56
+ this.remoteAudioStream = undefined;
57
+ this.remoteVideoStream = undefined;
58
+ this.remoteQualityLevel = _constants.QUALITY_LEVELS.HIGH;
53
59
  this.mediaSettings = {};
54
60
  this.videoDeviceId = null;
55
61
  }
62
+
56
63
  /**
57
64
  * Retrieves the preferred video input device
58
65
  * @returns {Object|null}
59
66
  */
60
-
61
-
62
67
  (0, _createClass2.default)(MediaProperties, [{
63
68
  key: "getVideoDeviceId",
64
69
  value: function getVideoDeviceId() {
@@ -80,24 +85,24 @@ var MediaProperties = /*#__PURE__*/function () {
80
85
  this.webrtcMediaConnection = mediaPeerConnection;
81
86
  }
82
87
  }, {
83
- key: "setLocalVideoTrack",
84
- value: function setLocalVideoTrack(videoTrack) {
85
- this.videoTrack = videoTrack;
88
+ key: "setLocalVideoStream",
89
+ value: function setLocalVideoStream(videoStream) {
90
+ this.videoStream = videoStream;
86
91
  }
87
92
  }, {
88
- key: "setLocalAudioTrack",
89
- value: function setLocalAudioTrack(audioTrack) {
90
- this.audioTrack = audioTrack;
93
+ key: "setLocalAudioStream",
94
+ value: function setLocalAudioStream(audioStream) {
95
+ this.audioStream = audioStream;
91
96
  }
92
97
  }, {
93
- key: "setLocalQualityLevel",
94
- value: function setLocalQualityLevel(localQualityLevel) {
95
- this.localQualityLevel = localQualityLevel;
98
+ key: "setLocalShareVideoStream",
99
+ value: function setLocalShareVideoStream(shareVideoStream) {
100
+ this.shareVideoStream = shareVideoStream;
96
101
  }
97
102
  }, {
98
- key: "setLocalShareTrack",
99
- value: function setLocalShareTrack(shareTrack) {
100
- this.shareTrack = shareTrack;
103
+ key: "setLocalShareAudioStream",
104
+ value: function setLocalShareAudioStream(shareAudioStream) {
105
+ this.shareAudioStream = shareAudioStream;
101
106
  }
102
107
  }, {
103
108
  key: "setRemoteQualityLevel",
@@ -105,38 +110,38 @@ var MediaProperties = /*#__PURE__*/function () {
105
110
  this.remoteQualityLevel = remoteQualityLevel;
106
111
  }
107
112
  }, {
108
- key: "setRemoteShare",
109
- value: function setRemoteShare(remoteShare) {
110
- this.remoteShare = remoteShare;
113
+ key: "setRemoteShareStream",
114
+ value: function setRemoteShareStream(remoteShareStream) {
115
+ this.remoteShareStream = remoteShareStream;
111
116
  }
117
+
112
118
  /**
113
- * Sets the remote audio track
114
- * @param {MediaTrack} remoteAudioTrack MediaTrack to save
119
+ * Sets the remote audio stream
120
+ * @param {RemoteStream} remoteAudioStream RemoteStream to save
115
121
  * @returns {void}
116
122
  */
117
-
118
123
  }, {
119
- key: "setRemoteAudioTrack",
120
- value: function setRemoteAudioTrack(remoteAudioTrack) {
121
- this.remoteAudioTrack = remoteAudioTrack;
124
+ key: "setRemoteAudioStream",
125
+ value: function setRemoteAudioStream(remoteAudioStream) {
126
+ this.remoteAudioStream = remoteAudioStream;
122
127
  }
128
+
123
129
  /**
124
- * Sets the remote video track
125
- * @param {MediaTrack} remoteVideoTrack MediaTrack to save
130
+ * Sets the remote video stream
131
+ * @param {RemoteStream} remoteVideoStream RemoteStream to save
126
132
  * @returns {void}
127
133
  */
128
-
129
134
  }, {
130
- key: "setRemoteVideoTrack",
131
- value: function setRemoteVideoTrack(remoteVideoTrack) {
132
- this.remoteVideoTrack = remoteVideoTrack;
135
+ key: "setRemoteVideoStream",
136
+ value: function setRemoteVideoStream(remoteVideoStream) {
137
+ this.remoteVideoStream = remoteVideoStream;
133
138
  }
139
+
134
140
  /**
135
141
  * Stores the preferred video input device
136
142
  * @param {string} deviceId Preferred video input device
137
143
  * @returns {void}
138
144
  */
139
-
140
145
  }, {
141
146
  key: "setVideoDeviceId",
142
147
  value: function setVideoDeviceId(deviceId) {
@@ -147,249 +152,159 @@ var MediaProperties = /*#__PURE__*/function () {
147
152
  value: function unsetPeerConnection() {
148
153
  this.webrtcMediaConnection = null;
149
154
  }
150
- }, {
151
- key: "unsetLocalVideoTrack",
152
- value: function unsetLocalVideoTrack() {
153
- this.videoTrack = null;
154
- }
155
- }, {
156
- key: "unsetLocalShareTrack",
157
- value: function unsetLocalShareTrack() {
158
- this.shareTrack = null;
159
- }
160
- }, {
161
- key: "unsetLocalAudioTrack",
162
- value: function unsetLocalAudioTrack() {
163
- this.audioTrack = null;
164
- }
165
- /**
166
- * Removes remote stream from class instance
167
- * @deprecated after v1.89.3
168
- * @returns {void}
169
- */
170
-
171
- }, {
172
- key: "unsetRemoteStream",
173
- value: function unsetRemoteStream() {
174
- _loggerProxy.default.logger.warn('Media:properties#unsetRemoteStream --> [DEPRECATION WARNING]: unsetRemoteStream has been deprecated after v1.89.3 (use unsetRemoteTracks instead)'); // unsets audio and video only
175
-
176
155
 
177
- this.unsetRemoteMedia();
178
- }
179
156
  /**
180
157
  * Removes both remote audio and video from class instance
181
158
  * @returns {void}
182
159
  */
183
-
184
160
  }, {
185
161
  key: "unsetRemoteMedia",
186
162
  value: function unsetRemoteMedia() {
187
- this.remoteAudioTrack = null;
188
- this.remoteVideoTrack = null;
189
- }
190
- }, {
191
- key: "unsetRemoteShare",
192
- value: function unsetRemoteShare() {
193
- this.remoteShare = null;
163
+ this.remoteAudioStream = null;
164
+ this.remoteVideoStream = null;
194
165
  }
195
166
  }, {
196
- key: "unsetLocalVideoTracks",
197
- value: function unsetLocalVideoTracks() {
198
- this.unsetLocalVideoTrack();
199
- this.unsetLocalShareTrack();
167
+ key: "unsetRemoteShareStream",
168
+ value: function unsetRemoteShareStream() {
169
+ this.remoteShareStream = null;
200
170
  }
171
+
201
172
  /**
202
- * Removes remote stream and remote share from class instance
203
- * @deprecated after v1.89.3
173
+ * Unsets all remote streams
204
174
  * @returns {void}
205
175
  */
206
-
207
176
  }, {
208
177
  key: "unsetRemoteStreams",
209
178
  value: function unsetRemoteStreams() {
210
- _loggerProxy.default.logger.warn('Media:properties#unsetRemoteStreams --> [DEPRECATION WARNING]: unsetRemoteStreams has been deprecated after v1.89.3 (use unsetRemoteTracks instead)');
211
-
212
- this.unsetRemoteStream();
213
- this.unsetRemoteShare();
214
- }
215
- /**
216
- * Unsets all remote tracks
217
- * @returns {void}
218
- */
219
-
220
- }, {
221
- key: "unsetRemoteTracks",
222
- value: function unsetRemoteTracks() {
223
179
  this.unsetRemoteMedia();
224
- this.unsetRemoteShare();
225
- }
226
- }, {
227
- key: "unsetShareStreams",
228
- value: function unsetShareStreams() {
229
- this.unsetLocalShareTrack();
230
- this.unsetRemoteShare();
180
+ this.unsetRemoteShareStream();
231
181
  }
232
- /**
233
- * Removes both local and remote video stream from class instance
234
- * @deprecated after v1.89.3
235
- * @returns {void}
236
- */
237
-
238
- }, {
239
- key: "unsetMediaStreams",
240
- value: function unsetMediaStreams() {
241
- _loggerProxy.default.logger.warn('Media:properties#unsetMediaStreams --> [DEPRECATION WARNING]: unsetMediaStreams has been deprecated after v1.89.3 (use unsetMediaTracks instead)');
242
182
 
243
- this.unsetLocalVideoTrack();
244
- this.unsetRemoteStream();
245
- }
246
183
  /**
247
- * Removes both local and remote video stream from class instance
248
- * @returns {void}
184
+ * Returns if we have at least one local share stream or not.
185
+ * @returns {Boolean}
249
186
  */
250
-
251
187
  }, {
252
- key: "unsetMediaTracks",
253
- value: function unsetMediaTracks() {
254
- this.unsetLocalVideoTrack();
255
- this.unsetRemoteMedia();
188
+ key: "hasLocalShareStream",
189
+ value: function hasLocalShareStream() {
190
+ return !!(this.shareAudioStream || this.shareVideoStream);
256
191
  }
192
+
257
193
  /**
258
194
  * Waits for the webrtc media connection to be connected.
259
195
  *
260
196
  * @returns {Promise<void>}
261
197
  */
262
-
263
198
  }, {
264
199
  key: "waitForMediaConnectionConnected",
265
200
  value: function waitForMediaConnectionConnected() {
266
201
  var _this = this;
267
-
268
202
  var isConnected = function isConnected() {
269
- return _this.webrtcMediaConnection.getConnectionState() === _internalMediaCore.MediaConnection.ConnectionState.Connected;
203
+ return _this.webrtcMediaConnection.getConnectionState() === _internalMediaCore.ConnectionState.Connected;
270
204
  };
271
-
272
205
  if (isConnected()) {
273
206
  return _promise.default.resolve();
274
207
  }
275
-
276
208
  return new _promise.default(function (resolve, reject) {
277
209
  var timer;
278
-
279
210
  var connectionStateListener = function connectionStateListener() {
280
211
  _loggerProxy.default.logger.log("Media:properties#waitForMediaConnectionConnected --> connection state: ".concat(_this.webrtcMediaConnection.getConnectionState()));
281
-
282
212
  if (isConnected()) {
283
213
  clearTimeout(timer);
284
-
285
- _this.webrtcMediaConnection.off(_internalMediaCore.MediaConnection.Event.CONNECTION_STATE_CHANGED, connectionStateListener);
286
-
214
+ _this.webrtcMediaConnection.off(_internalMediaCore.Event.CONNECTION_STATE_CHANGED, connectionStateListener);
287
215
  resolve();
288
216
  }
289
217
  };
290
-
291
218
  timer = setTimeout(function () {
292
- _this.webrtcMediaConnection.off(_internalMediaCore.MediaConnection.Event.CONNECTION_STATE_CHANGED, connectionStateListener);
293
-
219
+ _this.webrtcMediaConnection.off(_internalMediaCore.Event.CONNECTION_STATE_CHANGED, connectionStateListener);
294
220
  reject();
295
- }, _constants.PC_BAIL_TIMEOUT);
296
-
297
- _this.webrtcMediaConnection.on(_internalMediaCore.MediaConnection.Event.CONNECTION_STATE_CHANGED, connectionStateListener);
221
+ }, _constants.ICE_AND_DTLS_CONNECTION_TIMEOUT);
222
+ _this.webrtcMediaConnection.on(_internalMediaCore.Event.CONNECTION_STATE_CHANGED, connectionStateListener);
298
223
  });
299
224
  }
225
+
300
226
  /**
301
227
  * Returns the type of a connection that has been established
302
228
  *
303
229
  * @returns {Promise<'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'>}
304
230
  */
305
-
306
231
  }, {
307
232
  key: "getCurrentConnectionType",
308
233
  value: function () {
309
234
  var _getCurrentConnectionType = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
310
- var allStatsReports, statsResult, successfulCandidatePairs, foundConnectionType;
235
+ var allStatsReports, statsResult, successfulCandidatePairs, foundConnectionType, candidatePairStates;
311
236
  return _regenerator.default.wrap(function _callee$(_context) {
312
- while (1) {
313
- switch (_context.prev = _context.next) {
314
- case 0:
315
- _context.next = 2;
316
- return this.waitForMediaConnectionConnected();
317
-
318
- case 2:
319
- allStatsReports = [];
320
- _context.prev = 3;
321
- _context.next = 6;
322
- return this.webrtcMediaConnection.getStats();
323
-
324
- case 6:
325
- statsResult = _context.sent;
326
- statsResult.forEach(function (report) {
327
- return allStatsReports.push(report);
237
+ while (1) switch (_context.prev = _context.next) {
238
+ case 0:
239
+ _context.next = 2;
240
+ return this.waitForMediaConnectionConnected();
241
+ case 2:
242
+ allStatsReports = [];
243
+ _context.prev = 3;
244
+ _context.next = 6;
245
+ return this.webrtcMediaConnection.getStats();
246
+ case 6:
247
+ statsResult = _context.sent;
248
+ statsResult.forEach(function (report) {
249
+ return allStatsReports.push(report);
250
+ });
251
+ _context.next = 13;
252
+ break;
253
+ case 10:
254
+ _context.prev = 10;
255
+ _context.t0 = _context["catch"](3);
256
+ _loggerProxy.default.logger.warn("Media:properties#getCurrentConnectionType --> getStats() failed: ".concat(_context.t0));
257
+ case 13:
258
+ successfulCandidatePairs = allStatsReports.filter(function (report) {
259
+ var _report$state;
260
+ return report.type === 'candidate-pair' && ((_report$state = report.state) === null || _report$state === void 0 ? void 0 : _report$state.toLowerCase()) === 'succeeded';
261
+ });
262
+ foundConnectionType = 'unknown'; // all of the successful pairs should have the same connection type, so just return the type for the first one
263
+ successfulCandidatePairs.some(function (pair) {
264
+ var localCandidate = allStatsReports.find(function (report) {
265
+ return report.type === 'local-candidate' && report.id === pair.localCandidateId;
328
266
  });
329
- _context.next = 13;
330
- break;
331
-
332
- case 10:
333
- _context.prev = 10;
334
- _context.t0 = _context["catch"](3);
335
-
336
- _loggerProxy.default.logger.warn("Media:properties#getCurrentConnectionType --> getStats() failed: ".concat(_context.t0));
337
-
338
- case 13:
339
- successfulCandidatePairs = allStatsReports.filter(function (report) {
340
- var _report$state;
341
-
342
- return report.type === 'candidate-pair' && ((_report$state = report.state) === null || _report$state === void 0 ? void 0 : _report$state.toLowerCase()) === 'succeeded';
343
- });
344
- foundConnectionType = 'unknown'; // all of the successful pairs should have the same connection type, so just return the type for the first one
345
-
346
- successfulCandidatePairs.some(function (pair) {
347
- var localCandidate = allStatsReports.find(function (report) {
348
- return report.type === 'local-candidate' && report.id === pair.localCandidateId;
349
- });
350
-
351
- if (localCandidate === undefined) {
352
- _loggerProxy.default.logger.warn("Media:properties#getCurrentConnectionType --> failed to find local candidate \"".concat(pair.localCandidateId, "\" in getStats() results"));
353
-
354
- return false;
355
- }
356
-
357
- var connectionType;
358
-
359
- if (localCandidate.relayProtocol) {
360
- connectionType = "TURN-".concat(localCandidate.relayProtocol.toUpperCase());
361
- } else {
362
- var _localCandidate$proto;
363
-
364
- connectionType = (_localCandidate$proto = localCandidate.protocol) === null || _localCandidate$proto === void 0 ? void 0 : _localCandidate$proto.toUpperCase(); // it will be UDP or TCP
365
- }
366
-
367
- if (connectionType) {
368
- foundConnectionType = connectionType;
369
- return true;
370
- }
371
-
267
+ if (localCandidate === undefined) {
268
+ _loggerProxy.default.logger.warn("Media:properties#getCurrentConnectionType --> failed to find local candidate \"".concat(pair.localCandidateId, "\" in getStats() results"));
372
269
  return false;
270
+ }
271
+ var connectionType;
272
+ if (localCandidate.relayProtocol) {
273
+ connectionType = "TURN-".concat(localCandidate.relayProtocol.toUpperCase());
274
+ } else {
275
+ var _localCandidate$proto;
276
+ connectionType = (_localCandidate$proto = localCandidate.protocol) === null || _localCandidate$proto === void 0 ? void 0 : _localCandidate$proto.toUpperCase(); // it will be UDP or TCP
277
+ }
278
+
279
+ if (connectionType) {
280
+ foundConnectionType = connectionType;
281
+ return true;
282
+ }
283
+ _loggerProxy.default.logger.warn("Media:properties#getCurrentConnectionType --> missing localCandidate.protocol, candidateType=".concat(localCandidate.candidateType));
284
+ return false;
285
+ });
286
+ if (foundConnectionType === 'unknown') {
287
+ candidatePairStates = allStatsReports.filter(function (report) {
288
+ return report.type === 'candidate-pair';
289
+ }).map(function (report) {
290
+ return report.state;
373
291
  });
374
- return _context.abrupt("return", foundConnectionType);
375
-
376
- case 17:
377
- case "end":
378
- return _context.stop();
379
- }
292
+ _loggerProxy.default.logger.warn("Media:properties#getCurrentConnectionType --> all candidate pair states: ".concat((0, _stringify.default)(candidatePairStates)));
293
+ }
294
+ return _context.abrupt("return", foundConnectionType);
295
+ case 18:
296
+ case "end":
297
+ return _context.stop();
380
298
  }
381
299
  }, _callee, this, [[3, 10]]);
382
300
  }));
383
-
384
301
  function getCurrentConnectionType() {
385
302
  return _getCurrentConnectionType.apply(this, arguments);
386
303
  }
387
-
388
304
  return getCurrentConnectionType;
389
305
  }()
390
306
  }]);
391
307
  return MediaProperties;
392
308
  }();
393
-
394
309
  exports.default = MediaProperties;
395
310
  //# sourceMappingURL=properties.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MediaProperties","options","MEETINGS","webrtcMediaConnection","mediaDirection","videoTrack","audioTrack","shareTrack","remoteShare","remoteAudioTrack","remoteVideoTrack","localQualityLevel","QUALITY_LEVELS","remoteQualityLevel","HIGH","mediaSettings","videoDeviceId","type","values","mediaPeerConnection","deviceId","LoggerProxy","logger","warn","unsetRemoteMedia","unsetLocalVideoTrack","unsetLocalShareTrack","unsetRemoteStream","unsetRemoteShare","isConnected","getConnectionState","MC","ConnectionState","Connected","resolve","reject","timer","connectionStateListener","log","clearTimeout","off","Event","CONNECTION_STATE_CHANGED","setTimeout","PC_BAIL_TIMEOUT","on","waitForMediaConnectionConnected","allStatsReports","getStats","statsResult","forEach","report","push","successfulCandidatePairs","filter","state","toLowerCase","foundConnectionType","some","pair","localCandidate","find","id","localCandidateId","undefined","connectionType","relayProtocol","toUpperCase","protocol"],"sources":["properties.js"],"sourcesContent":["import {MediaConnection as MC} from '@webex/internal-media-core';\n\nimport {\n MEETINGS,\n PC_BAIL_TIMEOUT,\n QUALITY_LEVELS\n} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\n/**\n * @class MediaProperties\n */\nexport default class MediaProperties {\n namespace = MEETINGS;\n\n /**\n * @param {Object} [options] -- to auto construct\n * @returns {MediaProperties}\n */\n constructor(options = {}) {\n this.webrtcMediaConnection = null;\n this.mediaDirection = options.mediaDirection;\n this.videoTrack = options.videoTrack;\n this.audioTrack = options.audioTrack;\n this.shareTrack = options.shareTrack;\n this.remoteShare = options.remoteShare;\n this.remoteAudioTrack = options.remoteAudioTrack;\n this.remoteVideoTrack = options.remoteVideoTrack;\n this.localQualityLevel = options.localQualityLevel || QUALITY_LEVELS['720p'];\n this.remoteQualityLevel = options.remoteQualityLevel || QUALITY_LEVELS.HIGH;\n this.mediaSettings = {};\n this.videoDeviceId = null;\n }\n\n /**\n * Retrieves the preferred video input device\n * @returns {Object|null}\n */\n getVideoDeviceId() {\n return this.videoDeviceId || null;\n }\n\n setMediaDirection(mediaDirection) {\n this.mediaDirection = mediaDirection;\n }\n\n setMediaSettings(type, values) {\n this.mediaSettings[type] = values;\n }\n\n setMediaPeerConnection(mediaPeerConnection) {\n this.webrtcMediaConnection = mediaPeerConnection;\n }\n\n setLocalVideoTrack(videoTrack) {\n this.videoTrack = videoTrack;\n }\n\n setLocalAudioTrack(audioTrack) {\n this.audioTrack = audioTrack;\n }\n\n setLocalQualityLevel(localQualityLevel) {\n this.localQualityLevel = localQualityLevel;\n }\n\n setLocalShareTrack(shareTrack) {\n this.shareTrack = shareTrack;\n }\n\n setRemoteQualityLevel(remoteQualityLevel) {\n this.remoteQualityLevel = remoteQualityLevel;\n }\n\n setRemoteShare(remoteShare) {\n this.remoteShare = remoteShare;\n }\n\n /**\n * Sets the remote audio track\n * @param {MediaTrack} remoteAudioTrack MediaTrack to save\n * @returns {void}\n */\n setRemoteAudioTrack(remoteAudioTrack) {\n this.remoteAudioTrack = remoteAudioTrack;\n }\n\n /**\n * Sets the remote video track\n * @param {MediaTrack} remoteVideoTrack MediaTrack to save\n * @returns {void}\n */\n setRemoteVideoTrack(remoteVideoTrack) {\n this.remoteVideoTrack = remoteVideoTrack;\n }\n\n /**\n * Stores the preferred video input device\n * @param {string} deviceId Preferred video input device\n * @returns {void}\n */\n setVideoDeviceId(deviceId) {\n this.videoDeviceId = deviceId;\n }\n\n unsetPeerConnection() {\n this.webrtcMediaConnection = null;\n }\n\n unsetLocalVideoTrack() {\n this.videoTrack = null;\n }\n\n unsetLocalShareTrack() {\n this.shareTrack = null;\n }\n\n unsetLocalAudioTrack() {\n this.audioTrack = null;\n }\n\n /**\n * Removes remote stream from class instance\n * @deprecated after v1.89.3\n * @returns {void}\n */\n unsetRemoteStream() {\n LoggerProxy.logger.warn('Media:properties#unsetRemoteStream --> [DEPRECATION WARNING]: unsetRemoteStream has been deprecated after v1.89.3 (use unsetRemoteTracks instead)');\n // unsets audio and video only\n this.unsetRemoteMedia();\n }\n\n /**\n * Removes both remote audio and video from class instance\n * @returns {void}\n */\n unsetRemoteMedia() {\n this.remoteAudioTrack = null;\n this.remoteVideoTrack = null;\n }\n\n unsetRemoteShare() {\n this.remoteShare = null;\n }\n\n unsetLocalVideoTracks() {\n this.unsetLocalVideoTrack();\n this.unsetLocalShareTrack();\n }\n\n /**\n * Removes remote stream and remote share from class instance\n * @deprecated after v1.89.3\n * @returns {void}\n */\n unsetRemoteStreams() {\n LoggerProxy.logger.warn('Media:properties#unsetRemoteStreams --> [DEPRECATION WARNING]: unsetRemoteStreams has been deprecated after v1.89.3 (use unsetRemoteTracks instead)');\n this.unsetRemoteStream();\n this.unsetRemoteShare();\n }\n\n /**\n * Unsets all remote tracks\n * @returns {void}\n */\n unsetRemoteTracks() {\n this.unsetRemoteMedia();\n this.unsetRemoteShare();\n }\n\n unsetShareStreams() {\n this.unsetLocalShareTrack();\n this.unsetRemoteShare();\n }\n\n /**\n * Removes both local and remote video stream from class instance\n * @deprecated after v1.89.3\n * @returns {void}\n */\n unsetMediaStreams() {\n LoggerProxy.logger.warn('Media:properties#unsetMediaStreams --> [DEPRECATION WARNING]: unsetMediaStreams has been deprecated after v1.89.3 (use unsetMediaTracks instead)');\n this.unsetLocalVideoTrack();\n this.unsetRemoteStream();\n }\n\n /**\n * Removes both local and remote video stream from class instance\n * @returns {void}\n */\n unsetMediaTracks() {\n this.unsetLocalVideoTrack();\n this.unsetRemoteMedia();\n }\n\n /**\n * Waits for the webrtc media connection to be connected.\n *\n * @returns {Promise<void>}\n */\n waitForMediaConnectionConnected() {\n const isConnected = () => (\n this.webrtcMediaConnection.getConnectionState() === MC.ConnectionState.Connected\n );\n\n if (isConnected()) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n let timer;\n\n const connectionStateListener = () => {\n LoggerProxy.logger.log(`Media:properties#waitForMediaConnectionConnected --> connection state: ${this.webrtcMediaConnection.getConnectionState()}`);\n\n if (isConnected()) {\n clearTimeout(timer);\n this.webrtcMediaConnection.off(MC.Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n resolve();\n }\n };\n\n timer = setTimeout(() => {\n this.webrtcMediaConnection.off(MC.Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n reject();\n }, PC_BAIL_TIMEOUT);\n\n this.webrtcMediaConnection.on(MC.Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n });\n }\n\n /**\n * Returns the type of a connection that has been established\n *\n * @returns {Promise<'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'>}\n */\n async getCurrentConnectionType() {\n // we can only get the connection type after ICE connection has been established\n await this.waitForMediaConnectionConnected();\n\n const allStatsReports = [];\n\n try {\n // eslint-disable-next-line no-await-in-loop\n const statsResult = await this.webrtcMediaConnection.getStats();\n\n statsResult.forEach((report) => allStatsReports.push(report));\n }\n catch (error) {\n LoggerProxy.logger.warn(`Media:properties#getCurrentConnectionType --> getStats() failed: ${error}`);\n }\n\n const successfulCandidatePairs = allStatsReports.filter(\n (report) => report.type === 'candidate-pair' && report.state?.toLowerCase() === 'succeeded'\n );\n\n let foundConnectionType = 'unknown';\n\n // all of the successful pairs should have the same connection type, so just return the type for the first one\n successfulCandidatePairs.some((pair) => {\n const localCandidate = allStatsReports.find((report) => report.type === 'local-candidate' && report.id === pair.localCandidateId);\n\n if (localCandidate === undefined) {\n LoggerProxy.logger.warn(`Media:properties#getCurrentConnectionType --> failed to find local candidate \"${pair.localCandidateId}\" in getStats() results`);\n\n return false;\n }\n\n let connectionType;\n\n if (localCandidate.relayProtocol) {\n connectionType = `TURN-${localCandidate.relayProtocol.toUpperCase()}`;\n }\n else {\n connectionType = localCandidate.protocol?.toUpperCase(); // it will be UDP or TCP\n }\n\n if (connectionType) {\n foundConnectionType = connectionType;\n\n return true;\n }\n\n return false;\n });\n\n return foundConnectionType;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["MediaProperties","MEETINGS","webrtcMediaConnection","mediaDirection","receiveAudio","receiveVideo","receiveShare","sendAudio","sendVideo","sendShare","videoStream","audioStream","shareVideoStream","shareAudioStream","remoteShareStream","undefined","remoteAudioStream","remoteVideoStream","remoteQualityLevel","QUALITY_LEVELS","HIGH","mediaSettings","videoDeviceId","type","values","mediaPeerConnection","deviceId","unsetRemoteMedia","unsetRemoteShareStream","isConnected","getConnectionState","ConnectionState","Connected","resolve","reject","timer","connectionStateListener","LoggerProxy","logger","log","clearTimeout","off","Event","CONNECTION_STATE_CHANGED","setTimeout","ICE_AND_DTLS_CONNECTION_TIMEOUT","on","waitForMediaConnectionConnected","allStatsReports","getStats","statsResult","forEach","report","push","warn","successfulCandidatePairs","filter","state","toLowerCase","foundConnectionType","some","pair","localCandidate","find","id","localCandidateId","connectionType","relayProtocol","toUpperCase","protocol","candidateType","candidatePairStates","map"],"sources":["properties.ts"],"sourcesContent":["import {ConnectionState, Event} from '@webex/internal-media-core';\n\nimport {\n LocalCameraStream,\n LocalMicrophoneStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n RemoteStream,\n} from '@webex/media-helpers';\n\nimport {MEETINGS, ICE_AND_DTLS_CONNECTION_TIMEOUT, QUALITY_LEVELS} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nexport type MediaDirection = {\n sendAudio: boolean;\n sendVideo: boolean;\n sendShare: boolean;\n receiveAudio: boolean;\n receiveVideo: boolean;\n receiveShare: boolean;\n};\n\n/**\n * @class MediaProperties\n */\nexport default class MediaProperties {\n audioStream?: LocalMicrophoneStream;\n mediaDirection: MediaDirection;\n mediaSettings: any;\n webrtcMediaConnection: any;\n remoteAudioStream: RemoteStream;\n remoteQualityLevel: any;\n remoteShareStream: RemoteStream;\n remoteVideoStream: RemoteStream;\n shareVideoStream?: LocalDisplayStream;\n shareAudioStream?: LocalSystemAudioStream;\n videoDeviceId: any;\n videoStream?: LocalCameraStream;\n namespace = MEETINGS;\n\n /**\n * @param {Object} [options] -- to auto construct\n * @returns {MediaProperties}\n */\n constructor() {\n this.webrtcMediaConnection = null;\n this.mediaDirection = {\n receiveAudio: false,\n receiveVideo: false,\n receiveShare: false,\n sendAudio: false,\n sendVideo: false,\n sendShare: false,\n };\n this.videoStream = null;\n this.audioStream = null;\n this.shareVideoStream = null;\n this.shareAudioStream = null;\n this.remoteShareStream = undefined;\n this.remoteAudioStream = undefined;\n this.remoteVideoStream = undefined;\n this.remoteQualityLevel = QUALITY_LEVELS.HIGH;\n this.mediaSettings = {};\n this.videoDeviceId = null;\n }\n\n /**\n * Retrieves the preferred video input device\n * @returns {Object|null}\n */\n getVideoDeviceId() {\n return this.videoDeviceId || null;\n }\n\n setMediaDirection(mediaDirection) {\n this.mediaDirection = mediaDirection;\n }\n\n setMediaSettings(type, values) {\n this.mediaSettings[type] = values;\n }\n\n setMediaPeerConnection(mediaPeerConnection) {\n this.webrtcMediaConnection = mediaPeerConnection;\n }\n\n setLocalVideoStream(videoStream?: LocalCameraStream) {\n this.videoStream = videoStream;\n }\n\n setLocalAudioStream(audioStream?: LocalMicrophoneStream) {\n this.audioStream = audioStream;\n }\n\n setLocalShareVideoStream(shareVideoStream?: LocalDisplayStream) {\n this.shareVideoStream = shareVideoStream;\n }\n\n setLocalShareAudioStream(shareAudioStream?: LocalSystemAudioStream) {\n this.shareAudioStream = shareAudioStream;\n }\n\n setRemoteQualityLevel(remoteQualityLevel) {\n this.remoteQualityLevel = remoteQualityLevel;\n }\n\n setRemoteShareStream(remoteShareStream: RemoteStream) {\n this.remoteShareStream = remoteShareStream;\n }\n\n /**\n * Sets the remote audio stream\n * @param {RemoteStream} remoteAudioStream RemoteStream to save\n * @returns {void}\n */\n setRemoteAudioStream(remoteAudioStream: RemoteStream) {\n this.remoteAudioStream = remoteAudioStream;\n }\n\n /**\n * Sets the remote video stream\n * @param {RemoteStream} remoteVideoStream RemoteStream to save\n * @returns {void}\n */\n setRemoteVideoStream(remoteVideoStream: RemoteStream) {\n this.remoteVideoStream = remoteVideoStream;\n }\n\n /**\n * Stores the preferred video input device\n * @param {string} deviceId Preferred video input device\n * @returns {void}\n */\n setVideoDeviceId(deviceId: string) {\n this.videoDeviceId = deviceId;\n }\n\n unsetPeerConnection() {\n this.webrtcMediaConnection = null;\n }\n\n /**\n * Removes both remote audio and video from class instance\n * @returns {void}\n */\n unsetRemoteMedia() {\n this.remoteAudioStream = null;\n this.remoteVideoStream = null;\n }\n\n unsetRemoteShareStream() {\n this.remoteShareStream = null;\n }\n\n /**\n * Unsets all remote streams\n * @returns {void}\n */\n unsetRemoteStreams() {\n this.unsetRemoteMedia();\n this.unsetRemoteShareStream();\n }\n\n /**\n * Returns if we have at least one local share stream or not.\n * @returns {Boolean}\n */\n hasLocalShareStream() {\n return !!(this.shareAudioStream || this.shareVideoStream);\n }\n\n /**\n * Waits for the webrtc media connection to be connected.\n *\n * @returns {Promise<void>}\n */\n waitForMediaConnectionConnected(): Promise<void> {\n const isConnected = () =>\n this.webrtcMediaConnection.getConnectionState() === ConnectionState.Connected;\n\n if (isConnected()) {\n return Promise.resolve();\n }\n\n return new Promise<void>((resolve, reject) => {\n let timer;\n\n const connectionStateListener = () => {\n LoggerProxy.logger.log(\n `Media:properties#waitForMediaConnectionConnected --> connection state: ${this.webrtcMediaConnection.getConnectionState()}`\n );\n\n if (isConnected()) {\n clearTimeout(timer);\n this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n resolve();\n }\n };\n\n timer = setTimeout(() => {\n this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n reject();\n }, ICE_AND_DTLS_CONNECTION_TIMEOUT);\n\n this.webrtcMediaConnection.on(Event.CONNECTION_STATE_CHANGED, connectionStateListener);\n });\n }\n\n /**\n * Returns the type of a connection that has been established\n *\n * @returns {Promise<'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'>}\n */\n async getCurrentConnectionType() {\n // we can only get the connection type after ICE connection has been established\n await this.waitForMediaConnectionConnected();\n\n const allStatsReports = [];\n\n try {\n const statsResult = await this.webrtcMediaConnection.getStats();\n statsResult.forEach((report) => allStatsReports.push(report));\n } catch (error) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> getStats() failed: ${error}`\n );\n }\n\n const successfulCandidatePairs = allStatsReports.filter(\n (report) => report.type === 'candidate-pair' && report.state?.toLowerCase() === 'succeeded'\n );\n\n let foundConnectionType = 'unknown';\n\n // all of the successful pairs should have the same connection type, so just return the type for the first one\n successfulCandidatePairs.some((pair) => {\n const localCandidate = allStatsReports.find(\n (report) => report.type === 'local-candidate' && report.id === pair.localCandidateId\n );\n\n if (localCandidate === undefined) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> failed to find local candidate \"${pair.localCandidateId}\" in getStats() results`\n );\n\n return false;\n }\n\n let connectionType;\n\n if (localCandidate.relayProtocol) {\n connectionType = `TURN-${localCandidate.relayProtocol.toUpperCase()}`;\n } else {\n connectionType = localCandidate.protocol?.toUpperCase(); // it will be UDP or TCP\n }\n\n if (connectionType) {\n foundConnectionType = connectionType;\n\n return true;\n }\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> missing localCandidate.protocol, candidateType=${localCandidate.candidateType}`\n );\n\n return false;\n });\n\n if (foundConnectionType === 'unknown') {\n const candidatePairStates = allStatsReports\n .filter((report) => report.type === 'candidate-pair')\n .map((report) => report.state);\n\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionType --> all candidate pair states: ${JSON.stringify(\n candidatePairStates\n )}`\n );\n }\n\n return foundConnectionType;\n }\n}\n"],"mappings":"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"}
@@ -1,31 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
14
-
15
10
  /* globals MediaStream */
16
- var MediaUtil = {};
17
11
 
12
+ var MediaUtil = {};
18
13
  MediaUtil.createMediaStream = function (tracks) {
19
14
  if (!tracks) {
20
- _loggerProxy.default.logger.error('Media:util#createMediaStream --> Tracks don\'t exist');
15
+ _loggerProxy.default.logger.error("Media:util#createMediaStream --> Tracks don't exist");
21
16
  }
22
-
23
17
  var filtredTracks = tracks.filter(function (element) {
24
18
  return !!element;
25
19
  });
26
20
  return new MediaStream(filtredTracks);
27
21
  };
28
-
29
22
  var _default = MediaUtil;
30
23
  exports.default = _default;
31
24
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MediaUtil","createMediaStream","tracks","LoggerProxy","logger","error","filtredTracks","filter","element","MediaStream"],"sources":["util.js"],"sourcesContent":["/* globals MediaStream */\n\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nconst MediaUtil = {};\n\nMediaUtil.createMediaStream = (tracks) => {\n if (!tracks) {\n LoggerProxy.logger.error('Media:util#createMediaStream --> Tracks don\\'t exist');\n }\n const filtredTracks = tracks.filter((element) => !!element);\n\n return new MediaStream(filtredTracks);\n};\n\nexport default MediaUtil;\n"],"mappings":";;;;;;;;;;;;AAEA;;AAFA;AAIA,IAAMA,SAAS,GAAG,EAAlB;;AAEAA,SAAS,CAACC,iBAAV,GAA8B,UAACC,MAAD,EAAY;EACxC,IAAI,CAACA,MAAL,EAAa;IACXC,oBAAA,CAAYC,MAAZ,CAAmBC,KAAnB,CAAyB,sDAAzB;EACD;;EACD,IAAMC,aAAa,GAAGJ,MAAM,CAACK,MAAP,CAAc,UAACC,OAAD;IAAA,OAAa,CAAC,CAACA,OAAf;EAAA,CAAd,CAAtB;EAEA,OAAO,IAAIC,WAAJ,CAAgBH,aAAhB,CAAP;AACD,CAPD;;eASeN,S"}
1
+ {"version":3,"names":["MediaUtil","createMediaStream","tracks","LoggerProxy","logger","error","filtredTracks","filter","element","MediaStream"],"sources":["util.ts"],"sourcesContent":["/* globals MediaStream */\n\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nconst MediaUtil: any = {};\n\nMediaUtil.createMediaStream = (tracks) => {\n if (!tracks) {\n LoggerProxy.logger.error(\"Media:util#createMediaStream --> Tracks don't exist\");\n }\n const filtredTracks = tracks.filter((element) => !!element);\n\n return new MediaStream(filtredTracks);\n};\n\nexport default MediaUtil;\n"],"mappings":";;;;;;;;AAEA;AAFA;;AAIA,IAAMA,SAAc,GAAG,CAAC,CAAC;AAEzBA,SAAS,CAACC,iBAAiB,GAAG,UAACC,MAAM,EAAK;EACxC,IAAI,CAACA,MAAM,EAAE;IACXC,oBAAW,CAACC,MAAM,CAACC,KAAK,CAAC,qDAAqD,CAAC;EACjF;EACA,IAAMC,aAAa,GAAGJ,MAAM,CAACK,MAAM,CAAC,UAACC,OAAO;IAAA,OAAK,CAAC,CAACA,OAAO;EAAA,EAAC;EAE3D,OAAO,IAAIC,WAAW,CAACH,aAAa,CAAC;AACvC,CAAC;AAAC,eAEaN,SAAS;AAAA"}