@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.200

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 (576) hide show
  1. package/README.md +45 -7
  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/parameter.js +5 -33
  39. package/dist/common/errors/parameter.js.map +1 -1
  40. package/dist/common/errors/password-error.js +10 -24
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.js +9 -23
  43. package/dist/common/errors/permission.js.map +1 -1
  44. package/dist/common/errors/reconnection-in-progress.js +0 -17
  45. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  46. package/dist/common/errors/reconnection.js +10 -24
  47. package/dist/common/errors/reconnection.js.map +1 -1
  48. package/dist/common/errors/stats.js +10 -24
  49. package/dist/common/errors/stats.js.map +1 -1
  50. package/dist/common/errors/webex-errors.js +9 -43
  51. package/dist/common/errors/webex-errors.js.map +1 -1
  52. package/dist/common/errors/webex-meetings-error.js +5 -25
  53. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  54. package/dist/common/events/events-scope.js +0 -22
  55. package/dist/common/events/events-scope.js.map +1 -1
  56. package/dist/common/events/events.js +0 -23
  57. package/dist/common/events/events.js.map +1 -1
  58. package/dist/common/events/trigger-proxy.js +0 -12
  59. package/dist/common/events/trigger-proxy.js.map +1 -1
  60. package/dist/common/events/util.js +0 -15
  61. package/dist/common/events/util.js.map +1 -1
  62. package/dist/common/logs/logger-config.js +0 -4
  63. package/dist/common/logs/logger-config.js.map +1 -1
  64. package/dist/common/logs/logger-proxy.js +1 -8
  65. package/dist/common/logs/logger-proxy.js.map +1 -1
  66. package/dist/common/logs/request.js +37 -60
  67. package/dist/common/logs/request.js.map +1 -1
  68. package/dist/common/queue.js +28 -23
  69. package/dist/common/queue.js.map +1 -1
  70. package/dist/config.js +8 -13
  71. package/dist/config.js.map +1 -1
  72. package/dist/constants.js +250 -66
  73. package/dist/constants.js.map +1 -1
  74. package/dist/controls-options-manager/constants.js +14 -0
  75. package/dist/controls-options-manager/constants.js.map +1 -0
  76. package/dist/controls-options-manager/enums.js +27 -0
  77. package/dist/controls-options-manager/enums.js.map +1 -0
  78. package/dist/controls-options-manager/index.js +297 -0
  79. package/dist/controls-options-manager/index.js.map +1 -0
  80. package/dist/controls-options-manager/types.js +7 -0
  81. package/dist/controls-options-manager/types.js.map +1 -0
  82. package/dist/controls-options-manager/util.js +319 -0
  83. package/dist/controls-options-manager/util.js.map +1 -0
  84. package/dist/index.js +108 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/interpretation/collection.js +23 -0
  87. package/dist/interpretation/collection.js.map +1 -0
  88. package/dist/interpretation/index.js +366 -0
  89. package/dist/interpretation/index.js.map +1 -0
  90. package/dist/interpretation/siLanguage.js +25 -0
  91. package/dist/interpretation/siLanguage.js.map +1 -0
  92. package/dist/locus-info/controlsUtils.js +101 -29
  93. package/dist/locus-info/controlsUtils.js.map +1 -1
  94. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  95. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  96. package/dist/locus-info/fullState.js +0 -15
  97. package/dist/locus-info/fullState.js.map +1 -1
  98. package/dist/locus-info/hostUtils.js +4 -12
  99. package/dist/locus-info/hostUtils.js.map +1 -1
  100. package/dist/locus-info/index.js +532 -240
  101. package/dist/locus-info/index.js.map +1 -1
  102. package/dist/locus-info/infoUtils.js +3 -37
  103. package/dist/locus-info/infoUtils.js.map +1 -1
  104. package/dist/locus-info/mediaSharesUtils.js +54 -38
  105. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  106. package/dist/locus-info/parser.js +284 -154
  107. package/dist/locus-info/parser.js.map +1 -1
  108. package/dist/locus-info/selfUtils.js +110 -92
  109. package/dist/locus-info/selfUtils.js.map +1 -1
  110. package/dist/media/index.js +95 -226
  111. package/dist/media/index.js.map +1 -1
  112. package/dist/media/properties.js +99 -194
  113. package/dist/media/properties.js.map +1 -1
  114. package/dist/media/util.js +2 -9
  115. package/dist/media/util.js.map +1 -1
  116. package/dist/mediaQualityMetrics/config.js +505 -495
  117. package/dist/mediaQualityMetrics/config.js.map +1 -1
  118. package/dist/meeting/in-meeting-actions.js +83 -14
  119. package/dist/meeting/in-meeting-actions.js.map +1 -1
  120. package/dist/meeting/index.js +3478 -3563
  121. package/dist/meeting/index.js.map +1 -1
  122. package/dist/meeting/locusMediaRequest.js +291 -0
  123. package/dist/meeting/locusMediaRequest.js.map +1 -0
  124. package/dist/meeting/muteState.js +247 -183
  125. package/dist/meeting/muteState.js.map +1 -1
  126. package/dist/meeting/request.js +344 -344
  127. package/dist/meeting/request.js.map +1 -1
  128. package/dist/meeting/request.type.js +7 -0
  129. package/dist/meeting/request.type.js.map +1 -0
  130. package/dist/meeting/state.js +21 -31
  131. package/dist/meeting/state.js.map +1 -1
  132. package/dist/meeting/util.js +529 -588
  133. package/dist/meeting/util.js.map +1 -1
  134. package/dist/meeting-info/collection.js +6 -25
  135. package/dist/meeting-info/collection.js.map +1 -1
  136. package/dist/meeting-info/index.js +62 -39
  137. package/dist/meeting-info/index.js.map +1 -1
  138. package/dist/meeting-info/meeting-info-v2.js +328 -283
  139. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  140. package/dist/meeting-info/request.js +3 -15
  141. package/dist/meeting-info/request.js.map +1 -1
  142. package/dist/meeting-info/util.js +98 -183
  143. package/dist/meeting-info/util.js.map +1 -1
  144. package/dist/meeting-info/utilv2.js +156 -232
  145. package/dist/meeting-info/utilv2.js.map +1 -1
  146. package/dist/meetings/collection.js +26 -19
  147. package/dist/meetings/collection.js.map +1 -1
  148. package/dist/meetings/index.js +795 -574
  149. package/dist/meetings/index.js.map +1 -1
  150. package/dist/meetings/meetings.types.js +7 -0
  151. package/dist/meetings/meetings.types.js.map +1 -0
  152. package/dist/meetings/request.js +26 -41
  153. package/dist/meetings/request.js.map +1 -1
  154. package/dist/meetings/util.js +186 -155
  155. package/dist/meetings/util.js.map +1 -1
  156. package/dist/member/index.js +126 -85
  157. package/dist/member/index.js.map +1 -1
  158. package/dist/member/types.js +25 -0
  159. package/dist/member/types.js.map +1 -0
  160. package/dist/member/util.js +147 -88
  161. package/dist/member/util.js.map +1 -1
  162. package/dist/members/collection.js +13 -12
  163. package/dist/members/collection.js.map +1 -1
  164. package/dist/members/index.js +178 -204
  165. package/dist/members/index.js.map +1 -1
  166. package/dist/members/request.js +113 -68
  167. package/dist/members/request.js.map +1 -1
  168. package/dist/members/types.js +15 -0
  169. package/dist/members/types.js.map +1 -0
  170. package/dist/members/util.js +314 -260
  171. package/dist/members/util.js.map +1 -1
  172. package/dist/metrics/constants.js +4 -7
  173. package/dist/metrics/constants.js.map +1 -1
  174. package/dist/metrics/index.js +11 -558
  175. package/dist/metrics/index.js.map +1 -1
  176. package/dist/multistream/mediaRequestManager.js +264 -50
  177. package/dist/multistream/mediaRequestManager.js.map +1 -1
  178. package/dist/multistream/receiveSlot.js +58 -65
  179. package/dist/multistream/receiveSlot.js.map +1 -1
  180. package/dist/multistream/receiveSlotManager.js +76 -95
  181. package/dist/multistream/receiveSlotManager.js.map +1 -1
  182. package/dist/multistream/remoteMedia.js +62 -76
  183. package/dist/multistream/remoteMedia.js.map +1 -1
  184. package/dist/multistream/remoteMediaGroup.js +66 -43
  185. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  186. package/dist/multistream/remoteMediaManager.js +502 -442
  187. package/dist/multistream/remoteMediaManager.js.map +1 -1
  188. package/dist/networkQualityMonitor/index.js +40 -59
  189. package/dist/networkQualityMonitor/index.js.map +1 -1
  190. package/dist/personal-meeting-room/index.js +21 -45
  191. package/dist/personal-meeting-room/index.js.map +1 -1
  192. package/dist/personal-meeting-room/request.js +1 -31
  193. package/dist/personal-meeting-room/request.js.map +1 -1
  194. package/dist/personal-meeting-room/util.js +0 -13
  195. package/dist/personal-meeting-room/util.js.map +1 -1
  196. package/dist/reachability/index.js +192 -191
  197. package/dist/reachability/index.js.map +1 -1
  198. package/dist/reachability/request.js +15 -23
  199. package/dist/reachability/request.js.map +1 -1
  200. package/dist/reactions/constants.js +13 -0
  201. package/dist/reactions/constants.js.map +1 -0
  202. package/dist/reactions/reactions.js +109 -0
  203. package/dist/reactions/reactions.js.map +1 -0
  204. package/dist/reactions/reactions.type.js +36 -0
  205. package/dist/reactions/reactions.type.js.map +1 -0
  206. package/dist/reconnection-manager/index.js +384 -476
  207. package/dist/reconnection-manager/index.js.map +1 -1
  208. package/dist/recording-controller/enums.js +17 -0
  209. package/dist/recording-controller/enums.js.map +1 -0
  210. package/dist/recording-controller/index.js +363 -0
  211. package/dist/recording-controller/index.js.map +1 -0
  212. package/dist/recording-controller/util.js +64 -0
  213. package/dist/recording-controller/util.js.map +1 -0
  214. package/dist/roap/index.js +58 -91
  215. package/dist/roap/index.js.map +1 -1
  216. package/dist/roap/request.js +137 -135
  217. package/dist/roap/request.js.map +1 -1
  218. package/dist/roap/turnDiscovery.js +148 -100
  219. package/dist/roap/turnDiscovery.js.map +1 -1
  220. package/dist/rtcMetrics/constants.js +12 -0
  221. package/dist/rtcMetrics/constants.js.map +1 -0
  222. package/dist/rtcMetrics/index.js +115 -0
  223. package/dist/rtcMetrics/index.js.map +1 -0
  224. package/dist/statsAnalyzer/global.js +1 -95
  225. package/dist/statsAnalyzer/global.js.map +1 -1
  226. package/dist/statsAnalyzer/index.js +385 -460
  227. package/dist/statsAnalyzer/index.js.map +1 -1
  228. package/dist/statsAnalyzer/mqaUtil.js +143 -87
  229. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  230. package/dist/transcription/index.js +22 -47
  231. package/dist/transcription/index.js.map +1 -1
  232. package/dist/types/annotation/annotation.types.d.ts +42 -0
  233. package/dist/types/annotation/constants.d.ts +31 -0
  234. package/dist/types/annotation/index.d.ts +117 -0
  235. package/dist/types/breakouts/breakout.d.ts +8 -0
  236. package/dist/types/breakouts/collection.d.ts +5 -0
  237. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  238. package/dist/types/breakouts/events.d.ts +8 -0
  239. package/dist/types/breakouts/index.d.ts +5 -0
  240. package/dist/types/breakouts/request.d.ts +22 -0
  241. package/dist/types/breakouts/utils.d.ts +15 -0
  242. package/dist/types/common/browser-detection.d.ts +9 -0
  243. package/dist/types/common/collection.d.ts +48 -0
  244. package/dist/types/common/config.d.ts +2 -0
  245. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  246. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  247. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  248. package/dist/types/common/errors/media.d.ts +15 -0
  249. package/dist/types/common/errors/parameter.d.ts +15 -0
  250. package/dist/types/common/errors/password-error.d.ts +15 -0
  251. package/dist/types/common/errors/permission.d.ts +14 -0
  252. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  253. package/dist/types/common/errors/reconnection.d.ts +15 -0
  254. package/dist/types/common/errors/stats.d.ts +15 -0
  255. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  256. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  257. package/dist/types/common/events/events-scope.d.ts +17 -0
  258. package/dist/types/common/events/events.d.ts +12 -0
  259. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  260. package/dist/types/common/events/util.d.ts +2 -0
  261. package/dist/types/common/logs/logger-config.d.ts +2 -0
  262. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  263. package/dist/types/common/logs/request.d.ts +34 -0
  264. package/dist/types/common/queue.d.ts +34 -0
  265. package/dist/types/config.d.ts +72 -0
  266. package/dist/types/constants.d.ts +1016 -0
  267. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  268. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  269. package/dist/types/controls-options-manager/index.d.ts +136 -0
  270. package/dist/types/controls-options-manager/types.d.ts +43 -0
  271. package/dist/types/controls-options-manager/util.d.ts +1 -0
  272. package/dist/types/index.d.ts +7 -0
  273. package/dist/types/interpretation/collection.d.ts +5 -0
  274. package/dist/types/interpretation/index.d.ts +5 -0
  275. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  276. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  277. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  278. package/dist/types/locus-info/fullState.d.ts +2 -0
  279. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  280. package/dist/types/locus-info/index.d.ts +322 -0
  281. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  282. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  283. package/dist/types/locus-info/parser.d.ts +271 -0
  284. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  285. package/dist/types/media/index.d.ts +34 -0
  286. package/dist/types/media/properties.d.ts +93 -0
  287. package/dist/types/media/util.d.ts +2 -0
  288. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  289. package/dist/types/meeting/in-meeting-actions.d.ts +153 -0
  290. package/dist/types/meeting/index.d.ts +1471 -0
  291. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  292. package/dist/types/meeting/muteState.d.ts +184 -0
  293. package/dist/types/meeting/request.d.ts +257 -0
  294. package/dist/types/meeting/request.type.d.ts +11 -0
  295. package/dist/types/meeting/state.d.ts +9 -0
  296. package/dist/types/meeting/util.d.ts +78 -0
  297. package/dist/types/meeting-info/collection.d.ts +20 -0
  298. package/dist/types/meeting-info/index.d.ts +62 -0
  299. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  300. package/dist/types/meeting-info/request.d.ts +22 -0
  301. package/dist/types/meeting-info/util.d.ts +2 -0
  302. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  303. package/dist/types/meetings/collection.d.ts +31 -0
  304. package/dist/types/meetings/index.d.ts +367 -0
  305. package/dist/types/meetings/meetings.types.d.ts +4 -0
  306. package/dist/types/meetings/request.d.ts +27 -0
  307. package/dist/types/meetings/util.d.ts +18 -0
  308. package/dist/types/member/index.d.ts +159 -0
  309. package/dist/types/member/types.d.ts +32 -0
  310. package/dist/types/member/util.d.ts +2 -0
  311. package/dist/types/members/collection.d.ts +29 -0
  312. package/dist/types/members/index.d.ts +353 -0
  313. package/dist/types/members/request.d.ts +114 -0
  314. package/dist/types/members/types.d.ts +24 -0
  315. package/dist/types/members/util.d.ts +210 -0
  316. package/dist/types/metrics/constants.d.ts +55 -0
  317. package/dist/types/metrics/index.d.ts +45 -0
  318. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  319. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  320. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  321. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  322. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  323. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  324. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  325. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  326. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  327. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  328. package/dist/types/reachability/index.d.ts +152 -0
  329. package/dist/types/reachability/request.d.ts +37 -0
  330. package/dist/types/reactions/constants.d.ts +3 -0
  331. package/dist/types/reactions/reactions.d.ts +4 -0
  332. package/dist/types/reactions/reactions.type.d.ts +52 -0
  333. package/dist/types/reconnection-manager/index.d.ts +126 -0
  334. package/dist/types/recording-controller/enums.d.ts +7 -0
  335. package/dist/types/recording-controller/index.d.ts +208 -0
  336. package/dist/types/recording-controller/util.d.ts +14 -0
  337. package/dist/types/roap/index.d.ts +77 -0
  338. package/dist/types/roap/request.d.ts +36 -0
  339. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  340. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  341. package/dist/types/rtcMetrics/index.d.ts +46 -0
  342. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  343. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  344. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  345. package/dist/types/transcription/index.d.ts +64 -0
  346. package/internal-README.md +7 -6
  347. package/package.json +29 -21
  348. package/src/annotation/annotation.types.ts +50 -0
  349. package/src/annotation/constants.ts +36 -0
  350. package/src/annotation/index.ts +328 -0
  351. package/src/breakouts/README.md +220 -0
  352. package/src/breakouts/breakout.ts +188 -0
  353. package/src/breakouts/collection.ts +19 -0
  354. package/src/breakouts/edit-lock-error.ts +25 -0
  355. package/src/breakouts/events.ts +56 -0
  356. package/src/breakouts/index.ts +925 -0
  357. package/src/breakouts/request.ts +55 -0
  358. package/src/breakouts/utils.ts +57 -0
  359. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  360. package/src/common/collection.ts +9 -7
  361. package/src/common/{config.js → config.ts} +1 -1
  362. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  363. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  364. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  365. package/src/common/errors/{media.js → media.ts} +11 -7
  366. package/src/common/errors/parameter.ts +11 -7
  367. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  368. package/src/common/errors/{permission.js → permission.ts} +10 -6
  369. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  370. package/src/common/errors/{stats.js → stats.ts} +11 -7
  371. package/src/common/errors/{webex-errors.js → webex-errors.ts} +14 -9
  372. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  373. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  374. package/src/common/events/{events.js → events.ts} +5 -1
  375. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  376. package/src/common/events/{util.js → util.ts} +2 -3
  377. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  378. package/src/common/logs/logger-proxy.ts +44 -0
  379. package/src/common/logs/{request.js → request.ts} +22 -9
  380. package/src/common/queue.ts +22 -9
  381. package/src/{config.js → config.ts} +17 -17
  382. package/src/constants.ts +197 -22
  383. package/src/controls-options-manager/constants.ts +5 -0
  384. package/src/controls-options-manager/enums.ts +18 -0
  385. package/src/controls-options-manager/index.ts +278 -0
  386. package/src/controls-options-manager/types.ts +59 -0
  387. package/src/controls-options-manager/util.ts +300 -0
  388. package/src/index.ts +39 -0
  389. package/src/interpretation/README.md +60 -0
  390. package/src/interpretation/collection.ts +19 -0
  391. package/src/interpretation/index.ts +332 -0
  392. package/src/interpretation/siLanguage.ts +18 -0
  393. package/src/locus-info/controlsUtils.ts +222 -0
  394. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  395. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  396. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  397. package/src/locus-info/{index.js → index.ts} +518 -111
  398. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  399. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +65 -17
  400. package/src/locus-info/{parser.js → parser.ts} +271 -98
  401. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  402. package/src/media/index.ts +456 -0
  403. package/src/media/{properties.js → properties.ts} +80 -102
  404. package/src/media/{util.js → util.ts} +2 -2
  405. package/src/mediaQualityMetrics/config.ts +384 -0
  406. package/src/meeting/in-meeting-actions.ts +171 -3
  407. package/src/meeting/index.ts +7070 -0
  408. package/src/meeting/locusMediaRequest.ts +309 -0
  409. package/src/meeting/muteState.ts +450 -0
  410. package/src/meeting/{request.js → request.ts} +354 -214
  411. package/src/meeting/request.type.ts +13 -0
  412. package/src/meeting/{state.js → state.ts} +50 -35
  413. package/src/meeting/util.ts +615 -0
  414. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  415. package/src/meeting-info/index.ts +183 -0
  416. package/src/meeting-info/meeting-info-v2.ts +407 -0
  417. package/src/meeting-info/{request.js → request.ts} +14 -4
  418. package/src/meeting-info/{util.js → util.ts} +60 -51
  419. package/src/meeting-info/{utilv2.js → utilv2.ts} +77 -60
  420. package/src/meetings/{collection.js → collection.ts} +26 -3
  421. package/src/meetings/index.ts +1467 -0
  422. package/src/meetings/meetings.types.ts +12 -0
  423. package/src/meetings/{request.js → request.ts} +34 -25
  424. package/src/meetings/{util.js → util.ts} +137 -36
  425. package/src/member/{index.js → index.ts} +151 -56
  426. package/src/member/types.ts +38 -0
  427. package/src/member/util.ts +383 -0
  428. package/src/members/{collection.js → collection.ts} +10 -2
  429. package/src/members/{index.js → index.ts} +323 -145
  430. package/src/members/request.ts +255 -0
  431. package/src/members/types.ts +28 -0
  432. package/src/members/util.ts +339 -0
  433. package/src/metrics/{constants.js → constants.ts} +2 -6
  434. package/src/metrics/index.ts +73 -0
  435. package/src/multistream/mediaRequestManager.ts +337 -61
  436. package/src/multistream/receiveSlot.ts +69 -26
  437. package/src/multistream/receiveSlotManager.ts +66 -42
  438. package/src/multistream/remoteMedia.ts +40 -5
  439. package/src/multistream/remoteMediaGroup.ts +63 -3
  440. package/src/multistream/remoteMediaManager.ts +263 -66
  441. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  442. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  443. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  444. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  445. package/src/reachability/{index.js → index.ts} +157 -94
  446. package/src/reachability/request.ts +46 -35
  447. package/src/reactions/constants.ts +4 -0
  448. package/src/reactions/reactions.ts +104 -0
  449. package/src/reactions/reactions.type.ts +62 -0
  450. package/src/reconnection-manager/{index.js → index.ts} +254 -136
  451. package/src/recording-controller/enums.ts +8 -0
  452. package/src/recording-controller/index.ts +333 -0
  453. package/src/recording-controller/util.ts +75 -0
  454. package/src/roap/{index.js → index.ts} +86 -78
  455. package/src/roap/request.ts +163 -0
  456. package/src/roap/turnDiscovery.ts +111 -49
  457. package/src/rtcMetrics/constants.ts +3 -0
  458. package/src/rtcMetrics/index.ts +96 -0
  459. package/src/statsAnalyzer/global.ts +37 -0
  460. package/src/statsAnalyzer/index.ts +1272 -0
  461. package/src/statsAnalyzer/mqaUtil.ts +291 -0
  462. package/src/transcription/{index.js → index.ts} +46 -39
  463. package/test/integration/spec/converged-space-meetings.js +233 -0
  464. package/test/integration/spec/journey.js +804 -526
  465. package/test/integration/spec/space-meeting.js +391 -204
  466. package/test/integration/spec/transcription.js +7 -8
  467. package/test/unit/spec/annotation/index.ts +418 -0
  468. package/test/unit/spec/breakouts/breakout.ts +237 -0
  469. package/test/unit/spec/breakouts/collection.ts +15 -0
  470. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  471. package/test/unit/spec/breakouts/events.ts +89 -0
  472. package/test/unit/spec/breakouts/index.ts +1790 -0
  473. package/test/unit/spec/breakouts/request.ts +104 -0
  474. package/test/unit/spec/breakouts/utils.js +72 -0
  475. package/test/unit/spec/common/browser-detection.js +9 -28
  476. package/test/unit/spec/common/queue.js +31 -2
  477. package/test/unit/spec/controls-options-manager/index.js +287 -0
  478. package/test/unit/spec/controls-options-manager/util.js +582 -0
  479. package/test/unit/spec/fixture/locus.js +93 -90
  480. package/test/unit/spec/interpretation/collection.ts +15 -0
  481. package/test/unit/spec/interpretation/index.ts +589 -0
  482. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  483. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  484. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  485. package/test/unit/spec/locus-info/index.js +1176 -18
  486. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  487. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  488. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  489. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  490. package/test/unit/spec/locus-info/parser.js +65 -31
  491. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  492. package/test/unit/spec/locus-info/selfUtils.js +296 -12
  493. package/test/unit/spec/media/index.ts +162 -68
  494. package/test/unit/spec/media/properties.ts +9 -9
  495. package/test/unit/spec/meeting/in-meeting-actions.ts +82 -3
  496. package/test/unit/spec/meeting/index.js +4569 -1773
  497. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  498. package/test/unit/spec/meeting/muteState.js +382 -211
  499. package/test/unit/spec/meeting/request.js +444 -78
  500. package/test/unit/spec/meeting/utils.js +517 -192
  501. package/test/unit/spec/meeting-info/index.js +181 -0
  502. package/test/unit/spec/meeting-info/meetinginfov2.js +481 -76
  503. package/test/unit/spec/meeting-info/request.js +7 -9
  504. package/test/unit/spec/meeting-info/util.js +11 -12
  505. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  506. package/test/unit/spec/meetings/collection.js +15 -1
  507. package/test/unit/spec/meetings/index.js +1254 -330
  508. package/test/unit/spec/meetings/utils.js +220 -14
  509. package/test/unit/spec/member/index.js +58 -5
  510. package/test/unit/spec/member/util.js +494 -26
  511. package/test/unit/spec/members/index.js +423 -55
  512. package/test/unit/spec/members/request.js +228 -40
  513. package/test/unit/spec/members/utils.js +191 -4
  514. package/test/unit/spec/metrics/index.js +12 -66
  515. package/test/unit/spec/multistream/mediaRequestManager.ts +1013 -106
  516. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  517. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  518. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  519. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  520. package/test/unit/spec/multistream/remoteMediaManager.ts +730 -65
  521. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  522. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  523. package/test/unit/spec/reachability/index.ts +176 -27
  524. package/test/unit/spec/reachability/request.js +66 -0
  525. package/test/unit/spec/reconnection-manager/index.js +155 -9
  526. package/test/unit/spec/recording-controller/index.js +307 -0
  527. package/test/unit/spec/recording-controller/util.js +229 -0
  528. package/test/unit/spec/roap/index.ts +28 -52
  529. package/test/unit/spec/roap/request.ts +225 -0
  530. package/test/unit/spec/roap/turnDiscovery.ts +92 -50
  531. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  532. package/test/unit/spec/stats-analyzer/index.js +116 -60
  533. package/test/utils/cmr.js +44 -42
  534. package/test/utils/constants.js +9 -0
  535. package/test/utils/integrationTestUtils.js +46 -0
  536. package/test/utils/testUtils.js +63 -99
  537. package/test/utils/webex-config.js +22 -18
  538. package/test/utils/webex-test-users.js +57 -50
  539. package/tsconfig.json +6 -0
  540. package/dist/media/internal-media-core-wrapper.js +0 -22
  541. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  542. package/dist/meeting/effectsState.js +0 -327
  543. package/dist/meeting/effectsState.js.map +0 -1
  544. package/dist/metrics/config.js +0 -301
  545. package/dist/metrics/config.js.map +0 -1
  546. package/dist/multistream/multistreamMedia.js +0 -116
  547. package/dist/multistream/multistreamMedia.js.map +0 -1
  548. package/dist/peer-connection-manager/util.js +0 -124
  549. package/dist/peer-connection-manager/util.js.map +0 -1
  550. package/src/common/logs/logger-proxy.js +0 -33
  551. package/src/index.js +0 -15
  552. package/src/locus-info/controlsUtils.js +0 -102
  553. package/src/media/index.js +0 -459
  554. package/src/media/internal-media-core-wrapper.ts +0 -9
  555. package/src/mediaQualityMetrics/config.js +0 -382
  556. package/src/meeting/effectsState.js +0 -205
  557. package/src/meeting/index.js +0 -6284
  558. package/src/meeting/muteState.js +0 -318
  559. package/src/meeting/util.js +0 -506
  560. package/src/meeting-info/index.js +0 -131
  561. package/src/meeting-info/meeting-info-v2.js +0 -255
  562. package/src/meetings/index.js +0 -1015
  563. package/src/member/util.js +0 -254
  564. package/src/members/request.js +0 -131
  565. package/src/members/util.js +0 -258
  566. package/src/metrics/config.js +0 -324
  567. package/src/metrics/index.js +0 -530
  568. package/src/multistream/multistreamMedia.ts +0 -92
  569. package/src/peer-connection-manager/util.ts +0 -117
  570. package/src/roap/request.js +0 -127
  571. package/src/statsAnalyzer/global.js +0 -133
  572. package/src/statsAnalyzer/index.js +0 -1006
  573. package/src/statsAnalyzer/mqaUtil.js +0 -173
  574. package/test/unit/spec/meeting/effectsState.js +0 -291
  575. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  576. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["errorDescription","UNKNOWN_CALL_FAILURE","LOCUS_RATE_LIMITED_INCOMING","LOCUS_RATE_LIMITED_OUTGOING","LOCUS_UNAVAILABLE","LOCUS_CONFLICT","TIMEOUT","LOCUS_INVALID_SEQUENCE_HASH","UPDATE_MEDIA_FAILED","FAILED_TO_CONNECT_MEDIA","MEDIA_ENGINE_LOST","MEDIA_CONNECTION_LOST","ICE_FAILURE","MEDIA_ENGINE_HANG","ICE_SERVER_REJECTED","CALL_FULL","ROOM_TOO_LARGE","GUEST_ALREADY_ADDED","LOCUS_USER_NOT_AUTHORISED","CLOUDBERRY_UNAVAILABLE","ROOM_TOO_LARGE_FREE_ACCOUNT","MEETING_INACTIVE","MEETING_LOCKED","MEETING_TERMINATING","MODERATOR_PIN_OR_GUEST_REQUIRED","MODERATOR_PIN_OR_GUEST_PIN_REQUIRED","MODERATOR_REQUIRED","USER_NOT_MEMBER_OF_ROOM","NEW_LOCUS_ERROR","NET_WORK_UNAVAILABLE","MEETING_UNAVAILABLE","MEETING_ID_INVALID","MEETING_SITE_INVALID","LOCUS_INVALID_JOINTIME","LOBBY_EXPIRED","MEDIA_CONNECTION_LOST_PAIRED","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","REMOVED_PARTICIPANT","MEETING_LINK_NOT_FOUND","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","INVALID_INVITEE_ADDRESS","PMR_USER_ACCOUNT_LOCKED_OUT","GUEST_FORBIDDEN","PMR_ACCOUNT_SUSPENDED","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","CONVERSATION_NOT_FOUND","SIP_CALLEE_BUSY","SIP_CALLEE_NOT_FOUND","START_RECORDING_FAILED","RECORDING_IN_PROGRESS_FAILED","errorCategory","SIGNALING","MEDIA","OTHER","EXPECTED","errorFailureType","CALL_INITIATION_FAILURE","MEDIA_CONNECTION_FAILURE","EXPECTED_FAILURE","ACCESS_RIGHTS","eventType","MEDIA_QUALITY","CALL_INITIATED","MERCURY_CONNECTION_LOST","MERCURY_CONNECTION_RESTORED","MOVE_MEDIA","LOCAL_SDP_GENERATED","REMOTE_SDP_RECEIVED","LOCUS_JOIN_REQUEST","LOCUS_JOIN_RESPONSE","ALERT_DISPLAYED","ICE_START","ICE_END","ICE_DISCONNECT","RECEIVING_MEDIA_START","RECEIVING_MEDIA_STOP","SENDING_MEDIA_START","SENDING_MEDIA_STOP","MEDIA_RENDER_START","MEDIA_RENDER_STOP","MEDIA_CAPABILITIES","MEDIA_RECONNECTING","MEDIA_RECOVERED","CALL_ABORTED","PIN_PROMPT","PIN_COLLECTED","LOBBY_ENTERED","LOBBY_EXITED","SHARE_INITIATED","SHARE_STOPPED","LOCAL_SHARE_FLOOR_GRANTED","SHARE_LAYOUT_DISPLAYED","WHITEBOARD_SHARE_INITIATED","WHITEBOARD_SHARE_STOPPED","WHITEBOARD_SHARE_FLOOR_GRANTED","MUTED","UNMUTED","LEAVE","REMOTE_ENDED","REMOTE_STARTED","MEDIA_REQUEST","MEDIA_RESPONSE","PSTN_AUDIO_ATTEMPT_START","PSTN_AUDIO_ATTEMPT_FINISH","PSTN_AUDIO_ATTEMPT_SKIP","error","name","MEDIA_ENGINE","ICE_FAILED","LOCUS_RESPONSE","LOCUS_LEAVE","notFatalErrorList","errors","trigger","USER_INTERACTION","MERCURY_EVENT","LOCI_UPDATE","MEDIA_ENGINE_EVENT","pstnAudioType","DIAL_IN","DIAL_OUT","displayLocation","TOAST","ROOM_LIST","CALL_PANE","CALL_VIEW","mediaType","AUDIO","VIDEO","SHARE","WHITEBOARD","reconnection","RECOVERED_BY_NEW","RECOVERED_BY_RETRY","errorCodes","USER_CREATE_FAILED","USER_ALREADY_PARTICIPANT","CONVO_ALREADY_EXISTS","ALREADY_ANNOUNCEMENT_SPACE","NOT_ANNOUNCEMENT_SPACE","USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE","TEMP_ID_ALREADY_EXISTS","PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID","statusCodes","NETWORK_OR_CORS","BAD_REQUEST","FORBIDDEN","NOT_FOUND","CONFLICT","errorObjects","category","media","expected","mediaEngine","UNKNOWN","OS_NAME","WINDOWS","MAC","IOS","ANDROID","CHROME","LINUX","OTHERS","CLIENT_NAME","PLATFORM"],"sources":["config.js"],"sourcesContent":["\n\nconst errorDescription = {\n UNKNOWN_CALL_FAILURE: 'UnknownCallFailure',\n LOCUS_RATE_LIMITED_INCOMING: 'LocusRateLimitedIncoming',\n LOCUS_RATE_LIMITED_OUTGOING: 'LocusRateLimitedOutgoing',\n LOCUS_UNAVAILABLE: 'LocusUnavailable',\n LOCUS_CONFLICT: 'LocusConflict',\n TIMEOUT: 'Timeout',\n LOCUS_INVALID_SEQUENCE_HASH: 'LocusInvalidSequenceHash',\n UPDATE_MEDIA_FAILED: 'UpdateMediaFailed',\n FAILED_TO_CONNECT_MEDIA: 'FailedToConnectMedia',\n MEDIA_ENGINE_LOST: 'MediaEngineLost',\n MEDIA_CONNECTION_LOST: 'MediaConnectionLost',\n ICE_FAILURE: 'IceFailure',\n MEDIA_ENGINE_HANG: 'MediaEngineHang',\n ICE_SERVER_REJECTED: 'IceServerRejected',\n CALL_FULL: 'CallFull',\n ROOM_TOO_LARGE: 'RoomTooLarge',\n GUEST_ALREADY_ADDED: 'GuestAlreadyAdded',\n LOCUS_USER_NOT_AUTHORISED: 'LocusUserNotAuthorised',\n CLOUDBERRY_UNAVAILABLE: 'CloudberryUnavailable',\n ROOM_TOO_LARGE_FREE_ACCOUNT: 'RoomTooLarge_FreeAccount',\n MEETING_INACTIVE: 'MeetingInactive',\n MEETING_LOCKED: 'MeetingLocked',\n MEETING_TERMINATING: 'MeetingTerminating',\n MODERATOR_PIN_OR_GUEST_REQUIRED: 'Moderator_Pin_Or_Guest_Required',\n MODERATOR_PIN_OR_GUEST_PIN_REQUIRED: 'Moderator_Pin_Or_Guest_PIN_Required',\n MODERATOR_REQUIRED: 'Moderator_Required',\n USER_NOT_MEMBER_OF_ROOM: 'UserNotMemberOfRoom',\n NEW_LOCUS_ERROR: 'NewLocusError',\n NET_WORK_UNAVAILABLE: 'NetworkUnavailable',\n MEETING_UNAVAILABLE: 'MeetingUnavailable',\n MEETING_ID_INVALID: 'MeetingIDInvalid',\n MEETING_SITE_INVALID: 'MeetingSiteInvalid',\n LOCUS_INVALID_JOINTIME: 'LocusInvalidJoinTime',\n LOBBY_EXPIRED: 'LobbyExpired',\n MEDIA_CONNECTION_LOST_PAIRED: 'MediaConnectionLostPaired',\n PHONE_NUMBER_NOT_A_NUMBER: 'PhoneNumberNotANumber',\n PHONE_NUMBER_TOO_LONG: 'PhoneNumberTooLong',\n INVALID_DIALABLE_KEY: 'InvalidDialableKey',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'OneOnOneToSelfNotAllowed',\n REMOVED_PARTICIPANT: 'RemovedParticipant',\n MEETING_LINK_NOT_FOUND: 'MeetingLinkNotFound',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PhoneNumberTooShortAfterIdd',\n INVALID_INVITEE_ADDRESS: 'InvalidInviteeAddress',\n PMR_USER_ACCOUNT_LOCKED_OUT: 'PMRUserAccountLockedOut',\n GUEST_FORBIDDEN: 'GuestForbidden',\n PMR_ACCOUNT_SUSPENDED: 'PMRAccountSuspended',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EmptyPhoneNumberOrCountryCode',\n CONVERSATION_NOT_FOUND: 'ConversationNotFound',\n SIP_CALLEE_BUSY: 'SIPCalleeBusy',\n SIP_CALLEE_NOT_FOUND: 'SIPCalleeNotFound',\n START_RECORDING_FAILED: 'StartRecordingFailed',\n RECORDING_IN_PROGRESS_FAILED: 'RecordingInProgressFailed'\n};\n\nconst errorCategory = {\n SIGNALING: 'signaling',\n MEDIA: 'media',\n OTHER: 'other',\n EXPECTED: 'expected'\n};\n\nconst errorFailureType = {\n CALL_INITIATION_FAILURE: 'CallInitiationFailure',\n MEDIA_CONNECTION_FAILURE: 'MediaConnectionFailure',\n EXPECTED_FAILURE: 'ExpectedFailure',\n ACCESS_RIGHTS: 'AccessRights'\n};\n\nexport const eventType = {\n // media quality events every 60 seconds\n MEDIA_QUALITY: 'client.mediaquality.event',\n CALL_INITIATED: 'client.call.initiated',\n MERCURY_CONNECTION_LOST: 'client.mercury.connection.lost',\n MERCURY_CONNECTION_RESTORED: 'client.mercury.connection.restored',\n MOVE_MEDIA: 'client.call.move-media',\n LOCAL_SDP_GENERATED: 'client.media-engine.local-sdp-generated',\n REMOTE_SDP_RECEIVED: 'client.media-engine.remote-sdp-received',\n LOCUS_JOIN_REQUEST: 'client.locus.join.request',\n LOCUS_JOIN_RESPONSE: 'client.locus.join.response',\n ALERT_DISPLAYED: 'client.alert.displayed',\n // when ICE negotiation starts\n ICE_START: 'client.ice.start',\n ICE_END: 'client.ice.end',\n ICE_DISCONNECT: 'client.ice.disconnect',\n // Fired when the media engine reports receiving a new media stream. Media events MUST have the mediaType property.\n RECEIVING_MEDIA_START: 'client.media.rx.start',\n // Fired when the media engine reports the end of receiving a media stream.\n // Media events MUST have the mediaType property.\n RECEIVING_MEDIA_STOP: 'client.media.rx.stop',\n // Fired when the media engine reports sending a new media stream. Media events MUST have the mediaType property.\n SENDING_MEDIA_START: 'client.media.tx.start',\n // Fired when the media engine reports it stopped sending a media stream.\n // Media events MUST have the mediaType property.\n SENDING_MEDIA_STOP: 'client.media.tx.stop',\n MEDIA_RENDER_START: 'client.media.render.start',\n MEDIA_RENDER_STOP: 'client.media.render.stop',\n // static media event when outside of the normal scenario\n // call-analyzer assumes that a client is capable of receiving audio, video, and share\n // fired on change, or at beginning of a call\n // every media type is required, so must be indicated with boolean\n MEDIA_CAPABILITIES: 'client.media.capabilities',\n // Sent when the client notices that a media session has been lost\n MEDIA_RECONNECTING: 'client.media.reconnecting',\n // Sent when the client recovers a media session that was lost\n MEDIA_RECOVERED: 'client.media.recovered',\n CALL_ABORTED: 'client.call.aborted',\n // Fired when the \"please enter your PIN\" or similar prompt is displayed\n // to the user, to authenticate them into the meeting\n PIN_PROMPT: 'client.pin.prompt',\n // Fired when PIN entry has been completed\n PIN_COLLECTED: 'client.pin.collected',\n // Fired when the client displays the native lobby\n LOBBY_ENTERED: 'client.lobby.entered',\n // Fired when the client leaves the native lobby\n LOBBY_EXITED: 'client.lobby.exited',\n // Fired when the user of the client starts a share (e.g. click 'Share' button).\n // This should be sent from all clients that support sending a share.\n SHARE_INITIATED: 'client.share.initiated',\n // Fired when the user stops sharing (usually when they click the 'Stop' button for share)\n SHARE_STOPPED: 'client.share.stopped',\n // When the client receives a successful response from locus indicating that it has the floor for content sharing.\n LOCAL_SHARE_FLOOR_GRANTED: 'client.share.floor-granted.local',\n // Fired when the client changes its local UI/layout to a content sharing view,\n // because it is expecting to display share media.\n SHARE_LAYOUT_DISPLAYED: 'client.share.layout.displayed',\n // Fired when the user of the client starts a whiteboard share (e.g. click 'Share Live' button).\n WHITEBOARD_SHARE_INITIATED: 'client.whiteboard.share.initiated',\n // Fired when the meeting floor is released for whiteboard share\n WHITEBOARD_SHARE_STOPPED: 'client.whiteboard.share.stopped',\n // When the client receives a successful response from locus indicating that it has the floor for whiteboard sharing.\n WHITEBOARD_SHARE_FLOOR_GRANTED: 'client.whiteboard.share.floor-granted',\n MUTED: 'client.muted',\n UNMUTED: 'client.unmuted',\n LEAVE: 'client.call.leave',\n REMOTE_ENDED: 'client.call.remote-ended',\n REMOTE_STARTED: 'client.call.remote-started',\n MEDIA_REQUEST: 'client.locus.media.request',\n MEDIA_RESPONSE: 'client.locus.media.response',\n PSTN_AUDIO_ATTEMPT_START: 'client.pstnaudio.attempt.start',\n PSTN_AUDIO_ATTEMPT_FINISH: 'client.pstnaudio.attempt.finish',\n PSTN_AUDIO_ATTEMPT_SKIP: 'client.pstnaudio.attempt.skip'\n};\n\nexport const error = {\n name: {\n MEDIA_ENGINE: 'media-engine',\n ICE_FAILED: 'ice.failed',\n LOCUS_RESPONSE: 'locus.response',\n LOCUS_LEAVE: 'locus.leave',\n OTHER: 'other'\n },\n\n notFatalErrorList: [3003, 3004, 4004, 4005, 4006, 4015],\n errors: {\n // https://sqbu-github.cisco.com/WebExSquared/event-dictionary/wiki/Error-codes-for-metric-events\n // [errorDescription, errorFailureType, errorCategory]\n 1000: [errorDescription.UNKNOWN_CALL_FAILURE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1001: [errorDescription.LOCUS_RATE_LIMITED_INCOMING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1002: [errorDescription.LOCUS_RATE_LIMITED_OUTGOING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1003: [errorDescription.LOCUS_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1004: [errorDescription.LOCUS_CONFLICT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1005: [errorDescription.TIMEOUT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1006: [errorDescription.LOCUS_INVALID_SEQUENCE_HASH,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1007: [errorDescription.UPDATE_MEDIA_FAILED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 2001: [errorDescription.FAILED_TO_CONNECT_MEDIA,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2002: [errorDescription.MEDIA_ENGINE_LOST, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2003: [errorDescription.MEDIA_CONNECTION_LOST,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2004: [errorDescription.ICE_FAILURE, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2005: [errorDescription.MEDIA_ENGINE_HANG, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2006: [errorDescription.ICE_SERVER_REJECTED, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 3001: [errorDescription.CALL_FULL, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3002: [errorDescription.ROOM_TOO_LARGE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3004: [errorDescription.GUEST_ALREADY_ADDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3005: [errorDescription.LOCUS_USER_NOT_AUTHORISED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3006: [errorDescription.CLOUDBERRY_UNAVAILABLE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3007: [errorDescription.ROOM_TOO_LARGE_FREE_ACCOUNT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4001: [errorDescription.MEETING_INACTIVE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4002: [errorDescription.MEETING_LOCKED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4003: [errorDescription.MEETING_TERMINATING, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4004: [errorDescription.MODERATOR_PIN_OR_GUEST_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4005: [errorDescription.MODERATOR_PIN_OR_GUEST_PIN_REQUIRED,\n errorFailureType.ACCESS_RIGHTS,\n errorCategory.EXPECTED\n ],\n 4006: [errorDescription.MODERATOR_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4007: [errorDescription.USER_NOT_MEMBER_OF_ROOM, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4008: [errorDescription.NEW_LOCUS_ERROR, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4009: [errorDescription.NET_WORK_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4010: [errorDescription.MEETING_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4011: [errorDescription.MEETING_ID_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4012: [errorDescription.MEETING_SITE_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4013: [errorDescription.LOCUS_INVALID_JOINTIME, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4014: [errorDescription.LOBBY_EXPIRED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4015: [errorDescription.MEDIA_CONNECTION_LOST_PAIRED,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.EXPECTED\n ],\n 4016: [errorDescription.PHONE_NUMBER_NOT_A_NUMBER, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4017: [errorDescription.PHONE_NUMBER_TOO_LONG, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4018: [errorDescription.INVALID_DIALABLE_KEY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4019: [errorDescription.ONE_ON_ONE_TO_SELF_NOT_ALLOWED,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4020: [errorDescription.REMOVED_PARTICIPANT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4021: [errorDescription.MEETING_LINK_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4022: [errorDescription.PHONE_NUMBER_TOO_SHORT_AFTER_IDD,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4023: [errorDescription.INVALID_INVITEE_ADDRESS, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4024: [errorDescription.PMR_USER_ACCOUNT_LOCKED_OUT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4025: [errorDescription.GUEST_FORBIDDEN, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4026: [errorDescription.PMR_ACCOUNT_SUSPENDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4027: [errorDescription.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4028: [errorDescription.CONVERSATION_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4029: [errorDescription.START_RECORDING_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4030: [errorDescription.RECORDING_IN_PROGRESS_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5000: [errorDescription.SIP_CALLEE_BUSY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5001: [errorDescription.SIP_CALLEE_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED]\n }\n};\n\nexport const trigger = {\n USER_INTERACTION: 'user-interaction',\n MERCURY_EVENT: 'mercury-event',\n LOCI_UPDATE: 'loci-update',\n MEDIA_ENGINE_EVENT: 'media-engine-event',\n TIMEOUT: 'timeout',\n SIGNALING: 'signaling',\n OTHER: 'other'\n};\n\nexport const pstnAudioType = {\n DIAL_IN: 'dial-in',\n DIAL_OUT: 'dial-out'\n};\n\nexport const displayLocation = {\n TOAST: 'toast',\n ROOM_LIST: 'room-list',\n CALL_PANE: 'call-pane',\n CALL_VIEW: 'call-view',\n OTHER: 'other'\n};\n\nexport const mediaType = {\n AUDIO: 'audio',\n VIDEO: 'video',\n SHARE: 'share',\n WHITEBOARD: 'whiteboard'\n};\n\nexport const reconnection = {\n RECOVERED_BY_NEW: 'new', // always set to new due to /media request, no retries with ice restart\n RECOVERED_BY_RETRY: 'retry'\n};\n\n\nexport const errorCodes = {\n // ordered by error code values\n USER_CREATE_FAILED: 1400006,\n USER_ALREADY_PARTICIPANT: 1403001,\n CONVO_ALREADY_EXISTS: 1403010,\n ALREADY_ANNOUNCEMENT_SPACE: 1403014,\n NOT_ANNOUNCEMENT_SPACE: 1403015,\n USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE: 1403016,\n TEMP_ID_ALREADY_EXISTS: 1409001,\n PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID: 14000015\n};\nexport const statusCodes = {\n // ordered by status codes\n NETWORK_OR_CORS: 0,\n BAD_REQUEST: 400,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n CONFLICT: 409\n};\n\nexport const errorObjects = {\n category: {\n media: 'media',\n expected: 'expected'\n },\n name: {\n mediaEngine: 'media-engine'\n }\n};\n\nexport const UNKNOWN = 'unknown';\n\nexport const OS_NAME = {\n WINDOWS: 'windows',\n MAC: 'mac',\n IOS: 'ios',\n ANDROID: 'android',\n CHROME: 'chrome',\n LINUX: 'linux',\n OTHERS: 'other'\n};\n\nexport const CLIENT_NAME = 'webex-js-sdk';\nexport const PLATFORM = 'Web';\n"],"mappings":"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"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
- _Object$defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
-
11
- exports.MultistreamMedia = void 0;
12
-
13
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
-
15
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
16
-
17
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
-
19
- var _constants = require("../constants");
20
-
21
- var _muteState = _interopRequireDefault(require("../meeting/muteState"));
22
-
23
- /* eslint-disable import/prefer-default-export */
24
-
25
- /**
26
- * Class wrapping all the multistream specific APIs that need to be exposed at meeting level.
27
- *
28
- */
29
- var MultistreamMedia = /*#__PURE__*/function () {
30
- /**
31
- * Constructor
32
- * @param {Meeting} meeting
33
- */
34
- function MultistreamMedia(meeting) {
35
- (0, _classCallCheck2.default)(this, MultistreamMedia);
36
- (0, _defineProperty2.default)(this, "meeting", void 0);
37
- this.meeting = meeting;
38
- }
39
- /**
40
- * throws if we don't have a media connection created
41
- */
42
-
43
-
44
- (0, _createClass2.default)(MultistreamMedia, [{
45
- key: "checkMediaConnection",
46
- value: function checkMediaConnection() {
47
- var _this$meeting, _this$meeting$mediaPr;
48
-
49
- if ((_this$meeting = this.meeting) !== null && _this$meeting !== void 0 && (_this$meeting$mediaPr = _this$meeting.mediaProperties) !== null && _this$meeting$mediaPr !== void 0 && _this$meeting$mediaPr.webrtcMediaConnection) {
50
- return;
51
- }
52
-
53
- throw new Error('Webrtc media connection is missing');
54
- }
55
- /**
56
- * Publishes a local track in the meeting
57
- *
58
- * @param {MediaStreamTrack} track
59
- * @returns {Promise}
60
- */
61
-
62
- }, {
63
- key: "publishTrack",
64
- value: function publishTrack(track) {
65
- this.checkMediaConnection();
66
- /* todo: for now we don't support screen share (waiting for server to support bundling, see SPARK-377812)
67
- for sharing:
68
- we have to call meeting.stopFloorRequest() before unpublishing a track
69
- we have to call meeting.share() after publishing a track
70
- */
71
- // todo: depending on how muting is done with Local tracks, this code here might need to change...
72
-
73
- if (track.kind === 'audio') {
74
- this.meeting.setLocalAudioTrack(track);
75
- this.meeting.mediaProperties.mediaDirection.sendAudio = true; // audio state could be undefined if you have not sent audio before
76
-
77
- this.meeting.audio = this.meeting.audio || (0, _muteState.default)(_constants.AUDIO, this.meeting, this.meeting.mediaProperties.mediaDirection);
78
- } else if (track.kind === 'video') {
79
- this.meeting.setLocalVideoTrack(track);
80
- this.meeting.mediaProperties.mediaDirection.sendVideo = true; // video state could be undefined if you have not sent video before
81
-
82
- this.meeting.video = this.meeting.video || (0, _muteState.default)(_constants.VIDEO, this.meeting, this.meeting.mediaProperties.mediaDirection);
83
- }
84
-
85
- return this.meeting.mediaProperties.webrtcMediaConnection.publishTrack(track);
86
- }
87
- /**
88
- * Unpublishes a local track in the meeting
89
- *
90
- * @param {MediaStreamTrack} track
91
- * @returns {Promise}
92
- */
93
-
94
- }, {
95
- key: "unpublishTrack",
96
- value: function unpublishTrack(track) {
97
- // todo: see todos in publishTrack() - they all apply here too:
98
- // screen sharing - SPARK-377812
99
- // muting etc
100
- if (track.kind === 'audio') {
101
- this.meeting.setLocalVideoTrack(null);
102
- this.meeting.mediaProperties.mediaDirection.sendAudio = false;
103
- } else if (track.kind === 'video') {
104
- this.meeting.setLocalAudioTrack(null);
105
- this.meeting.mediaProperties.mediaDirection.sendVideo = false;
106
- }
107
-
108
- this.checkMediaConnection();
109
- return this.meeting.mediaProperties.webrtcMediaConnection.unpublishTrack(track);
110
- }
111
- }]);
112
- return MultistreamMedia;
113
- }();
114
-
115
- exports.MultistreamMedia = MultistreamMedia;
116
- //# sourceMappingURL=multistreamMedia.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["MultistreamMedia","meeting","mediaProperties","webrtcMediaConnection","Error","track","checkMediaConnection","kind","setLocalAudioTrack","mediaDirection","sendAudio","audio","createMuteState","AUDIO","setLocalVideoTrack","sendVideo","video","VIDEO","publishTrack","unpublishTrack"],"sources":["multistreamMedia.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\n\nimport {AUDIO, VIDEO} from '../constants';\nimport createMuteState from '../meeting/muteState';\nimport Meeting from '../meeting';\n\n/**\n * Class wrapping all the multistream specific APIs that need to be exposed at meeting level.\n *\n */\nexport class MultistreamMedia {\n private meeting: Meeting;\n\n /**\n * Constructor\n * @param {Meeting} meeting\n */\n constructor(meeting: Meeting) {\n this.meeting = meeting;\n }\n\n /**\n * throws if we don't have a media connection created\n */\n private checkMediaConnection() {\n if (this.meeting?.mediaProperties?.webrtcMediaConnection) {\n return;\n }\n throw new Error('Webrtc media connection is missing');\n }\n\n /**\n * Publishes a local track in the meeting\n *\n * @param {MediaStreamTrack} track\n * @returns {Promise}\n */\n publishTrack(track: MediaStreamTrack): Promise<void> {\n this.checkMediaConnection();\n\n /* todo: for now we don't support screen share (waiting for server to support bundling, see SPARK-377812)\n for sharing:\n we have to call meeting.stopFloorRequest() before unpublishing a track\n we have to call meeting.share() after publishing a track\n */\n\n // todo: depending on how muting is done with Local tracks, this code here might need to change...\n\n if (track.kind === 'audio') {\n this.meeting.setLocalAudioTrack(track);\n this.meeting.mediaProperties.mediaDirection.sendAudio = true;\n\n // audio state could be undefined if you have not sent audio before\n this.meeting.audio =\n this.meeting.audio ||\n createMuteState(AUDIO, this.meeting, this.meeting.mediaProperties.mediaDirection);\n } else if (track.kind === 'video') {\n this.meeting.setLocalVideoTrack(track);\n this.meeting.mediaProperties.mediaDirection.sendVideo = true;\n\n // video state could be undefined if you have not sent video before\n this.meeting.video =\n this.meeting.video ||\n createMuteState(VIDEO, this.meeting, this.meeting.mediaProperties.mediaDirection);\n }\n\n return this.meeting.mediaProperties.webrtcMediaConnection.publishTrack(track);\n }\n\n /**\n * Unpublishes a local track in the meeting\n *\n * @param {MediaStreamTrack} track\n * @returns {Promise}\n */\n unpublishTrack(track: MediaStreamTrack): Promise<void> {\n // todo: see todos in publishTrack() - they all apply here too:\n // screen sharing - SPARK-377812\n // muting etc\n\n if (track.kind === 'audio') {\n this.meeting.setLocalVideoTrack(null);\n this.meeting.mediaProperties.mediaDirection.sendAudio = false;\n } else if (track.kind === 'video') {\n this.meeting.setLocalAudioTrack(null);\n this.meeting.mediaProperties.mediaDirection.sendVideo = false;\n }\n this.checkMediaConnection();\n\n return this.meeting.mediaProperties.webrtcMediaConnection.unpublishTrack(track);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA;;AACA;;AAHA;;AAMA;AACA;AACA;AACA;IACaA,gB;EAGX;AACF;AACA;AACA;EACE,0BAAYC,OAAZ,EAA8B;IAAA;IAAA;IAC5B,KAAKA,OAAL,GAAeA,OAAf;EACD;EAED;AACF;AACA;;;;;WACE,gCAA+B;MAAA;;MAC7B,qBAAI,KAAKA,OAAT,mEAAI,cAAcC,eAAlB,kDAAI,sBAA+BC,qBAAnC,EAA0D;QACxD;MACD;;MACD,MAAM,IAAIC,KAAJ,CAAU,oCAAV,CAAN;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,sBAAaC,KAAb,EAAqD;MACnD,KAAKC,oBAAL;MAEA;AACJ;AACA;AACA;AACA;MAEI;;MAEA,IAAID,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QAC1B,KAAKN,OAAL,CAAaO,kBAAb,CAAgCH,KAAhC;QACA,KAAKJ,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CC,SAA5C,GAAwD,IAAxD,CAF0B,CAI1B;;QACA,KAAKT,OAAL,CAAaU,KAAb,GACE,KAAKV,OAAL,CAAaU,KAAb,IACA,IAAAC,kBAAA,EAAgBC,gBAAhB,EAAuB,KAAKZ,OAA5B,EAAqC,KAAKA,OAAL,CAAaC,eAAb,CAA6BO,cAAlE,CAFF;MAGD,CARD,MAQO,IAAIJ,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QACjC,KAAKN,OAAL,CAAaa,kBAAb,CAAgCT,KAAhC;QACA,KAAKJ,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CM,SAA5C,GAAwD,IAAxD,CAFiC,CAIjC;;QACA,KAAKd,OAAL,CAAae,KAAb,GACE,KAAKf,OAAL,CAAae,KAAb,IACA,IAAAJ,kBAAA,EAAgBK,gBAAhB,EAAuB,KAAKhB,OAA5B,EAAqC,KAAKA,OAAL,CAAaC,eAAb,CAA6BO,cAAlE,CAFF;MAGD;;MAED,OAAO,KAAKR,OAAL,CAAaC,eAAb,CAA6BC,qBAA7B,CAAmDe,YAAnD,CAAgEb,KAAhE,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,wBAAeA,KAAf,EAAuD;MACrD;MACA;MACA;MAEA,IAAIA,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QAC1B,KAAKN,OAAL,CAAaa,kBAAb,CAAgC,IAAhC;QACA,KAAKb,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CC,SAA5C,GAAwD,KAAxD;MACD,CAHD,MAGO,IAAIL,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QACjC,KAAKN,OAAL,CAAaO,kBAAb,CAAgC,IAAhC;QACA,KAAKP,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CM,SAA5C,GAAwD,KAAxD;MACD;;MACD,KAAKT,oBAAL;MAEA,OAAO,KAAKL,OAAL,CAAaC,eAAb,CAA6BC,qBAA7B,CAAmDgB,cAAnD,CAAkEd,KAAlE,CAAP;IACD"}
@@ -1,124 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
- _Object$defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
-
11
- exports.default = void 0;
12
-
13
- var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/parse-int"));
14
-
15
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
16
-
17
- var _tsSdp = require("@webex/ts-sdp");
18
-
19
- var PeerConnectionUtils = {}; // max-fs values for all H264 profile levels
20
-
21
- var maxFsForProfileLevel = {
22
- 10: 99,
23
- 11: 396,
24
- 12: 396,
25
- 13: 396,
26
- 20: 396,
27
- 21: 792,
28
- 22: 1620,
29
- 30: 1620,
30
- 31: 3600,
31
- 32: 5120,
32
- 40: 8192,
33
- 41: 8192,
34
- 42: 8704,
35
- 50: 22080,
36
- 51: 36864,
37
- 52: 36864,
38
- 60: 139264,
39
- 61: 139264,
40
- 62: 139264
41
- };
42
- var framesPerSecond = 30;
43
- /**
44
- * Convert C line to IPv4
45
- * @param {string} sdp
46
- * @returns {string}
47
- */
48
-
49
- PeerConnectionUtils.convertCLineToIpv4 = function (sdp) {
50
- var replaceSdp = sdp; // TODO: remove this once linus supports Ipv6 c line.currently linus rejects SDP with c line having ipv6 candidates we are
51
- // mocking ipv6 to ipv4 candidates
52
- // https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-299232
53
-
54
- replaceSdp = replaceSdp.replace(/c=IN IP6 .*/gi, 'c=IN IP4 0.0.0.0');
55
- return replaceSdp;
56
- };
57
- /**
58
- * estimate profile levels for max-fs & max-mbps values
59
- * @param {string} sdp
60
- * @param {number} maxFsValue
61
- * @returns {string}
62
- */
63
-
64
-
65
- PeerConnectionUtils.adjustH264Profile = function (sdp, maxFsValue) {
66
- // converting with ts-sdp parser, no munging
67
- var parsedSdp = (0, _tsSdp.parse)(sdp);
68
- parsedSdp.avMedia.forEach(function (media) {
69
- if (media.type === 'video') {
70
- media.codecs.forEach(function (codec) {
71
- var _codec$name;
72
-
73
- if (((_codec$name = codec.name) === null || _codec$name === void 0 ? void 0 : _codec$name.toUpperCase()) === 'H264') {
74
- // there should really be just 1 fmtp line, but just in case, we process all of them
75
- codec.fmtParams = codec.fmtParams.map(function (fmtp) {
76
- var parsedRegex = fmtp.match(/(.*)profile-level-id=(\w{4})(\w{2})(.*)/);
77
-
78
- if (parsedRegex && parsedRegex.length === 5) {
79
- var stuffBeforeProfileLevelId = parsedRegex[1];
80
- var profile = parsedRegex[2].toLowerCase();
81
- var levelId = (0, _parseInt2.default)(parsedRegex[3], 16);
82
- var stuffAfterProfileLevelId = parsedRegex[4];
83
-
84
- if (!maxFsForProfileLevel[levelId]) {
85
- throw new Error("found unsupported h264 profile level id value in the SDP: ".concat(levelId));
86
- }
87
-
88
- if (maxFsForProfileLevel[levelId] === maxFsValue) {
89
- // profile level already matches our desired max-fs value, so we don't need to do anything
90
- return fmtp;
91
- }
92
-
93
- if (maxFsForProfileLevel[levelId] < maxFsValue) {
94
- // profile level has too low max-fs, so we need to override it (this is upgrading)
95
- return "".concat(fmtp, ";max-fs=").concat(maxFsValue, ";max-mbps=").concat(maxFsValue * framesPerSecond);
96
- } // profile level has too high max-fs value, so we need to use a lower level
97
- // find highest level that has the matching maxFs
98
-
99
-
100
- var newLevelId = (0, _keys.default)(maxFsForProfileLevel).reverse().find(function (key) {
101
- return maxFsForProfileLevel[key] === maxFsValue;
102
- });
103
-
104
- if (newLevelId) {
105
- // Object.keys returns keys as strings, so we need to parse it to an int again and then convert to hex
106
- var newLevelIdHex = (0, _parseInt2.default)(newLevelId, 10).toString(16);
107
- return "".concat(stuffBeforeProfileLevelId, "profile-level-id=").concat(profile).concat(newLevelIdHex, ";max-mbps=").concat(maxFsValue * framesPerSecond).concat(stuffAfterProfileLevelId);
108
- }
109
-
110
- throw new Error("unsupported maxFsValue: ".concat(maxFsValue));
111
- }
112
-
113
- return fmtp;
114
- });
115
- }
116
- });
117
- }
118
- });
119
- return parsedSdp.toString();
120
- };
121
-
122
- var _default = PeerConnectionUtils;
123
- exports.default = _default;
124
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["PeerConnectionUtils","maxFsForProfileLevel","framesPerSecond","convertCLineToIpv4","sdp","replaceSdp","replace","adjustH264Profile","maxFsValue","parsedSdp","parse","avMedia","forEach","media","type","codecs","codec","name","toUpperCase","fmtParams","map","fmtp","parsedRegex","match","length","stuffBeforeProfileLevelId","profile","toLowerCase","levelId","stuffAfterProfileLevelId","Error","newLevelId","reverse","find","key","newLevelIdHex","toString"],"sources":["util.ts"],"sourcesContent":["import { parse } from '@webex/ts-sdp';\n\ninterface IPeerConnectionUtils {\n convertCLineToIpv4: (sdp: string) => string;\n adjustH264Profile: (sdp: string, maxFsValue: number) => string;\n}\n\nconst PeerConnectionUtils = {} as IPeerConnectionUtils;\n\n// max-fs values for all H264 profile levels\nconst maxFsForProfileLevel = {\n 10: 99,\n 11: 396,\n 12: 396,\n 13: 396,\n 20: 396,\n 21: 792,\n 22: 1620,\n 30: 1620,\n 31: 3600,\n 32: 5120,\n 40: 8192,\n 41: 8192,\n 42: 8704,\n 50: 22080,\n 51: 36864,\n 52: 36864,\n 60: 139264,\n 61: 139264,\n 62: 139264,\n};\n\nconst framesPerSecond = 30;\n\n/**\n * Convert C line to IPv4\n * @param {string} sdp\n * @returns {string}\n */\nPeerConnectionUtils.convertCLineToIpv4 = (sdp: string) => {\n let replaceSdp = sdp;\n\n // TODO: remove this once linus supports Ipv6 c line.currently linus rejects SDP with c line having ipv6 candidates we are\n // mocking ipv6 to ipv4 candidates\n // https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-299232\n replaceSdp = replaceSdp.replace(/c=IN IP6 .*/gi, 'c=IN IP4 0.0.0.0');\n\n return replaceSdp;\n};\n\n/**\n * estimate profile levels for max-fs & max-mbps values\n * @param {string} sdp\n * @param {number} maxFsValue\n * @returns {string}\n */\nPeerConnectionUtils.adjustH264Profile = (sdp: string, maxFsValue: number) => {\n // converting with ts-sdp parser, no munging\n const parsedSdp = parse(sdp);\n\n parsedSdp.avMedia.forEach((media) => {\n if (media.type === 'video') {\n media.codecs.forEach((codec) => {\n if (codec.name?.toUpperCase() === 'H264') {\n // there should really be just 1 fmtp line, but just in case, we process all of them\n codec.fmtParams = codec.fmtParams.map((fmtp) => {\n const parsedRegex = fmtp.match(/(.*)profile-level-id=(\\w{4})(\\w{2})(.*)/);\n\n if (parsedRegex && parsedRegex.length === 5) {\n const stuffBeforeProfileLevelId = parsedRegex[1];\n const profile = parsedRegex[2].toLowerCase();\n const levelId = parseInt(parsedRegex[3], 16);\n const stuffAfterProfileLevelId = parsedRegex[4];\n\n if (!maxFsForProfileLevel[levelId]) {\n throw new Error(\n `found unsupported h264 profile level id value in the SDP: ${levelId}`\n );\n }\n\n if (maxFsForProfileLevel[levelId] === maxFsValue) {\n // profile level already matches our desired max-fs value, so we don't need to do anything\n return fmtp;\n }\n if (maxFsForProfileLevel[levelId] < maxFsValue) {\n // profile level has too low max-fs, so we need to override it (this is upgrading)\n return `${fmtp};max-fs=${maxFsValue};max-mbps=${maxFsValue * framesPerSecond}`;\n }\n\n // profile level has too high max-fs value, so we need to use a lower level\n\n // find highest level that has the matching maxFs\n const newLevelId = Object.keys(maxFsForProfileLevel)\n .reverse()\n .find((key) => maxFsForProfileLevel[key] === maxFsValue);\n\n if (newLevelId) {\n // Object.keys returns keys as strings, so we need to parse it to an int again and then convert to hex\n const newLevelIdHex = parseInt(newLevelId, 10).toString(16);\n\n return `${stuffBeforeProfileLevelId}profile-level-id=${profile}${newLevelIdHex};max-mbps=${maxFsValue * framesPerSecond}${stuffAfterProfileLevelId}`;\n }\n\n throw new Error(`unsupported maxFsValue: ${maxFsValue}`);\n }\n\n return fmtp;\n });\n }\n });\n }\n });\n\n return parsedSdp.toString();\n};\n\nexport default PeerConnectionUtils;\n"],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /* eslint-disable no-unused-vars */
2
- import LoggerConfig from './logger-config';
3
-
4
- const LoggerProxy = {
5
- logger: {
6
- info: (args) => { console.error('LoggerProxy->info#NO LOGGER DEFINED'); },
7
- log: (args) => { console.error('LoggerProxy->log#NO LOGGER DEFINED'); },
8
- error: (args) => { console.error('LoggerProxy->error#NO LOGGER DEFINED'); },
9
- warn: (args) => { console.error('LoggerProxy->warn#NO LOGGER DEFINED'); },
10
- trace: (args) => { console.error('LoggerProxy->trace#NO LOGGER DEFINED'); },
11
- debug: (args) => { console.error('LoggerProxy->debug#NO LOGGER DEFINED'); }
12
- }
13
- };
14
-
15
- LoggerProxy.set = (logger) => {
16
- if (!LoggerConfig.enable) {
17
- LoggerProxy.logger = {
18
- info: () => {},
19
- log: () => {},
20
- error: () => {},
21
- warn: () => {},
22
- trace: () => {},
23
- debug: () => {}
24
- };
25
- }
26
- else {
27
- LoggerProxy.logger = logger;
28
- }
29
- };
30
-
31
- LoggerProxy.get = () => LoggerProxy.logger;
32
-
33
- export default LoggerProxy;
package/src/index.js DELETED
@@ -1,15 +0,0 @@
1
- /* eslint-env browser */
2
- import {registerPlugin} from '@webex/webex-core';
3
-
4
- import Meetings from './meetings';
5
- import config from './config';
6
-
7
- registerPlugin('meetings', Meetings, {
8
- config
9
- });
10
-
11
- export default Meetings;
12
-
13
- export * as CONSTANTS from './constants';
14
-
15
- export {default as TriggerProxy} from './common/events/trigger-proxy';
@@ -1,102 +0,0 @@
1
- import {isEqual} from 'lodash';
2
-
3
- const ControlsUtils = {};
4
-
5
- /**
6
- * Controls
7
- * @typedef {Object} LocusControls
8
- * @property {Object} record
9
- * @property {Boolean} record.recording
10
- * @property {Object} record.meta
11
- * @property {String} record.meta.modifiedBy
12
- */
13
-
14
- /**
15
- * parse the relevant host values that we care about: id
16
- * @param {LocusControls} controls
17
- * @returns {Object} parsedObject - parsed host or null if host was undefined
18
- * @returns {String} parsedObject.recordingId
19
- */
20
- ControlsUtils.parse = (controls) => {
21
- const parsedControls = {...controls};
22
-
23
- if (controls && controls.record) {
24
- parsedControls.record = {
25
- modifiedBy: ControlsUtils.getId(controls),
26
- paused: controls.record.paused ? controls.record.paused : false,
27
- recording: controls.record.recording,
28
- lastModified: controls.record.meta.lastModified
29
- };
30
- }
31
-
32
- if (controls && controls.meetingContainer) {
33
- parsedControls.meetingContainer = {
34
- meetingContainerUrl: controls.meetingContainer.meetingContainerUrl
35
- };
36
- }
37
-
38
- if (controls && controls.transcribe) {
39
- parsedControls.transcribe = {
40
- transcribing: controls.transcribe.transcribing,
41
- caption: controls.transcribe.caption
42
- };
43
- }
44
-
45
- if (controls && controls.entryExitTone) {
46
- parsedControls.entryExitTone = controls.entryExitTone.enabled ? controls.entryExitTone.mode : null;
47
- }
48
-
49
- return parsedControls;
50
- };
51
-
52
- /**
53
- * parses and returns previous state vs current state and triggers the changes.
54
- * @param {LocusControls} oldControls previous state
55
- * @param {LocusControls} newControls current state
56
- * @returns {Object} combination of state plus the changes
57
- */
58
- ControlsUtils.getControls = (oldControls, newControls) => {
59
- const previous = ControlsUtils.parse(oldControls);
60
- const current = ControlsUtils.parse(newControls);
61
-
62
- return {
63
- previous,
64
- current,
65
- updates: {
66
- hasRecordingPausedChanged: current?.record &&
67
- !isEqual(previous?.record?.paused, current.record.paused) &&
68
- (previous?.record?.recording || current?.record?.recording), // see comments directly below
69
-
70
- hasRecordingChanged: current?.record &&
71
- !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
72
- (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
73
-
74
- hasMeetingContainerChanged: current?.meetingContainer &&
75
- !isEqual(previous?.meetingContainer?.meetingContainerUrl,
76
- current?.meetingContainer?.meetingContainerUrl),
77
-
78
- hasTranscribeChanged: current?.transcribe &&
79
- !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
80
- (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
81
-
82
- hasEntryExitToneChanged: !!(newControls.entryExitTone &&
83
- !isEqual(previous?.entryExitTone, current?.entryExitTone) &&
84
- (previous?.entryExitTone || current?.entryExitTone)),
85
- }
86
- };
87
- };
88
-
89
- /**
90
- * Extract the id from the record controls object
91
- * @param {LocusControls} controls
92
- * @returns {String|null}
93
- */
94
- ControlsUtils.getId = (controls) => {
95
- if (controls.record.meta) {
96
- return controls.record.meta.modifiedBy;
97
- }
98
-
99
- return null;
100
- };
101
-
102
- export default ControlsUtils;