@webex/plugin-meetings 3.0.0-beta.13 → 3.0.0-beta.131

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 (519) hide show
  1. package/README.md +45 -1
  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 +48 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.js +355 -0
  9. package/dist/annotation/index.js.map +1 -0
  10. package/dist/breakouts/breakout.js +193 -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 +43 -0
  17. package/dist/breakouts/events.js.map +1 -0
  18. package/dist/breakouts/index.js +994 -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 +5 -26
  31. package/dist/common/errors/captcha-error.js.map +1 -1
  32. package/dist/common/errors/intent-to-join.js +5 -26
  33. package/dist/common/errors/intent-to-join.js.map +1 -1
  34. package/dist/common/errors/join-meeting.js +6 -27
  35. package/dist/common/errors/join-meeting.js.map +1 -1
  36. package/dist/common/errors/media.js +5 -26
  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 +5 -26
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.js +4 -25
  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 +5 -26
  47. package/dist/common/errors/reconnection.js.map +1 -1
  48. package/dist/common/errors/stats.js +5 -26
  49. package/dist/common/errors/stats.js.map +1 -1
  50. package/dist/common/errors/webex-errors.js +6 -41
  51. package/dist/common/errors/webex-errors.js.map +1 -1
  52. package/dist/common/errors/webex-meetings-error.js +1 -24
  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 +35 -61
  67. package/dist/common/logs/request.js.map +1 -1
  68. package/dist/common/queue.js +4 -14
  69. package/dist/common/queue.js.map +1 -1
  70. package/dist/config.js +6 -6
  71. package/dist/config.js.map +1 -1
  72. package/dist/constants.js +203 -53
  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 +294 -0
  83. package/dist/controls-options-manager/util.js.map +1 -0
  84. package/dist/index.js +72 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/locus-info/controlsUtils.js +100 -29
  87. package/dist/locus-info/controlsUtils.js.map +1 -1
  88. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  89. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  90. package/dist/locus-info/fullState.js +0 -15
  91. package/dist/locus-info/fullState.js.map +1 -1
  92. package/dist/locus-info/hostUtils.js +4 -12
  93. package/dist/locus-info/hostUtils.js.map +1 -1
  94. package/dist/locus-info/index.js +406 -216
  95. package/dist/locus-info/index.js.map +1 -1
  96. package/dist/locus-info/infoUtils.js +0 -38
  97. package/dist/locus-info/infoUtils.js.map +1 -1
  98. package/dist/locus-info/mediaSharesUtils.js +54 -38
  99. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  100. package/dist/locus-info/parser.js +88 -123
  101. package/dist/locus-info/parser.js.map +1 -1
  102. package/dist/locus-info/selfUtils.js +105 -91
  103. package/dist/locus-info/selfUtils.js.map +1 -1
  104. package/dist/media/index.js +55 -165
  105. package/dist/media/index.js.map +1 -1
  106. package/dist/media/properties.js +71 -117
  107. package/dist/media/properties.js.map +1 -1
  108. package/dist/media/util.js +2 -9
  109. package/dist/media/util.js.map +1 -1
  110. package/dist/mediaQualityMetrics/config.js +505 -495
  111. package/dist/mediaQualityMetrics/config.js.map +1 -1
  112. package/dist/meeting/in-meeting-actions.js +77 -14
  113. package/dist/meeting/in-meeting-actions.js.map +1 -1
  114. package/dist/meeting/index.js +2603 -2462
  115. package/dist/meeting/index.js.map +1 -1
  116. package/dist/meeting/locusMediaRequest.js +291 -0
  117. package/dist/meeting/locusMediaRequest.js.map +1 -0
  118. package/dist/meeting/muteState.js +292 -138
  119. package/dist/meeting/muteState.js.map +1 -1
  120. package/dist/meeting/request.js +315 -336
  121. package/dist/meeting/request.js.map +1 -1
  122. package/dist/meeting/request.type.js +7 -0
  123. package/dist/meeting/request.type.js.map +1 -0
  124. package/dist/meeting/state.js +21 -31
  125. package/dist/meeting/state.js.map +1 -1
  126. package/dist/meeting/util.js +463 -583
  127. package/dist/meeting/util.js.map +1 -1
  128. package/dist/meeting-info/collection.js +3 -25
  129. package/dist/meeting-info/collection.js.map +1 -1
  130. package/dist/meeting-info/index.js +10 -33
  131. package/dist/meeting-info/index.js.map +1 -1
  132. package/dist/meeting-info/meeting-info-v2.js +305 -286
  133. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  134. package/dist/meeting-info/request.js +1 -16
  135. package/dist/meeting-info/request.js.map +1 -1
  136. package/dist/meeting-info/util.js +98 -183
  137. package/dist/meeting-info/util.js.map +1 -1
  138. package/dist/meeting-info/utilv2.js +156 -232
  139. package/dist/meeting-info/utilv2.js.map +1 -1
  140. package/dist/meetings/collection.js +24 -20
  141. package/dist/meetings/collection.js.map +1 -1
  142. package/dist/meetings/index.js +692 -593
  143. package/dist/meetings/index.js.map +1 -1
  144. package/dist/meetings/request.js +23 -42
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +186 -155
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.js +89 -88
  149. package/dist/member/index.js.map +1 -1
  150. package/dist/member/types.js +15 -0
  151. package/dist/member/types.js.map +1 -0
  152. package/dist/member/util.js +101 -69
  153. package/dist/member/util.js.map +1 -1
  154. package/dist/members/collection.js +12 -12
  155. package/dist/members/collection.js.map +1 -1
  156. package/dist/members/index.js +166 -205
  157. package/dist/members/index.js.map +1 -1
  158. package/dist/members/request.js +120 -85
  159. package/dist/members/request.js.map +1 -1
  160. package/dist/members/types.js +15 -0
  161. package/dist/members/types.js.map +1 -0
  162. package/dist/members/util.js +314 -260
  163. package/dist/members/util.js.map +1 -1
  164. package/dist/metrics/config.js +50 -16
  165. package/dist/metrics/config.js.map +1 -1
  166. package/dist/metrics/constants.js +4 -7
  167. package/dist/metrics/constants.js.map +1 -1
  168. package/dist/metrics/index.js +93 -162
  169. package/dist/metrics/index.js.map +1 -1
  170. package/dist/multistream/mediaRequestManager.js +167 -50
  171. package/dist/multistream/mediaRequestManager.js.map +1 -1
  172. package/dist/multistream/receiveSlot.js +58 -65
  173. package/dist/multistream/receiveSlot.js.map +1 -1
  174. package/dist/multistream/receiveSlotManager.js +74 -93
  175. package/dist/multistream/receiveSlotManager.js.map +1 -1
  176. package/dist/multistream/remoteMedia.js +55 -74
  177. package/dist/multistream/remoteMedia.js.map +1 -1
  178. package/dist/multistream/remoteMediaGroup.js +6 -40
  179. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  180. package/dist/multistream/remoteMediaManager.js +466 -442
  181. package/dist/multistream/remoteMediaManager.js.map +1 -1
  182. package/dist/networkQualityMonitor/index.js +32 -59
  183. package/dist/networkQualityMonitor/index.js.map +1 -1
  184. package/dist/personal-meeting-room/index.js +10 -45
  185. package/dist/personal-meeting-room/index.js.map +1 -1
  186. package/dist/personal-meeting-room/request.js +2 -33
  187. package/dist/personal-meeting-room/request.js.map +1 -1
  188. package/dist/personal-meeting-room/util.js +0 -13
  189. package/dist/personal-meeting-room/util.js.map +1 -1
  190. package/dist/reachability/index.js +190 -199
  191. package/dist/reachability/index.js.map +1 -1
  192. package/dist/reachability/request.js +14 -23
  193. package/dist/reachability/request.js.map +1 -1
  194. package/dist/reactions/constants.js +13 -0
  195. package/dist/reactions/constants.js.map +1 -0
  196. package/dist/reactions/reactions.js +2 -4
  197. package/dist/reactions/reactions.js.map +1 -1
  198. package/dist/reactions/reactions.type.js +19 -23
  199. package/dist/reactions/reactions.type.js.map +1 -1
  200. package/dist/reconnection-manager/index.js +326 -465
  201. package/dist/reconnection-manager/index.js.map +1 -1
  202. package/dist/recording-controller/enums.js +17 -0
  203. package/dist/recording-controller/enums.js.map +1 -0
  204. package/dist/recording-controller/index.js +343 -0
  205. package/dist/recording-controller/index.js.map +1 -0
  206. package/dist/recording-controller/util.js +63 -0
  207. package/dist/recording-controller/util.js.map +1 -0
  208. package/dist/roap/index.js +31 -75
  209. package/dist/roap/index.js.map +1 -1
  210. package/dist/roap/request.js +129 -136
  211. package/dist/roap/request.js.map +1 -1
  212. package/dist/roap/turnDiscovery.js +143 -103
  213. package/dist/roap/turnDiscovery.js.map +1 -1
  214. package/dist/statsAnalyzer/global.js +1 -95
  215. package/dist/statsAnalyzer/global.js.map +1 -1
  216. package/dist/statsAnalyzer/index.js +369 -461
  217. package/dist/statsAnalyzer/index.js.map +1 -1
  218. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  219. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  220. package/dist/transcription/index.js +13 -45
  221. package/dist/transcription/index.js.map +1 -1
  222. package/dist/types/annotation/annotation.types.d.ts +35 -0
  223. package/dist/types/annotation/constants.d.ts +31 -0
  224. package/dist/types/annotation/index.d.ts +124 -0
  225. package/dist/types/breakouts/breakout.d.ts +8 -0
  226. package/dist/types/breakouts/collection.d.ts +5 -0
  227. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  228. package/dist/types/breakouts/events.d.ts +2 -0
  229. package/dist/types/breakouts/index.d.ts +5 -0
  230. package/dist/types/breakouts/request.d.ts +22 -0
  231. package/dist/types/breakouts/utils.d.ts +15 -0
  232. package/dist/types/common/browser-detection.d.ts +9 -0
  233. package/dist/types/common/collection.d.ts +48 -0
  234. package/dist/types/common/config.d.ts +2 -0
  235. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  236. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  237. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  238. package/dist/types/common/errors/media.d.ts +15 -0
  239. package/dist/types/common/errors/parameter.d.ts +15 -0
  240. package/dist/types/common/errors/password-error.d.ts +15 -0
  241. package/dist/types/common/errors/permission.d.ts +14 -0
  242. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  243. package/dist/types/common/errors/reconnection.d.ts +15 -0
  244. package/dist/types/common/errors/stats.d.ts +15 -0
  245. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  246. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  247. package/dist/types/common/events/events-scope.d.ts +17 -0
  248. package/dist/types/common/events/events.d.ts +12 -0
  249. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  250. package/dist/types/common/events/util.d.ts +2 -0
  251. package/dist/types/common/logs/logger-config.d.ts +2 -0
  252. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  253. package/dist/types/common/logs/request.d.ts +34 -0
  254. package/dist/types/common/queue.d.ts +32 -0
  255. package/dist/types/config.d.ts +78 -0
  256. package/dist/types/constants.d.ts +993 -0
  257. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  258. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  259. package/dist/types/controls-options-manager/index.d.ts +136 -0
  260. package/dist/types/controls-options-manager/types.d.ts +43 -0
  261. package/dist/types/controls-options-manager/util.d.ts +1 -0
  262. package/dist/types/index.d.ts +7 -0
  263. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  264. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  265. package/dist/types/locus-info/fullState.d.ts +2 -0
  266. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  267. package/dist/types/locus-info/index.d.ts +315 -0
  268. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  269. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  270. package/dist/types/locus-info/parser.d.ts +212 -0
  271. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  272. package/dist/types/media/index.d.ts +34 -0
  273. package/dist/types/media/properties.d.ts +108 -0
  274. package/dist/types/media/util.d.ts +2 -0
  275. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  276. package/dist/types/meeting/in-meeting-actions.d.ts +147 -0
  277. package/dist/types/meeting/index.d.ts +1762 -0
  278. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  279. package/dist/types/meeting/muteState.d.ts +186 -0
  280. package/dist/types/meeting/request.d.ts +269 -0
  281. package/dist/types/meeting/request.type.d.ts +11 -0
  282. package/dist/types/meeting/state.d.ts +9 -0
  283. package/dist/types/meeting/util.d.ts +76 -0
  284. package/dist/types/meeting-info/collection.d.ts +20 -0
  285. package/dist/types/meeting-info/index.d.ts +57 -0
  286. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  287. package/dist/types/meeting-info/request.d.ts +22 -0
  288. package/dist/types/meeting-info/util.d.ts +2 -0
  289. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  290. package/dist/types/meetings/collection.d.ts +31 -0
  291. package/dist/types/meetings/index.d.ts +345 -0
  292. package/dist/types/meetings/request.d.ts +27 -0
  293. package/dist/types/meetings/util.d.ts +18 -0
  294. package/dist/types/member/index.d.ts +157 -0
  295. package/dist/types/member/types.d.ts +21 -0
  296. package/dist/types/member/util.d.ts +2 -0
  297. package/dist/types/members/collection.d.ts +29 -0
  298. package/dist/types/members/index.d.ts +353 -0
  299. package/dist/types/members/request.d.ts +114 -0
  300. package/dist/types/members/types.d.ts +24 -0
  301. package/dist/types/members/util.d.ts +210 -0
  302. package/dist/types/metrics/config.d.ts +195 -0
  303. package/dist/types/metrics/constants.d.ts +55 -0
  304. package/dist/types/metrics/index.d.ts +169 -0
  305. package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
  306. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  307. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  308. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  309. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  310. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  311. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  312. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  313. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  314. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  315. package/dist/types/reachability/index.d.ts +152 -0
  316. package/dist/types/reachability/request.d.ts +37 -0
  317. package/dist/types/reactions/constants.d.ts +3 -0
  318. package/dist/types/reactions/reactions.d.ts +4 -0
  319. package/dist/types/reactions/reactions.type.d.ts +52 -0
  320. package/dist/types/reconnection-manager/index.d.ts +126 -0
  321. package/dist/types/recording-controller/enums.d.ts +7 -0
  322. package/dist/types/recording-controller/index.d.ts +193 -0
  323. package/dist/types/recording-controller/util.d.ts +13 -0
  324. package/dist/types/roap/index.d.ts +77 -0
  325. package/dist/types/roap/request.d.ts +36 -0
  326. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  327. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  328. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  329. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  330. package/dist/types/transcription/index.d.ts +64 -0
  331. package/internal-README.md +7 -6
  332. package/package.json +28 -21
  333. package/src/annotation/annotation.types.ts +42 -0
  334. package/src/annotation/constants.ts +36 -0
  335. package/src/annotation/index.ts +339 -0
  336. package/src/breakouts/README.md +220 -0
  337. package/src/breakouts/breakout.ts +163 -0
  338. package/src/breakouts/collection.ts +19 -0
  339. package/src/breakouts/edit-lock-error.ts +25 -0
  340. package/src/breakouts/events.ts +37 -0
  341. package/src/breakouts/index.ts +860 -0
  342. package/src/breakouts/request.ts +55 -0
  343. package/src/breakouts/utils.ts +57 -0
  344. package/src/common/browser-detection.ts +9 -6
  345. package/src/common/collection.ts +3 -1
  346. package/src/common/errors/captcha-error.ts +6 -6
  347. package/src/common/errors/intent-to-join.ts +6 -6
  348. package/src/common/errors/join-meeting.ts +12 -8
  349. package/src/common/errors/media.ts +6 -6
  350. package/src/common/errors/parameter.ts +9 -6
  351. package/src/common/errors/password-error.ts +6 -6
  352. package/src/common/errors/permission.ts +5 -5
  353. package/src/common/errors/reconnection.ts +6 -6
  354. package/src/common/errors/stats.ts +6 -6
  355. package/src/common/errors/webex-errors.ts +7 -5
  356. package/src/common/errors/webex-meetings-error.ts +1 -1
  357. package/src/common/events/events-scope.ts +5 -1
  358. package/src/common/events/events.ts +5 -1
  359. package/src/common/events/trigger-proxy.ts +8 -3
  360. package/src/common/events/util.ts +1 -2
  361. package/src/common/logs/logger-proxy.ts +21 -10
  362. package/src/common/logs/request.ts +11 -8
  363. package/src/config.ts +16 -12
  364. package/src/constants.ts +153 -7
  365. package/src/controls-options-manager/constants.ts +5 -0
  366. package/src/controls-options-manager/enums.ts +18 -0
  367. package/src/controls-options-manager/index.ts +278 -0
  368. package/src/controls-options-manager/types.ts +59 -0
  369. package/src/controls-options-manager/util.ts +281 -0
  370. package/src/index.ts +33 -0
  371. package/src/locus-info/controlsUtils.ts +142 -24
  372. package/src/locus-info/fullState.ts +15 -11
  373. package/src/locus-info/hostUtils.ts +4 -3
  374. package/src/locus-info/index.ts +346 -55
  375. package/src/locus-info/infoUtils.ts +12 -4
  376. package/src/locus-info/mediaSharesUtils.ts +52 -4
  377. package/src/locus-info/parser.ts +46 -68
  378. package/src/locus-info/selfUtils.ts +195 -56
  379. package/src/media/index.ts +139 -196
  380. package/src/media/properties.ts +43 -36
  381. package/src/media/util.ts +1 -1
  382. package/src/mediaQualityMetrics/config.ts +380 -378
  383. package/src/meeting/in-meeting-actions.ts +159 -3
  384. package/src/meeting/index.ts +2803 -1584
  385. package/src/meeting/locusMediaRequest.ts +309 -0
  386. package/src/meeting/muteState.ts +290 -72
  387. package/src/meeting/request.ts +247 -178
  388. package/src/meeting/request.type.ts +13 -0
  389. package/src/meeting/state.ts +45 -30
  390. package/src/meeting/util.ts +445 -395
  391. package/src/meeting-info/collection.ts +2 -1
  392. package/src/meeting-info/index.ts +32 -30
  393. package/src/meeting-info/meeting-info-v2.ts +235 -116
  394. package/src/meeting-info/request.ts +9 -3
  395. package/src/meeting-info/util.ts +54 -46
  396. package/src/meeting-info/utilv2.ts +71 -55
  397. package/src/meetings/collection.ts +21 -1
  398. package/src/meetings/index.ts +772 -437
  399. package/src/meetings/request.ts +29 -25
  400. package/src/meetings/util.ts +132 -33
  401. package/src/member/index.ts +95 -49
  402. package/src/member/types.ts +24 -0
  403. package/src/member/util.ts +106 -13
  404. package/src/members/collection.ts +8 -1
  405. package/src/members/index.ts +288 -130
  406. package/src/members/request.ts +144 -31
  407. package/src/members/types.ts +28 -0
  408. package/src/members/util.ts +316 -235
  409. package/src/metrics/config.ts +302 -90
  410. package/src/metrics/constants.ts +2 -6
  411. package/src/metrics/index.ts +124 -95
  412. package/src/multistream/mediaRequestManager.ts +203 -45
  413. package/src/multistream/receiveSlot.ts +69 -26
  414. package/src/multistream/receiveSlotManager.ts +62 -38
  415. package/src/multistream/remoteMedia.ts +30 -4
  416. package/src/multistream/remoteMediaGroup.ts +4 -3
  417. package/src/multistream/remoteMediaManager.ts +230 -66
  418. package/src/networkQualityMonitor/index.ts +24 -27
  419. package/src/personal-meeting-room/index.ts +12 -16
  420. package/src/personal-meeting-room/request.ts +10 -3
  421. package/src/personal-meeting-room/util.ts +3 -3
  422. package/src/reachability/index.ts +131 -79
  423. package/src/reachability/request.ts +43 -34
  424. package/src/reactions/constants.ts +4 -0
  425. package/src/reactions/reactions.ts +8 -8
  426. package/src/reactions/reactions.type.ts +31 -5
  427. package/src/reconnection-manager/index.ts +193 -111
  428. package/src/recording-controller/enums.ts +8 -0
  429. package/src/recording-controller/index.ts +315 -0
  430. package/src/recording-controller/util.ts +58 -0
  431. package/src/roap/index.ts +53 -53
  432. package/src/roap/request.ts +77 -64
  433. package/src/roap/turnDiscovery.ts +101 -48
  434. package/src/statsAnalyzer/global.ts +8 -104
  435. package/src/statsAnalyzer/index.ts +624 -376
  436. package/src/statsAnalyzer/mqaUtil.ts +203 -90
  437. package/src/transcription/index.ts +34 -32
  438. package/test/integration/spec/converged-space-meetings.js +177 -0
  439. package/test/integration/spec/journey.js +670 -466
  440. package/test/integration/spec/space-meeting.js +320 -204
  441. package/test/integration/spec/transcription.js +7 -8
  442. package/test/unit/spec/annotation/index.ts +433 -0
  443. package/test/unit/spec/breakouts/breakout.ts +203 -0
  444. package/test/unit/spec/breakouts/collection.ts +15 -0
  445. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  446. package/test/unit/spec/breakouts/events.ts +77 -0
  447. package/test/unit/spec/breakouts/index.ts +1609 -0
  448. package/test/unit/spec/breakouts/request.ts +104 -0
  449. package/test/unit/spec/breakouts/utils.js +72 -0
  450. package/test/unit/spec/common/browser-detection.js +9 -28
  451. package/test/unit/spec/controls-options-manager/index.js +287 -0
  452. package/test/unit/spec/controls-options-manager/util.js +504 -0
  453. package/test/unit/spec/fixture/locus.js +93 -90
  454. package/test/unit/spec/locus-info/controlsUtils.js +305 -32
  455. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  456. package/test/unit/spec/locus-info/index.js +636 -5
  457. package/test/unit/spec/locus-info/infoUtils.js +26 -33
  458. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  459. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  460. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  461. package/test/unit/spec/locus-info/parser.js +3 -9
  462. package/test/unit/spec/locus-info/selfConstant.js +110 -103
  463. package/test/unit/spec/locus-info/selfUtils.js +252 -12
  464. package/test/unit/spec/media/index.ts +104 -8
  465. package/test/unit/spec/media/properties.ts +9 -9
  466. package/test/unit/spec/meeting/in-meeting-actions.ts +76 -3
  467. package/test/unit/spec/meeting/index.js +3112 -921
  468. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  469. package/test/unit/spec/meeting/muteState.js +421 -94
  470. package/test/unit/spec/meeting/request.js +421 -79
  471. package/test/unit/spec/meeting/utils.js +326 -189
  472. package/test/unit/spec/meeting-info/meetinginfov2.js +481 -76
  473. package/test/unit/spec/meeting-info/request.js +7 -9
  474. package/test/unit/spec/meeting-info/util.js +11 -12
  475. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  476. package/test/unit/spec/meetings/collection.js +15 -1
  477. package/test/unit/spec/meetings/index.js +1126 -328
  478. package/test/unit/spec/meetings/utils.js +220 -14
  479. package/test/unit/spec/member/index.js +24 -1
  480. package/test/unit/spec/member/util.js +383 -32
  481. package/test/unit/spec/members/index.js +424 -55
  482. package/test/unit/spec/members/request.js +228 -40
  483. package/test/unit/spec/members/utils.js +191 -4
  484. package/test/unit/spec/metrics/index.js +113 -20
  485. package/test/unit/spec/multistream/mediaRequestManager.ts +650 -105
  486. package/test/unit/spec/multistream/receiveSlot.ts +76 -17
  487. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  488. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  489. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  490. package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
  491. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  492. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  493. package/test/unit/spec/reachability/index.ts +176 -27
  494. package/test/unit/spec/reachability/request.js +66 -0
  495. package/test/unit/spec/reconnection-manager/index.js +62 -31
  496. package/test/unit/spec/recording-controller/index.js +231 -0
  497. package/test/unit/spec/recording-controller/util.js +102 -0
  498. package/test/unit/spec/roap/index.ts +19 -49
  499. package/test/unit/spec/roap/request.ts +187 -0
  500. package/test/unit/spec/roap/turnDiscovery.ts +92 -50
  501. package/test/unit/spec/stats-analyzer/index.js +116 -60
  502. package/test/utils/cmr.js +44 -42
  503. package/test/utils/constants.js +9 -0
  504. package/test/utils/integrationTestUtils.js +64 -0
  505. package/test/utils/testUtils.js +63 -99
  506. package/test/utils/webex-config.js +22 -18
  507. package/test/utils/webex-test-users.js +57 -50
  508. package/tsconfig.json +6 -0
  509. package/dist/media/internal-media-core-wrapper.js +0 -22
  510. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  511. package/dist/meeting/effectsState.js +0 -334
  512. package/dist/meeting/effectsState.js.map +0 -1
  513. package/dist/multistream/multistreamMedia.js +0 -116
  514. package/dist/multistream/multistreamMedia.js.map +0 -1
  515. package/src/index.js +0 -15
  516. package/src/media/internal-media-core-wrapper.ts +0 -9
  517. package/src/meeting/effectsState.ts +0 -211
  518. package/src/multistream/multistreamMedia.ts +0 -92
  519. package/test/unit/spec/meeting/effectsState.js +0 -291
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
-
9
- exports.RoapMediaConnection = exports.MultistreamRoapMediaConnection = void 0;
10
-
11
- var _internalMediaCore = require("@webex/internal-media-core");
12
-
13
- /* We have this wrapper just because otherwise it's impossible to mock
14
- * RoapMediaConnection and MultistreamRoapMediaConnection constructors in unit tests,
15
- * because they are exported by @webex/internal-media-core as non-writable, non-configurable
16
- * properties of MediaConnection and sinon doesn't allow spying on them or stubbing them.
17
- */
18
- var RoapMediaConnection = _internalMediaCore.MediaConnection.RoapMediaConnection;
19
- exports.RoapMediaConnection = RoapMediaConnection;
20
- var MultistreamRoapMediaConnection = _internalMediaCore.MediaConnection.MultistreamRoapMediaConnection;
21
- exports.MultistreamRoapMediaConnection = MultistreamRoapMediaConnection;
22
- //# sourceMappingURL=internal-media-core-wrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["RoapMediaConnection","MC","MultistreamRoapMediaConnection"],"sources":["internal-media-core-wrapper.ts"],"sourcesContent":["import {MediaConnection as MC} from '@webex/internal-media-core';\n\n/* We have this wrapper just because otherwise it's impossible to mock\n * RoapMediaConnection and MultistreamRoapMediaConnection constructors in unit tests,\n * because they are exported by @webex/internal-media-core as non-writable, non-configurable\n * properties of MediaConnection and sinon doesn't allow spying on them or stubbing them.\n */\nexport const RoapMediaConnection = MC.RoapMediaConnection;\nexport const MultistreamRoapMediaConnection = MC.MultistreamRoapMediaConnection;\n"],"mappings":";;;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,mBAAmB,GAAGC,kCAAA,CAAGD,mBAA/B;;AACA,IAAME,8BAA8B,GAAGD,kCAAA,CAAGC,8BAA1C"}
@@ -1,334 +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 _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
14
-
15
- var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
18
-
19
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
- var _internalMediaCore = require("@webex/internal-media-core");
26
-
27
- var _constants = _interopRequireDefault(require("../metrics/constants"));
28
-
29
- var _metrics = _interopRequireDefault(require("../metrics"));
30
-
31
- var _util = _interopRequireDefault(require("../media/util"));
32
-
33
- var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
34
-
35
- var _constants2 = require("../constants");
36
-
37
- /* eslint-disable no-param-reassign */
38
- var createEffectsState = function createEffectsState(type) {
39
- _loggerProxy.default.logger.info("Meeting:effectState#createEffectsState --> creating effectsState for effect ".concat(type));
40
-
41
- return new EffectsState(type);
42
- };
43
- /* The purpose of this class is to manage the effects state(for eg., BNR).
44
- */
45
-
46
-
47
- var EffectsState = /*#__PURE__*/function () {
48
- function EffectsState(type) {
49
- (0, _classCallCheck2.default)(this, EffectsState);
50
- (0, _defineProperty2.default)(this, "effectType", void 0);
51
- (0, _defineProperty2.default)(this, "pendingPromiseReject", void 0);
52
- (0, _defineProperty2.default)(this, "pendingPromiseResolve", void 0);
53
- (0, _defineProperty2.default)(this, "state", void 0);
54
- this.effectType = type;
55
- this.state = {
56
- bnr: {
57
- enabled: _constants2.BNR_STATUS.NOT_ENABLED
58
- },
59
- callToWebrtcBNRInProgress: false
60
- }; // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call
61
-
62
- this.pendingPromiseResolve = null;
63
- this.pendingPromiseReject = null;
64
- }
65
- /**
66
- * @memberof EffectsState
67
- * @param {Boolean} [isEnable] true for enableBNR, false for disableBNR request
68
- * @param {Object} [meeting] the meeting object
69
- * @returns {Promise}
70
- */
71
-
72
-
73
- (0, _createClass2.default)(EffectsState, [{
74
- key: "handleClientRequest",
75
- value: function () {
76
- var _handleClientRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(isEnable, meeting) {
77
- var _this = this;
78
-
79
- return _regenerator.default.wrap(function _callee$(_context) {
80
- while (1) {
81
- switch (_context.prev = _context.next) {
82
- case 0:
83
- return _context.abrupt("return", new _promise.default(function (resolve, reject) {
84
- if (_this.pendingPromiseResolve) {
85
- // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one
86
- _this.pendingPromiseResolve();
87
- }
88
-
89
- _this.pendingPromiseResolve = resolve;
90
- _this.pendingPromiseReject = reject;
91
- if (isEnable) _this.enableBNR(meeting);else _this.disableBNR(meeting);
92
- }));
93
-
94
- case 1:
95
- case "end":
96
- return _context.stop();
97
- }
98
- }
99
- }, _callee);
100
- }));
101
-
102
- function handleClientRequest(_x, _x2) {
103
- return _handleClientRequest.apply(this, arguments);
104
- }
105
-
106
- return handleClientRequest;
107
- }()
108
- /**
109
- * Internal API to return status of BNR
110
- * @memberof EffectsState
111
- * @returns {Boolean}
112
- * @public
113
- * @memberof Meeting
114
- */
115
-
116
- }, {
117
- key: "isBnrEnabled",
118
- value: function isBnrEnabled() {
119
- return this.state.bnr.enabled === _constants2.BNR_STATUS.ENABLED;
120
- }
121
- }, {
122
- key: "resolvePromise",
123
- value: function resolvePromise() {
124
- if (this.pendingPromiseResolve) {
125
- this.pendingPromiseResolve(true);
126
- }
127
-
128
- this.pendingPromiseResolve = null;
129
- this.pendingPromiseReject = null;
130
- }
131
- }, {
132
- key: "rejectPromise",
133
- value: function rejectPromise(e) {
134
- if (this.pendingPromiseReject) {
135
- this.pendingPromiseReject(e);
136
- }
137
-
138
- this.pendingPromiseResolve = null;
139
- this.pendingPromiseReject = null;
140
- }
141
- /**
142
- * enableBNR API
143
- * @param {Object} meeting the meeting object
144
- * @returns {Promise<Boolean>}
145
- * @public
146
- * @memberof EffectsState
147
- */
148
-
149
- }, {
150
- key: "enableBNR",
151
- value: function () {
152
- var _enableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(meeting) {
153
- var bnr, audioStream;
154
- return _regenerator.default.wrap(function _callee2$(_context2) {
155
- while (1) {
156
- switch (_context2.prev = _context2.next) {
157
- case 0:
158
- _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Enable BNR called');
159
-
160
- if (!this.isBnrEnabled()) {
161
- _context2.next = 4;
162
- break;
163
- }
164
-
165
- _loggerProxy.default.logger.warn('Meeting:index#enableBNR. BNR is already enabled');
166
-
167
- return _context2.abrupt("return", this.resolvePromise());
168
-
169
- case 4:
170
- if (!this.state.callToWebrtcBNRInProgress) {
171
- _context2.next = 7;
172
- break;
173
- }
174
-
175
- _loggerProxy.default.logger.warn('Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete');
176
-
177
- return _context2.abrupt("return", this.resolvePromise());
178
-
179
- case 7:
180
- bnr = this.state.bnr;
181
- _context2.prev = 8;
182
- bnr.enabled = _constants2.BNR_STATUS.SHOULD_ENABLE;
183
- this.state.callToWebrtcBNRInProgress = true;
184
- audioStream = _util.default.createMediaStream([meeting.mediaProperties.audioTrack]);
185
-
186
- _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio');
187
-
188
- _context2.next = 15;
189
- return meeting.updateAudio({
190
- sendAudio: true,
191
- receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
192
- stream: audioStream
193
- });
194
-
195
- case 15:
196
- _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track');
197
-
198
- bnr.enabled = _constants2.BNR_STATUS.ENABLED;
199
- this.state.callToWebrtcBNRInProgress = false;
200
-
201
- _metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_SUCCESS);
202
-
203
- _context2.next = 29;
204
- break;
205
-
206
- case 21:
207
- _context2.prev = 21;
208
- _context2.t0 = _context2["catch"](8);
209
- bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
210
- this.state.callToWebrtcBNRInProgress = false;
211
-
212
- _loggerProxy.default.logger.error('Meeting:index#enableBNR.', _context2.t0);
213
-
214
- _metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_FAILURE, {
215
- reason: _context2.t0.message,
216
- stack: _context2.t0.stack
217
- });
218
-
219
- this.rejectPromise(_context2.t0);
220
- throw _context2.t0;
221
-
222
- case 29:
223
- return _context2.abrupt("return", this.resolvePromise());
224
-
225
- case 30:
226
- case "end":
227
- return _context2.stop();
228
- }
229
- }
230
- }, _callee2, this, [[8, 21]]);
231
- }));
232
-
233
- function enableBNR(_x3) {
234
- return _enableBNR.apply(this, arguments);
235
- }
236
-
237
- return enableBNR;
238
- }()
239
- /**
240
- * disableBNR API
241
- * @param {Object} meeting the meeting object
242
- * @returns {Promise<Boolean>}
243
- * @public
244
- * @memberof EffectsState
245
- */
246
-
247
- }, {
248
- key: "disableBNR",
249
- value: function () {
250
- var _disableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(meeting) {
251
- var bnr, audioTrack, audioStream;
252
- return _regenerator.default.wrap(function _callee3$(_context3) {
253
- while (1) {
254
- switch (_context3.prev = _context3.next) {
255
- case 0:
256
- _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Disable BNR called');
257
-
258
- bnr = this.state.bnr;
259
- _context3.prev = 2;
260
-
261
- if (!this.state.callToWebrtcBNRInProgress) {
262
- _context3.next = 6;
263
- break;
264
- }
265
-
266
- _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete');
267
-
268
- return _context3.abrupt("return", this.resolvePromise());
269
-
270
- case 6:
271
- bnr.enabled = _constants2.BNR_STATUS.SHOULD_DISABLE;
272
- this.state.callToWebrtcBNRInProgress = true; // @ts-ignore - disableBNR does not expect an argument
273
-
274
- audioTrack = _internalMediaCore.Media.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);
275
- audioStream = _util.default.createMediaStream([audioTrack]);
276
-
277
- _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio');
278
-
279
- _context3.next = 13;
280
- return meeting.updateAudio({
281
- sendAudio: true,
282
- receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
283
- stream: audioStream
284
- });
285
-
286
- case 13:
287
- bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
288
- this.state.callToWebrtcBNRInProgress = false;
289
-
290
- _metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_SUCCESS);
291
-
292
- _context3.next = 26;
293
- break;
294
-
295
- case 18:
296
- _context3.prev = 18;
297
- _context3.t0 = _context3["catch"](2);
298
- bnr.enabled = _constants2.BNR_STATUS.ENABLED;
299
- this.state.callToWebrtcBNRInProgress = false;
300
-
301
- _loggerProxy.default.logger.error("Meeting:index#disableBNR. ".concat(_context3.t0));
302
-
303
- _metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_FAILURE, {
304
- reason: _context3.t0.message,
305
- stack: _context3.t0.stack
306
- });
307
-
308
- this.rejectPromise(_context3.t0);
309
- throw _context3.t0;
310
-
311
- case 26:
312
- return _context3.abrupt("return", this.resolvePromise());
313
-
314
- case 27:
315
- case "end":
316
- return _context3.stop();
317
- }
318
- }
319
- }, _callee3, this, [[2, 18]]);
320
- }));
321
-
322
- function disableBNR(_x4) {
323
- return _disableBNR.apply(this, arguments);
324
- }
325
-
326
- return disableBNR;
327
- }()
328
- }]);
329
- return EffectsState;
330
- }();
331
-
332
- var _default = createEffectsState;
333
- exports.default = _default;
334
- //# sourceMappingURL=effectsState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createEffectsState","type","LoggerProxy","logger","info","EffectsState","effectType","state","bnr","enabled","BNR_STATUS","NOT_ENABLED","callToWebrtcBNRInProgress","pendingPromiseResolve","pendingPromiseReject","isEnable","meeting","resolve","reject","enableBNR","disableBNR","ENABLED","e","isBnrEnabled","warn","resolvePromise","SHOULD_ENABLE","audioStream","MediaUtil","createMediaStream","mediaProperties","audioTrack","updateAudio","sendAudio","receiveAudio","mediaDirection","stream","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ENABLE_BNR_SUCCESS","error","ENABLE_BNR_FAILURE","reason","message","stack","rejectPromise","SHOULD_DISABLE","WebRTCMedia","Effects","BNR","DISABLE_BNR_SUCCESS","DISABLE_BNR_FAILURE"],"sources":["effectsState.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport {Media as WebRTCMedia} from '@webex/internal-media-core';\n\nimport BEHAVIORAL_METRICS from '../metrics/constants';\nimport Metrics from '../metrics';\nimport MediaUtil from '../media/util';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {BNR_STATUS} from '../constants';\n\nconst createEffectsState = (type: any) => {\n LoggerProxy.logger.info(`Meeting:effectState#createEffectsState --> creating effectsState for effect ${type}`);\n\n return new EffectsState(type);\n};\n\n/* The purpose of this class is to manage the effects state(for eg., BNR).\n*/\nclass EffectsState {\n effectType: any;\n pendingPromiseReject: any;\n pendingPromiseResolve: any;\n state: any;\n\n constructor(type: any) {\n this.effectType = type;\n this.state = {\n bnr: {\n enabled: BNR_STATUS.NOT_ENABLED\n },\n callToWebrtcBNRInProgress: false\n };\n // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * @memberof EffectsState\n * @param {Boolean} [isEnable] true for enableBNR, false for disableBNR request\n * @param {Object} [meeting] the meeting object\n * @returns {Promise}\n */\n async handleClientRequest(isEnable?: boolean, meeting?: object) {\n return new Promise((resolve, reject) => {\n if (this.pendingPromiseResolve) {\n // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one\n this.pendingPromiseResolve();\n }\n this.pendingPromiseResolve = resolve;\n this.pendingPromiseReject = reject;\n\n if (isEnable) this.enableBNR(meeting);\n else this.disableBNR(meeting);\n });\n }\n\n /**\n * Internal API to return status of BNR\n * @memberof EffectsState\n * @returns {Boolean}\n * @public\n * @memberof Meeting\n */\n public isBnrEnabled() {\n return this.state.bnr.enabled === BNR_STATUS.ENABLED;\n }\n\n resolvePromise() {\n if (this.pendingPromiseResolve) {\n this.pendingPromiseResolve(true);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n rejectPromise(e) {\n if (this.pendingPromiseReject) {\n this.pendingPromiseReject(e);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * enableBNR API\n * @param {Object} meeting the meeting object\n * @returns {Promise<Boolean>}\n * @public\n * @memberof EffectsState\n */\n public async enableBNR(meeting: any) {\n LoggerProxy.logger.info('Meeting:effectState#enableBNR. Enable BNR called');\n\n if (this.isBnrEnabled()) {\n LoggerProxy.logger.warn('Meeting:index#enableBNR. BNR is already enabled');\n\n return this.resolvePromise();\n }\n\n if (this.state.callToWebrtcBNRInProgress) {\n LoggerProxy.logger.warn('Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete');\n\n return this.resolvePromise();\n }\n\n const {bnr} = this.state;\n\n try {\n bnr.enabled = BNR_STATUS.SHOULD_ENABLE;\n this.state.callToWebrtcBNRInProgress = true;\n const audioStream = MediaUtil.createMediaStream([meeting.mediaProperties.audioTrack]);\n\n LoggerProxy.logger.info('Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio');\n await meeting.updateAudio({\n sendAudio: true,\n receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,\n stream: audioStream\n });\n\n LoggerProxy.logger.info('Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track');\n bnr.enabled = BNR_STATUS.ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ENABLE_BNR_SUCCESS,\n );\n }\n catch (error) {\n bnr.enabled = BNR_STATUS.NOT_ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n LoggerProxy.logger.error('Meeting:index#enableBNR.', error);\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ENABLE_BNR_FAILURE,\n {\n reason: error.message,\n stack: error.stack\n }\n );\n this.rejectPromise(error);\n\n throw error;\n }\n\n return this.resolvePromise();\n }\n\n /**\n * disableBNR API\n * @param {Object} meeting the meeting object\n * @returns {Promise<Boolean>}\n * @public\n * @memberof EffectsState\n */\n public async disableBNR(meeting: any) {\n LoggerProxy.logger.info('Meeting:effectState#disableBNR. Disable BNR called');\n\n const {bnr} = this.state;\n\n try {\n if (this.state.callToWebrtcBNRInProgress) {\n LoggerProxy.logger.info('Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete');\n\n return this.resolvePromise();\n }\n\n bnr.enabled = BNR_STATUS.SHOULD_DISABLE;\n this.state.callToWebrtcBNRInProgress = true;\n\n // @ts-ignore - disableBNR does not expect an argument\n const audioTrack = WebRTCMedia.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);\n\n const audioStream = MediaUtil.createMediaStream([audioTrack]);\n\n LoggerProxy.logger.info('Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio');\n\n await meeting.updateAudio({\n sendAudio: true,\n receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,\n stream: audioStream\n });\n\n bnr.enabled = BNR_STATUS.NOT_ENABLED;\n\n this.state.callToWebrtcBNRInProgress = false;\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.DISABLE_BNR_SUCCESS\n );\n }\n catch (error) {\n bnr.enabled = BNR_STATUS.ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n LoggerProxy.logger.error(`Meeting:index#disableBNR. ${error}`);\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.DISABLE_BNR_FAILURE,\n {\n reason: error.message,\n stack: error.stack\n }\n );\n this.rejectPromise(error);\n\n throw error;\n }\n\n return this.resolvePromise();\n }\n}\n\nexport default createEffectsState;\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"}
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,9 +0,0 @@
1
- import {MediaConnection as MC} from '@webex/internal-media-core';
2
-
3
- /* We have this wrapper just because otherwise it's impossible to mock
4
- * RoapMediaConnection and MultistreamRoapMediaConnection constructors in unit tests,
5
- * because they are exported by @webex/internal-media-core as non-writable, non-configurable
6
- * properties of MediaConnection and sinon doesn't allow spying on them or stubbing them.
7
- */
8
- export const RoapMediaConnection = MC.RoapMediaConnection;
9
- export const MultistreamRoapMediaConnection = MC.MultistreamRoapMediaConnection;