@webex/plugin-meetings 3.0.0-beta.3 → 3.0.0-beta.31

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 (493) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +137 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/index.js +374 -0
  8. package/dist/breakouts/index.js.map +1 -0
  9. package/dist/breakouts/request.js +78 -0
  10. package/dist/breakouts/request.js.map +1 -0
  11. package/dist/breakouts/utils.js +23 -0
  12. package/dist/breakouts/utils.js.map +1 -0
  13. package/dist/common/browser-detection.js +1 -20
  14. package/dist/common/browser-detection.js.map +1 -1
  15. package/dist/common/collection.js +5 -20
  16. package/dist/common/collection.js.map +1 -1
  17. package/dist/common/config.js +0 -7
  18. package/dist/common/config.js.map +1 -1
  19. package/dist/common/errors/captcha-error.js +10 -24
  20. package/dist/common/errors/captcha-error.js.map +1 -1
  21. package/dist/common/errors/intent-to-join.js +11 -24
  22. package/dist/common/errors/intent-to-join.js.map +1 -1
  23. package/dist/common/errors/join-meeting.js +12 -25
  24. package/dist/common/errors/join-meeting.js.map +1 -1
  25. package/dist/common/errors/media.js +10 -24
  26. package/dist/common/errors/media.js.map +1 -1
  27. package/dist/common/errors/parameter.js +5 -33
  28. package/dist/common/errors/parameter.js.map +1 -1
  29. package/dist/common/errors/password-error.js +10 -24
  30. package/dist/common/errors/password-error.js.map +1 -1
  31. package/dist/common/errors/permission.js +9 -23
  32. package/dist/common/errors/permission.js.map +1 -1
  33. package/dist/common/errors/reconnection-in-progress.js +0 -17
  34. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  35. package/dist/common/errors/reconnection.js +10 -24
  36. package/dist/common/errors/reconnection.js.map +1 -1
  37. package/dist/common/errors/stats.js +10 -24
  38. package/dist/common/errors/stats.js.map +1 -1
  39. package/dist/common/errors/webex-errors.js +6 -41
  40. package/dist/common/errors/webex-errors.js.map +1 -1
  41. package/dist/common/errors/webex-meetings-error.js +5 -25
  42. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  43. package/dist/common/events/events-scope.js +0 -22
  44. package/dist/common/events/events-scope.js.map +1 -1
  45. package/dist/common/events/events.js +0 -23
  46. package/dist/common/events/events.js.map +1 -1
  47. package/dist/common/events/trigger-proxy.js +0 -12
  48. package/dist/common/events/trigger-proxy.js.map +1 -1
  49. package/dist/common/events/util.js +0 -15
  50. package/dist/common/events/util.js.map +1 -1
  51. package/dist/common/logs/logger-config.js +0 -4
  52. package/dist/common/logs/logger-config.js.map +1 -1
  53. package/dist/common/logs/logger-proxy.js +1 -8
  54. package/dist/common/logs/logger-proxy.js.map +1 -1
  55. package/dist/common/logs/request.js +37 -60
  56. package/dist/common/logs/request.js.map +1 -1
  57. package/dist/common/queue.js +4 -14
  58. package/dist/common/queue.js.map +1 -1
  59. package/dist/config.js +6 -6
  60. package/dist/config.js.map +1 -1
  61. package/dist/constants.js +92 -49
  62. package/dist/constants.js.map +1 -1
  63. package/dist/controls-options-manager/constants.js +14 -0
  64. package/dist/controls-options-manager/constants.js.map +1 -0
  65. package/dist/controls-options-manager/enums.js +15 -0
  66. package/dist/controls-options-manager/enums.js.map +1 -0
  67. package/dist/controls-options-manager/index.js +203 -0
  68. package/dist/controls-options-manager/index.js.map +1 -0
  69. package/dist/controls-options-manager/util.js +28 -0
  70. package/dist/controls-options-manager/util.js.map +1 -0
  71. package/dist/index.js +4 -18
  72. package/dist/index.js.map +1 -1
  73. package/dist/locus-info/controlsUtils.js +12 -29
  74. package/dist/locus-info/controlsUtils.js.map +1 -1
  75. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  76. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  77. package/dist/locus-info/fullState.js +0 -15
  78. package/dist/locus-info/fullState.js.map +1 -1
  79. package/dist/locus-info/hostUtils.js +4 -12
  80. package/dist/locus-info/hostUtils.js.map +1 -1
  81. package/dist/locus-info/index.js +186 -192
  82. package/dist/locus-info/index.js.map +1 -1
  83. package/dist/locus-info/infoUtils.js +3 -37
  84. package/dist/locus-info/infoUtils.js.map +1 -1
  85. package/dist/locus-info/mediaSharesUtils.js +12 -38
  86. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  87. package/dist/locus-info/parser.js +92 -118
  88. package/dist/locus-info/parser.js.map +1 -1
  89. package/dist/locus-info/selfUtils.js +34 -91
  90. package/dist/locus-info/selfUtils.js.map +1 -1
  91. package/dist/media/index.js +64 -137
  92. package/dist/media/index.js.map +1 -1
  93. package/dist/media/properties.js +80 -114
  94. package/dist/media/properties.js.map +1 -1
  95. package/dist/media/util.js +2 -9
  96. package/dist/media/util.js.map +1 -1
  97. package/dist/mediaQualityMetrics/config.js +505 -495
  98. package/dist/mediaQualityMetrics/config.js.map +1 -1
  99. package/dist/meeting/effectsState.js +125 -190
  100. package/dist/meeting/effectsState.js.map +1 -1
  101. package/dist/meeting/in-meeting-actions.js +13 -14
  102. package/dist/meeting/in-meeting-actions.js.map +1 -1
  103. package/dist/meeting/index.js +2142 -2101
  104. package/dist/meeting/index.js.map +1 -1
  105. package/dist/meeting/muteState.js +39 -80
  106. package/dist/meeting/muteState.js.map +1 -1
  107. package/dist/meeting/request.js +224 -230
  108. package/dist/meeting/request.js.map +1 -1
  109. package/dist/meeting/request.type.js +7 -0
  110. package/dist/meeting/request.type.js.map +1 -0
  111. package/dist/meeting/state.js +21 -31
  112. package/dist/meeting/state.js.map +1 -1
  113. package/dist/meeting/util.js +43 -215
  114. package/dist/meeting/util.js.map +1 -1
  115. package/dist/meeting-info/collection.js +6 -25
  116. package/dist/meeting-info/collection.js.map +1 -1
  117. package/dist/meeting-info/index.js +14 -32
  118. package/dist/meeting-info/index.js.map +1 -1
  119. package/dist/meeting-info/meeting-info-v2.js +193 -268
  120. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  121. package/dist/meeting-info/request.js +3 -15
  122. package/dist/meeting-info/request.js.map +1 -1
  123. package/dist/meeting-info/util.js +98 -183
  124. package/dist/meeting-info/util.js.map +1 -1
  125. package/dist/meeting-info/utilv2.js +137 -228
  126. package/dist/meeting-info/utilv2.js.map +1 -1
  127. package/dist/meetings/collection.js +5 -20
  128. package/dist/meetings/collection.js.map +1 -1
  129. package/dist/meetings/index.js +490 -560
  130. package/dist/meetings/index.js.map +1 -1
  131. package/dist/meetings/request.js +24 -41
  132. package/dist/meetings/request.js.map +1 -1
  133. package/dist/meetings/util.js +116 -155
  134. package/dist/meetings/util.js.map +1 -1
  135. package/dist/member/index.js +78 -86
  136. package/dist/member/index.js.map +1 -1
  137. package/dist/member/util.js +31 -68
  138. package/dist/member/util.js.map +1 -1
  139. package/dist/members/collection.js +3 -12
  140. package/dist/members/collection.js.map +1 -1
  141. package/dist/members/index.js +94 -200
  142. package/dist/members/index.js.map +1 -1
  143. package/dist/members/request.js +16 -39
  144. package/dist/members/request.js.map +1 -1
  145. package/dist/members/util.js +9 -38
  146. package/dist/members/util.js.map +1 -1
  147. package/dist/metrics/config.js +0 -2
  148. package/dist/metrics/config.js.map +1 -1
  149. package/dist/metrics/constants.js +1 -2
  150. package/dist/metrics/constants.js.map +1 -1
  151. package/dist/metrics/index.js +55 -135
  152. package/dist/metrics/index.js.map +1 -1
  153. package/dist/multistream/mediaRequestManager.js +57 -33
  154. package/dist/multistream/mediaRequestManager.js.map +1 -1
  155. package/dist/multistream/receiveSlot.js +30 -50
  156. package/dist/multistream/receiveSlot.js.map +1 -1
  157. package/dist/multistream/receiveSlotManager.js +60 -82
  158. package/dist/multistream/receiveSlotManager.js.map +1 -1
  159. package/dist/multistream/remoteMedia.js +18 -58
  160. package/dist/multistream/remoteMedia.js.map +1 -1
  161. package/dist/multistream/remoteMediaGroup.js +6 -40
  162. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  163. package/dist/multistream/remoteMediaManager.js +360 -413
  164. package/dist/multistream/remoteMediaManager.js.map +1 -1
  165. package/dist/networkQualityMonitor/index.js +40 -59
  166. package/dist/networkQualityMonitor/index.js.map +1 -1
  167. package/dist/personal-meeting-room/index.js +21 -45
  168. package/dist/personal-meeting-room/index.js.map +1 -1
  169. package/dist/personal-meeting-room/request.js +1 -31
  170. package/dist/personal-meeting-room/request.js.map +1 -1
  171. package/dist/personal-meeting-room/util.js +0 -13
  172. package/dist/personal-meeting-room/util.js.map +1 -1
  173. package/dist/reachability/index.js +138 -182
  174. package/dist/reachability/index.js.map +1 -1
  175. package/dist/reachability/request.js +3 -18
  176. package/dist/reachability/request.js.map +1 -1
  177. package/dist/reactions/constants.js +13 -0
  178. package/dist/reactions/constants.js.map +1 -0
  179. package/dist/reactions/reactions.js +109 -0
  180. package/dist/reactions/reactions.js.map +1 -0
  181. package/dist/reactions/reactions.type.js +36 -0
  182. package/dist/reactions/reactions.type.js.map +1 -0
  183. package/dist/reconnection-manager/index.js +322 -455
  184. package/dist/reconnection-manager/index.js.map +1 -1
  185. package/dist/recording-controller/enums.js +17 -0
  186. package/dist/recording-controller/enums.js.map +1 -0
  187. package/dist/recording-controller/index.js +343 -0
  188. package/dist/recording-controller/index.js.map +1 -0
  189. package/dist/recording-controller/util.js +63 -0
  190. package/dist/recording-controller/util.js.map +1 -0
  191. package/dist/roap/index.js +39 -64
  192. package/dist/roap/index.js.map +1 -1
  193. package/dist/roap/request.js +94 -113
  194. package/dist/roap/request.js.map +1 -1
  195. package/dist/roap/turnDiscovery.js +85 -94
  196. package/dist/roap/turnDiscovery.js.map +1 -1
  197. package/dist/statsAnalyzer/global.js +1 -95
  198. package/dist/statsAnalyzer/global.js.map +1 -1
  199. package/dist/statsAnalyzer/index.js +357 -449
  200. package/dist/statsAnalyzer/index.js.map +1 -1
  201. package/dist/statsAnalyzer/mqaUtil.js +137 -81
  202. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  203. package/dist/transcription/index.js +22 -47
  204. package/dist/transcription/index.js.map +1 -1
  205. package/dist/types/breakouts/breakout.d.ts +8 -0
  206. package/dist/types/breakouts/collection.d.ts +5 -0
  207. package/dist/types/breakouts/index.d.ts +5 -0
  208. package/dist/types/breakouts/request.d.ts +22 -0
  209. package/dist/types/breakouts/utils.d.ts +1 -0
  210. package/dist/types/common/browser-detection.d.ts +9 -0
  211. package/dist/types/common/collection.d.ts +48 -0
  212. package/dist/types/common/config.d.ts +2 -0
  213. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  214. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  215. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  216. package/dist/types/common/errors/media.d.ts +15 -0
  217. package/dist/types/common/errors/parameter.d.ts +15 -0
  218. package/dist/types/common/errors/password-error.d.ts +15 -0
  219. package/dist/types/common/errors/permission.d.ts +14 -0
  220. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  221. package/dist/types/common/errors/reconnection.d.ts +15 -0
  222. package/dist/types/common/errors/stats.d.ts +15 -0
  223. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  224. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  225. package/dist/types/common/events/events-scope.d.ts +17 -0
  226. package/dist/types/common/events/events.d.ts +12 -0
  227. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  228. package/dist/types/common/events/util.d.ts +2 -0
  229. package/dist/types/common/logs/logger-config.d.ts +2 -0
  230. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  231. package/dist/types/common/logs/request.d.ts +34 -0
  232. package/dist/types/common/queue.d.ts +32 -0
  233. package/dist/types/config.d.ts +77 -0
  234. package/dist/types/constants.d.ts +899 -0
  235. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  236. package/dist/types/controls-options-manager/enums.d.ts +5 -0
  237. package/dist/types/controls-options-manager/index.d.ts +120 -0
  238. package/dist/types/controls-options-manager/util.d.ts +7 -0
  239. package/dist/types/index.d.ts +5 -0
  240. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  241. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  242. package/dist/types/locus-info/fullState.d.ts +2 -0
  243. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  244. package/dist/types/locus-info/index.d.ts +269 -0
  245. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  246. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  247. package/dist/types/locus-info/parser.d.ts +212 -0
  248. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  249. package/dist/types/media/index.d.ts +32 -0
  250. package/dist/types/media/properties.d.ts +107 -0
  251. package/dist/types/media/util.d.ts +2 -0
  252. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  253. package/dist/types/meeting/effectsState.d.ts +42 -0
  254. package/dist/types/meeting/in-meeting-actions.d.ts +83 -0
  255. package/dist/types/meeting/index.d.ts +1724 -0
  256. package/dist/types/meeting/muteState.d.ts +108 -0
  257. package/dist/types/meeting/request.d.ts +261 -0
  258. package/dist/types/meeting/request.type.d.ts +11 -0
  259. package/dist/types/meeting/state.d.ts +9 -0
  260. package/dist/types/meeting/util.d.ts +2 -0
  261. package/dist/types/meeting-info/collection.d.ts +20 -0
  262. package/dist/types/meeting-info/index.d.ts +57 -0
  263. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  264. package/dist/types/meeting-info/request.d.ts +22 -0
  265. package/dist/types/meeting-info/util.d.ts +2 -0
  266. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  267. package/dist/types/meetings/collection.d.ts +23 -0
  268. package/dist/types/meetings/index.d.ts +297 -0
  269. package/dist/types/meetings/request.d.ts +27 -0
  270. package/dist/types/meetings/util.d.ts +18 -0
  271. package/dist/types/member/index.d.ts +146 -0
  272. package/dist/types/member/util.d.ts +2 -0
  273. package/dist/types/members/collection.d.ts +24 -0
  274. package/dist/types/members/index.d.ts +320 -0
  275. package/dist/types/members/request.d.ts +50 -0
  276. package/dist/types/members/util.d.ts +2 -0
  277. package/dist/types/metrics/config.d.ts +178 -0
  278. package/dist/types/metrics/constants.d.ts +57 -0
  279. package/dist/types/metrics/index.d.ts +160 -0
  280. package/dist/types/multistream/mediaRequestManager.d.ts +50 -0
  281. package/dist/types/multistream/receiveSlot.d.ts +66 -0
  282. package/dist/types/multistream/receiveSlotManager.d.ts +46 -0
  283. package/dist/types/multistream/remoteMedia.d.ts +93 -0
  284. package/dist/types/multistream/remoteMediaGroup.d.ts +56 -0
  285. package/dist/types/multistream/remoteMediaManager.d.ts +241 -0
  286. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  287. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  288. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  289. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  290. package/dist/types/reachability/index.d.ts +140 -0
  291. package/dist/types/reachability/request.d.ts +35 -0
  292. package/dist/types/reactions/constants.d.ts +3 -0
  293. package/dist/types/reactions/reactions.d.ts +4 -0
  294. package/dist/types/reactions/reactions.type.d.ts +52 -0
  295. package/dist/types/reconnection-manager/index.d.ts +117 -0
  296. package/dist/types/recording-controller/enums.d.ts +7 -0
  297. package/dist/types/recording-controller/index.d.ts +193 -0
  298. package/dist/types/recording-controller/util.d.ts +13 -0
  299. package/dist/types/roap/index.d.ts +77 -0
  300. package/dist/types/roap/request.d.ts +35 -0
  301. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  302. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  303. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  304. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  305. package/dist/types/transcription/index.d.ts +64 -0
  306. package/internal-README.md +7 -6
  307. package/package.json +25 -20
  308. package/src/breakouts/README.md +190 -0
  309. package/src/breakouts/breakout.ts +130 -0
  310. package/src/breakouts/collection.ts +19 -0
  311. package/src/breakouts/index.ts +353 -0
  312. package/src/breakouts/request.ts +55 -0
  313. package/src/breakouts/utils.ts +15 -0
  314. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  315. package/src/common/collection.ts +9 -7
  316. package/src/common/{config.js → config.ts} +1 -1
  317. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  318. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  319. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  320. package/src/common/errors/{media.js → media.ts} +11 -7
  321. package/src/common/errors/parameter.ts +11 -7
  322. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  323. package/src/common/errors/{permission.js → permission.ts} +10 -6
  324. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  325. package/src/common/errors/{stats.js → stats.ts} +11 -7
  326. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  327. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  328. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  329. package/src/common/events/{events.js → events.ts} +5 -1
  330. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  331. package/src/common/events/{util.js → util.ts} +2 -3
  332. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  333. package/src/common/logs/logger-proxy.ts +44 -0
  334. package/src/common/logs/{request.js → request.ts} +22 -9
  335. package/src/common/queue.ts +1 -2
  336. package/src/{config.js → config.ts} +17 -12
  337. package/src/constants.ts +44 -4
  338. package/src/controls-options-manager/constants.ts +5 -0
  339. package/src/controls-options-manager/enums.ts +6 -0
  340. package/src/controls-options-manager/index.ts +183 -0
  341. package/src/controls-options-manager/util.ts +20 -0
  342. package/src/index.js +2 -1
  343. package/src/locus-info/controlsUtils.ts +114 -0
  344. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  345. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  346. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  347. package/src/locus-info/{index.js → index.ts} +150 -66
  348. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  349. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  350. package/src/locus-info/{parser.js → parser.ts} +67 -79
  351. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  352. package/src/media/{index.js → index.ts} +176 -157
  353. package/src/media/{properties.js → properties.ts} +48 -31
  354. package/src/media/{util.js → util.ts} +2 -2
  355. package/src/mediaQualityMetrics/config.ts +384 -0
  356. package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
  357. package/src/meeting/in-meeting-actions.ts +31 -3
  358. package/src/meeting/{index.js → index.ts} +2479 -1466
  359. package/src/meeting/{muteState.js → muteState.ts} +80 -45
  360. package/src/meeting/{request.js → request.ts} +292 -142
  361. package/src/meeting/request.type.ts +13 -0
  362. package/src/meeting/{state.js → state.ts} +50 -35
  363. package/src/meeting/{util.js → util.ts} +112 -115
  364. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  365. package/src/meeting-info/{index.js → index.ts} +42 -36
  366. package/src/meeting-info/meeting-info-v2.ts +273 -0
  367. package/src/meeting-info/{request.js → request.ts} +14 -4
  368. package/src/meeting-info/{util.js → util.ts} +60 -51
  369. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  370. package/src/meetings/{collection.js → collection.ts} +6 -3
  371. package/src/meetings/index.ts +1159 -0
  372. package/src/meetings/{request.js → request.ts} +32 -25
  373. package/src/meetings/{util.js → util.ts} +58 -32
  374. package/src/member/{index.js → index.ts} +102 -56
  375. package/src/member/{util.js → util.ts} +52 -25
  376. package/src/members/{collection.js → collection.ts} +2 -2
  377. package/src/members/{index.js → index.ts} +221 -142
  378. package/src/members/{request.js → request.ts} +60 -16
  379. package/src/members/{util.js → util.ts} +50 -48
  380. package/src/metrics/{config.js → config.ts} +254 -83
  381. package/src/metrics/{constants.js → constants.ts} +0 -2
  382. package/src/metrics/{index.js → index.ts} +106 -74
  383. package/src/multistream/mediaRequestManager.ts +79 -15
  384. package/src/multistream/receiveSlot.ts +42 -13
  385. package/src/multistream/receiveSlotManager.ts +35 -21
  386. package/src/multistream/remoteMedia.ts +15 -5
  387. package/src/multistream/remoteMediaGroup.ts +4 -3
  388. package/src/multistream/remoteMediaManager.ts +152 -36
  389. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  390. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  391. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  392. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  393. package/src/reachability/{index.js → index.ts} +99 -83
  394. package/src/reachability/request.ts +39 -33
  395. package/src/reactions/constants.ts +4 -0
  396. package/src/reactions/reactions.ts +104 -0
  397. package/src/reactions/reactions.type.ts +62 -0
  398. package/src/reconnection-manager/{index.js → index.ts} +195 -102
  399. package/src/recording-controller/enums.ts +8 -0
  400. package/src/recording-controller/index.ts +315 -0
  401. package/src/recording-controller/util.ts +58 -0
  402. package/src/roap/{index.js → index.ts} +73 -56
  403. package/src/roap/request.ts +157 -0
  404. package/src/roap/turnDiscovery.ts +77 -37
  405. package/src/statsAnalyzer/global.ts +37 -0
  406. package/src/statsAnalyzer/index.ts +1234 -0
  407. package/src/statsAnalyzer/mqaUtil.ts +293 -0
  408. package/src/transcription/{index.js → index.ts} +46 -39
  409. package/test/integration/spec/converged-space-meetings.js +176 -0
  410. package/test/integration/spec/journey.js +664 -463
  411. package/test/integration/spec/space-meeting.js +320 -206
  412. package/test/integration/spec/transcription.js +7 -8
  413. package/test/unit/spec/breakouts/breakout.ts +147 -0
  414. package/test/unit/spec/breakouts/collection.ts +15 -0
  415. package/test/unit/spec/breakouts/index.ts +464 -0
  416. package/test/unit/spec/breakouts/request.ts +104 -0
  417. package/test/unit/spec/breakouts/utils.js +21 -0
  418. package/test/unit/spec/common/browser-detection.js +9 -28
  419. package/test/unit/spec/controls-options-manager/index.js +124 -0
  420. package/test/unit/spec/controls-options-manager/util.js +66 -0
  421. package/test/unit/spec/fixture/locus.js +92 -90
  422. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  423. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  424. package/test/unit/spec/locus-info/index.js +104 -2
  425. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  426. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  427. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  428. package/test/unit/spec/locus-info/parser.js +3 -9
  429. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  430. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  431. package/test/unit/spec/media/index.ts +31 -47
  432. package/test/unit/spec/media/properties.ts +9 -9
  433. package/test/unit/spec/meeting/effectsState.js +39 -45
  434. package/test/unit/spec/meeting/in-meeting-actions.ts +13 -2
  435. package/test/unit/spec/meeting/index.js +2214 -746
  436. package/test/unit/spec/meeting/muteState.js +43 -34
  437. package/test/unit/spec/meeting/request.js +115 -44
  438. package/test/unit/spec/meeting/utils.js +104 -171
  439. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  440. package/test/unit/spec/meeting-info/request.js +7 -9
  441. package/test/unit/spec/meeting-info/util.js +11 -12
  442. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  443. package/test/unit/spec/meetings/collection.js +1 -1
  444. package/test/unit/spec/meetings/index.js +439 -257
  445. package/test/unit/spec/meetings/utils.js +14 -12
  446. package/test/unit/spec/member/index.js +0 -1
  447. package/test/unit/spec/member/util.js +31 -7
  448. package/test/unit/spec/members/index.js +104 -54
  449. package/test/unit/spec/members/request.js +29 -20
  450. package/test/unit/spec/members/utils.js +8 -5
  451. package/test/unit/spec/metrics/index.js +16 -21
  452. package/test/unit/spec/multistream/mediaRequestManager.ts +312 -50
  453. package/test/unit/spec/multistream/receiveSlot.ts +57 -6
  454. package/test/unit/spec/multistream/receiveSlotManager.ts +41 -13
  455. package/test/unit/spec/multistream/remoteMedia.ts +10 -2
  456. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  457. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  458. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  459. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  460. package/test/unit/spec/reachability/index.ts +58 -26
  461. package/test/unit/spec/reconnection-manager/index.js +102 -9
  462. package/test/unit/spec/recording-controller/index.js +231 -0
  463. package/test/unit/spec/recording-controller/util.js +102 -0
  464. package/test/unit/spec/roap/index.ts +2 -1
  465. package/test/unit/spec/roap/request.ts +114 -0
  466. package/test/unit/spec/roap/turnDiscovery.ts +64 -45
  467. package/test/unit/spec/stats-analyzer/index.js +86 -57
  468. package/test/utils/cmr.js +44 -42
  469. package/test/utils/constants.js +9 -0
  470. package/test/utils/testUtils.js +96 -80
  471. package/test/utils/webex-config.js +22 -18
  472. package/test/utils/webex-test-users.js +57 -50
  473. package/tsconfig.json +6 -0
  474. package/dist/media/internal-media-core-wrapper.js +0 -22
  475. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  476. package/dist/multistream/multistreamMedia.js +0 -116
  477. package/dist/multistream/multistreamMedia.js.map +0 -1
  478. package/dist/peer-connection-manager/util.js +0 -124
  479. package/dist/peer-connection-manager/util.js.map +0 -1
  480. package/src/common/logs/logger-proxy.js +0 -33
  481. package/src/locus-info/controlsUtils.js +0 -102
  482. package/src/media/internal-media-core-wrapper.ts +0 -9
  483. package/src/mediaQualityMetrics/config.js +0 -382
  484. package/src/meeting-info/meeting-info-v2.js +0 -255
  485. package/src/meetings/index.js +0 -1015
  486. package/src/multistream/multistreamMedia.ts +0 -92
  487. package/src/peer-connection-manager/util.ts +0 -117
  488. package/src/roap/request.js +0 -127
  489. package/src/statsAnalyzer/global.js +0 -133
  490. package/src/statsAnalyzer/index.js +0 -1006
  491. package/src/statsAnalyzer/mqaUtil.js +0 -173
  492. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  493. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["intervals","audioReceive","common","direction","isMain","mariFecEnabled","mariQosEnabled","multistreamEnabled","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","mediaHopByHopLost","rtcpBitrate","rtcpPackets","rtpBitrate","rtpHopByHopLost","rtpPackets","rtpRecovered","rtxBitrate","rtxPackets","srtcpUnprotectErrors","srtpUnprotectErrors","stunBitrate","stunPackets","transportType","streams","codec","concealedFrames","csi","maxConcealRunLength","optimalBitrate","optimalFrameRate","receivedBitrate","receivedFrameRate","renderedFrameRate","requestedBitrate","requestedFrameRate","rtpEndToEndLost","maxRtpJitter","meanRtpJitter","ssci","audioTransmit","availableBitrate","queueDelay","remoteJitter","remoteLossRate","remoteReceiveRate","roundTripTime","requestedFrames","transmittedBitrate","transmittedFrameRate","intervalMetadata","peerReflexiveIP","peripherals","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","intervalNumber","videoReceive","rtpJitter","h264CodecProfile","isActiveSpeaker","optimalFrameSize","receivedFrameSize","receivedHeight","receivedKeyFrames","receivedKeyFramesForRequest","receivedKeyFramesSourceChange","receivedKeyFramesUnknown","receivedWidth","requestedFrameSize","requestedKeyFrames","videoTransmit","duplicateSsci","isAvatar","isHardwareEncoded","localConfigurationChanges","maxFrameQp","maxNoiseLevel","minRegionQp","remoteConfigurationChanges","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedKeyFramesClient","transmittedKeyFramesConfigurationChange","transmittedKeyFramesFeedback","transmittedKeyFramesLocalDrop","transmittedKeyFramesOtherLayer","transmittedKeyFramesPeriodic","transmittedKeyFramesSceneChange","transmittedKeyFramesStartup","transmittedKeyFramesUnknown","transmittedWidth"],"sources":["config.js"],"sourcesContent":["\nexport default {\n intervals: [\n {\n audioReceive: [\n {\n common: {\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariQosEnabled: false,\n multistreamEnabled: false\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n srtcpUnprotectErrors: 0,\n srtpUnprotectErrors: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP'\n },\n streams: [\n {\n common: {\n codec: 'opus',\n concealedFrames: 0,\n csi: [],\n maxConcealRunLength: 0,\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0,\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n maxRtpJitter: 0,\n meanRtpJitter: 0,\n rtpPackets: 0,\n ssci: 0\n }\n }\n ]\n }\n ],\n audioTransmit: [\n {\n common: {\n availableBitrate: 0,\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariQosEnabled: false,\n multistreamEnabled: false\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n queueDelay: 0,\n remoteJitter: 0,\n remoteLossRate: 0,\n remoteReceiveRate: 0,\n roundTripTime: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpPackets: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP'\n },\n streams: [\n {\n common: {\n codec: 'opus',\n requestedBitrate: 0,\n requestedFrames: 0,\n rtpPackets: 0,\n ssci: 0,\n transmittedBitrate: 0,\n transmittedFrameRate: 0\n }\n }\n ]\n }\n ],\n intervalMetadata: {\n peerReflexiveIP: '0.0.0.0',\n peripherals: [],\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0\n },\n intervalNumber: 0,\n videoReceive: [\n {\n common: {\n common: {\n direction: 'inactive',\n isMain: true, // Not avaliable\n mariFecEnabled: true, // Not avaliable\n mariQosEnabled: true, // Not avaliable\n multistreamEnabled: true// Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // Not avaliable\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0, // Not avaliable\n rtcpPackets: 0, // Not avaliable\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0, // Not avaliable\n rtxBitrate: 0, // Not avaliable\n rtxPackets: 0, // Not avaliable\n srtcpUnprotectErrors: 0, // Not avaliable\n srtpUnprotectErrors: 0, // Not avaliable\n stunBitrate: 0, // Not avaliable\n stunPackets: 0, // Not avaliable\n transportType: 'UDP'\n },\n streams: [\n {\n common: {\n codec: 'H264',\n concealedFrames: 0, // Not avaliable\n csi: [], // Not avaliable\n maxConcealRunLength: 0, // Not avaliable\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0, // Not avaliable\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n rtpJitter: 0,\n rtpPackets: 0,\n ssci: 0// Not avaliable\n },\n h264CodecProfile: 'BP',\n isActiveSpeaker: true,\n optimalFrameSize: 0, // Not avaliable\n receivedFrameSize: 0,\n receivedHeight: 0,\n receivedKeyFrames: 0,\n receivedKeyFramesForRequest: 0,\n receivedKeyFramesSourceChange: 0,\n receivedKeyFramesUnknown: 0,\n receivedWidth: 0,\n requestedFrameSize: 0,\n requestedKeyFrames: 0\n }\n ]\n },\n {\n common: {\n common: {\n direction: 'inactive',\n isMain: false, // Not avaliable\n mariFecEnabled: true, // Not avaliable\n mariQosEnabled: true, // Not avaliable\n multistreamEnabled: true// Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // Not avaliable\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0, // Not avaliable\n rtcpPackets: 0, // Not avaliable\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0, // Not avaliable\n rtxBitrate: 0, // Not avaliable\n rtxPackets: 0, // Not avaliable\n srtcpUnprotectErrors: 0, // Not avaliable\n srtpUnprotectErrors: 0, // Not avaliable\n stunBitrate: 0, // Not avaliable\n stunPackets: 0, // Not avaliable\n transportType: 'UDP'\n },\n streams: [\n {\n common: {\n codec: 'H264',\n concealedFrames: 0, // Not avaliable\n csi: [], // Not avaliable\n maxConcealRunLength: 0, // Not avaliable\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0, // Not avaliable\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n rtpJitter: 0,\n rtpPackets: 0,\n ssci: 0// Not avaliable\n },\n h264CodecProfile: 'BP',\n isActiveSpeaker: true,\n optimalFrameSize: 0, // Not avaliable\n receivedFrameSize: 0,\n receivedHeight: 0,\n receivedKeyFrames: 0,\n receivedKeyFramesForRequest: 0,\n receivedKeyFramesSourceChange: 0,\n receivedKeyFramesUnknown: 0,\n receivedWidth: 0,\n requestedFrameSize: 0,\n requestedKeyFrames: 0\n }\n ]\n }\n ],\n videoTransmit: [\n {\n common: {\n availableBitrate: 0, // Not avaliable currently hardcoded\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false, // Not avaliable\n mariQosEnabled: false, // Not avaliable\n multistreamEnabled: false// Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // TODO: check inbound-rtp// Not avaliable\n maxBitrate: 0, // Currently hardcoded\n queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay\n remoteJitter: 0, // remoteInboundRtp.jitter\n remoteLossRate: 0, // comparedResults.lossRate\n remoteReceiveRate: 0, // compareResults.packetsLost\n roundTripTime: 0, // compareResults.roundTripTime\n rtcpBitrate: 0, // Dont have access to it\n rtcpPackets: 0, // Dont have access to rtcp\n rtpBitrate: 0, // Dont have access\n rtpPackets: 0, // outboundRtp.packetsSent\n rtxBitrate: 0, // Dont have access to it\n rtxPackets: 0, // Dont have access to it\n stunBitrate: 0, // Dont have access to it\n stunPackets: 0, // Dont have access to it\n transportType: 'UDP' // TODO: need to calculate\n },\n streams: [\n {\n common: {\n codec: 'H264',\n duplicateSsci: 0, // Not Avaliable\n requestedBitrate: 0, // TODO: from remote SDP\n requestedFrames: 0, // TODO: from remote SDP\n rtpPackets: 0, // same as rtp packets\n ssci: 0,\n transmittedBitrate: 0, // TODO: get in the candidate pair\n transmittedFrameRate: 0 // TODO: from track info\n },\n h264CodecProfile: 'BP', // TODO: from localSDP\n isAvatar: false, // Not Avaliable\n isHardwareEncoded: false, // Not Avaliable\n localConfigurationChanges: 2, // Not Avaliable\n maxFrameQp: 0, // Not Avaliable\n maxNoiseLevel: 0, // Not Avaliable\n minRegionQp: 0, // Not Avaliable\n remoteConfigurationChanges: 0, // Not Avaliable\n requestedFrameSize: 0, // TODO: from remote SDP\n requestedKeyFrames: 0, // outbound Fir request\n transmittedFrameSize: 0, // Not Avaliable\n transmittedHeight: 0,\n transmittedKeyFrames: 0, // Key frames encoded\n transmittedKeyFramesClient: 0, // Not Avaliable\n transmittedKeyFramesConfigurationChange: 0, // Not Avaliable\n transmittedKeyFramesFeedback: 0, // Not Avaliable\n transmittedKeyFramesLocalDrop: 0, // Not Avaliable\n transmittedKeyFramesOtherLayer: 0, // Not Avaliable\n transmittedKeyFramesPeriodic: 0, // Not Avaliable\n transmittedKeyFramesSceneChange: 0, // Not Avaliable\n transmittedKeyFramesStartup: 0, // Not Avaliable\n transmittedKeyFramesUnknown: 0, // Not Avaliable\n transmittedWidth: 0\n }\n ]\n },\n { // sceen sharing\n common: {\n availableBitrate: 0, // Not avaliable currently hardcoded\n common: {\n direction: 'inactive',\n isMain: false,\n mariFecEnabled: false, // Not avaliable\n mariQosEnabled: false, // Not avaliable\n multistreamEnabled: false// Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // TODO: check inbound-rtp// Not avaliable\n maxBitrate: 0, // Currently hardcoded\n queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay\n remoteJitter: 0, // remoteInboundRtp.jitter\n remoteLossRate: 0, // comparedResults.lossRate\n remoteReceiveRate: 0, // compareResults.packetsLost\n roundTripTime: 0, // compareResults.roundTripTime\n rtcpBitrate: 0, // Dont have access to it\n rtcpPackets: 0, // Dont have access to rtcp\n rtpBitrate: 0, // Dont have access\n rtpPackets: 0, // outboundRtp.packetsSent\n rtxBitrate: 0, // Dont have access to it\n rtxPackets: 0, // Dont have access to it\n stunBitrate: 0, // Dont have access to it\n stunPackets: 0, // Dont have access to it\n transportType: 'UDP' // TODO: need to calculate\n },\n streams: [\n {\n common: {\n codec: 'H264',\n duplicateSsci: 0, // Not Avaliable\n requestedBitrate: 0, // TODO: from remote SDP\n requestedFrames: 0, // TODO: from remote SDP\n rtpPackets: 0, // same as rtp packets\n ssci: 0,\n transmittedBitrate: 0, // TODO: get in the candidate pair\n transmittedFrameRate: 0 // TODO: from track info\n },\n h264CodecProfile: 'BP', // TODO: from localSDP\n isAvatar: false, // Not Avaliable\n isHardwareEncoded: false, // Not Avaliable\n localConfigurationChanges: 2, // Not Avaliable\n maxFrameQp: 0, // Not Avaliable\n maxNoiseLevel: 0, // Not Avaliable\n minRegionQp: 0, // Not Avaliable\n remoteConfigurationChanges: 0, // Not Avaliable\n requestedFrameSize: 0, // TODO: from remote SDP\n requestedKeyFrames: 0, // outbound Fir request\n transmittedFrameSize: 0, // Not Avaliable\n transmittedHeight: 0,\n transmittedKeyFrames: 0, // Key frames encoded\n transmittedKeyFramesClient: 0, // Not Avaliable\n transmittedKeyFramesConfigurationChange: 0, // Not Avaliable\n transmittedKeyFramesFeedback: 0, // Not Avaliable\n transmittedKeyFramesLocalDrop: 0, // Not Avaliable\n transmittedKeyFramesOtherLayer: 0, // Not Avaliable\n transmittedKeyFramesPeriodic: 0, // Not Avaliable\n transmittedKeyFramesSceneChange: 0, // Not Avaliable\n transmittedKeyFramesStartup: 0, // Not Avaliable\n transmittedKeyFramesUnknown: 0, // Not Avaliable\n transmittedWidth: 0\n }\n ]\n }\n ]\n }\n ]\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["emptyMqaInterval","audioReceive","audioTransmit","intervalMetadata","peerReflexiveIP","peripherals","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","networkType","intervalNumber","videoReceive","videoTransmit","emptyAudioReceive","common","direction","isMain","mariFecEnabled","mariQosEnabled","multistreamEnabled","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","mediaHopByHopLost","rtcpBitrate","rtcpPackets","rtpBitrate","rtpHopByHopLost","rtpPackets","rtpRecovered","rtxBitrate","rtxPackets","srtcpUnprotectErrors","srtpUnprotectErrors","stunBitrate","stunPackets","transportType","streams","codec","concealedFrames","csi","maxConcealRunLength","optimalBitrate","optimalFrameRate","receivedBitrate","receivedFrameRate","renderedFrameRate","requestedBitrate","requestedFrameRate","rtpEndToEndLost","maxRtpJitter","meanRtpJitter","ssci","emptyAudioTransmit","availableBitrate","queueDelay","remoteJitter","remoteLossRate","remoteReceiveRate","roundTripTime","requestedFrames","transmittedBitrate","transmittedFrameRate","emptyVideoReceive","rtpJitter","h264CodecProfile","isActiveSpeaker","optimalFrameSize","receivedFrameSize","receivedHeight","receivedKeyFrames","receivedKeyFramesForRequest","receivedKeyFramesSourceChange","receivedKeyFramesUnknown","receivedWidth","requestedFrameSize","requestedKeyFrames","emptyVideoTransmit","duplicateSsci","isAvatar","isHardwareEncoded","localConfigurationChanges","maxFrameQp","maxNoiseLevel","minRegionQp","remoteConfigurationChanges","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedKeyFramesClient","transmittedKeyFramesConfigurationChange","transmittedKeyFramesFeedback","transmittedKeyFramesLocalDrop","transmittedKeyFramesOtherLayer","transmittedKeyFramesPeriodic","transmittedKeyFramesSceneChange","transmittedKeyFramesStartup","transmittedKeyFramesUnknown","transmittedWidth","emptyVideoShareReceive","emptyVideoShareTransmit"],"sources":["config.ts"],"sourcesContent":["export const emptyMqaInterval = {\n audioReceive: [],\n audioTransmit: [],\n intervalMetadata: {\n peerReflexiveIP: '0.0.0.0',\n peripherals: [],\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0,\n },\n networkType: '',\n intervalNumber: 0,\n videoReceive: [],\n videoTransmit: [],\n};\n\nexport const emptyAudioReceive = {\n common: {\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariQosEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n srtcpUnprotectErrors: 0,\n srtpUnprotectErrors: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP',\n },\n streams: [\n {\n common: {\n codec: 'opus',\n concealedFrames: 0,\n csi: [],\n maxConcealRunLength: 0,\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0,\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n maxRtpJitter: 0,\n meanRtpJitter: 0,\n rtpPackets: 0,\n ssci: 0,\n },\n },\n ],\n};\n\nexport const emptyAudioTransmit = {\n common: {\n availableBitrate: 0,\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false,\n mariQosEnabled: false,\n multistreamEnabled: false,\n },\n dtlsBitrate: 0,\n dtlsPackets: 0,\n fecBitrate: 0,\n fecPackets: 0,\n maxBitrate: 0,\n queueDelay: 0,\n remoteJitter: 0,\n remoteLossRate: 0,\n remoteReceiveRate: 0,\n roundTripTime: 0,\n rtcpBitrate: 0,\n rtcpPackets: 0,\n rtpBitrate: 0,\n rtpPackets: 0,\n rtxBitrate: 0,\n rtxPackets: 0,\n stunBitrate: 0,\n stunPackets: 0,\n transportType: 'UDP',\n },\n streams: [\n {\n common: {\n codec: 'opus',\n csi: [],\n requestedBitrate: 0,\n requestedFrames: 0,\n rtpPackets: 0,\n ssci: 0,\n transmittedBitrate: 0,\n transmittedFrameRate: 0,\n },\n },\n ],\n};\n\nexport const emptyVideoReceive = {\n common: {\n common: {\n direction: 'inactive',\n isMain: true, // Not avaliable\n mariFecEnabled: true, // Not avaliable\n mariQosEnabled: true, // Not avaliable\n multistreamEnabled: true, // Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // Not avaliable\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0, // Not avaliable\n rtcpPackets: 0, // Not avaliable\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0, // Not avaliable\n rtxBitrate: 0, // Not avaliable\n rtxPackets: 0, // Not avaliable\n srtcpUnprotectErrors: 0, // Not avaliable\n srtpUnprotectErrors: 0, // Not avaliable\n stunBitrate: 0, // Not avaliable\n stunPackets: 0, // Not avaliable\n transportType: 'UDP',\n },\n streams: [\n {\n common: {\n codec: 'H264',\n concealedFrames: 0, // Not avaliable\n csi: [],\n maxConcealRunLength: 0, // Not avaliable\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0, // Not avaliable\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n rtpJitter: 0,\n rtpPackets: 0,\n ssci: 0, // Not avaliable\n },\n h264CodecProfile: 'BP',\n isActiveSpeaker: true,\n optimalFrameSize: 0, // Not avaliable\n receivedFrameSize: 0,\n receivedHeight: 0,\n receivedKeyFrames: 0,\n receivedKeyFramesForRequest: 0,\n receivedKeyFramesSourceChange: 0,\n receivedKeyFramesUnknown: 0,\n receivedWidth: 0,\n requestedFrameSize: 0,\n requestedKeyFrames: 0,\n },\n ],\n};\n\nexport const emptyVideoTransmit = {\n common: {\n availableBitrate: 0, // Not avaliable currently hardcoded\n common: {\n direction: 'inactive',\n isMain: true,\n mariFecEnabled: false, // Not avaliable\n mariQosEnabled: false, // Not avaliable\n multistreamEnabled: false, // Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // TODO: check inbound-rtp// Not avaliable\n maxBitrate: 0, // Currently hardcoded\n queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay\n remoteJitter: 0, // remoteInboundRtp.jitter\n remoteLossRate: 0, // comparedResults.lossRate\n remoteReceiveRate: 0, // compareResults.packetsLost\n roundTripTime: 0, // compareResults.roundTripTime\n rtcpBitrate: 0, // Dont have access to it\n rtcpPackets: 0, // Dont have access to rtcp\n rtpBitrate: 0, // Dont have access\n rtpPackets: 0, // outboundRtp.packetsSent\n rtxBitrate: 0, // Dont have access to it\n rtxPackets: 0, // Dont have access to it\n stunBitrate: 0, // Dont have access to it\n stunPackets: 0, // Dont have access to it\n transportType: 'UDP', // TODO: need to calculate\n },\n streams: [\n {\n common: {\n codec: 'H264',\n csi: [],\n duplicateSsci: 0, // Not Avaliable\n requestedBitrate: 0, // TODO: from remote SDP\n requestedFrames: 0, // TODO: from remote SDP\n rtpPackets: 0, // same as rtp packets\n ssci: 0,\n transmittedBitrate: 0, // TODO: get in the candidate pair\n transmittedFrameRate: 0, // TODO: from track info\n },\n h264CodecProfile: 'BP', // TODO: from localSDP\n isAvatar: false, // Not Avaliable\n isHardwareEncoded: false, // Not Avaliable\n localConfigurationChanges: 2, // Not Avaliable\n maxFrameQp: 0, // Not Avaliable\n maxNoiseLevel: 0, // Not Avaliable\n minRegionQp: 0, // Not Avaliable\n remoteConfigurationChanges: 0, // Not Avaliable\n requestedFrameSize: 0, // TODO: from remote SDP\n requestedKeyFrames: 0, // outbound Fir request\n transmittedFrameSize: 0, // Not Avaliable\n transmittedHeight: 0,\n transmittedKeyFrames: 0, // Key frames encoded\n transmittedKeyFramesClient: 0, // Not Avaliable\n transmittedKeyFramesConfigurationChange: 0, // Not Avaliable\n transmittedKeyFramesFeedback: 0, // Not Avaliable\n transmittedKeyFramesLocalDrop: 0, // Not Avaliable\n transmittedKeyFramesOtherLayer: 0, // Not Avaliable\n transmittedKeyFramesPeriodic: 0, // Not Avaliable\n transmittedKeyFramesSceneChange: 0, // Not Avaliable\n transmittedKeyFramesStartup: 0, // Not Avaliable\n transmittedKeyFramesUnknown: 0, // Not Avaliable\n transmittedWidth: 0,\n },\n ],\n};\n\nexport const emptyVideoShareReceive = {\n common: {\n common: {\n direction: 'inactive',\n isMain: false, // Not avaliable\n mariFecEnabled: true, // Not avaliable\n mariQosEnabled: true, // Not avaliable\n multistreamEnabled: true, // Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // Not avaliable\n maxBitrate: 0,\n mediaHopByHopLost: 0,\n rtcpBitrate: 0, // Not avaliable\n rtcpPackets: 0, // Not avaliable\n rtpBitrate: 0,\n rtpHopByHopLost: 0,\n rtpPackets: 0,\n rtpRecovered: 0, // Not avaliable\n rtxBitrate: 0, // Not avaliable\n rtxPackets: 0, // Not avaliable\n srtcpUnprotectErrors: 0, // Not avaliable\n srtpUnprotectErrors: 0, // Not avaliable\n stunBitrate: 0, // Not avaliable\n stunPackets: 0, // Not avaliable\n transportType: 'UDP',\n },\n streams: [\n {\n common: {\n codec: 'H264',\n concealedFrames: 0, // Not avaliable\n csi: [],\n maxConcealRunLength: 0, // Not avaliable\n optimalBitrate: 0,\n optimalFrameRate: 0,\n receivedBitrate: 0,\n receivedFrameRate: 0,\n renderedFrameRate: 0, // Not avaliable\n requestedBitrate: 0,\n requestedFrameRate: 0,\n rtpEndToEndLost: 0,\n rtpJitter: 0,\n rtpPackets: 0,\n ssci: 0, // Not avaliable\n },\n h264CodecProfile: 'BP',\n isActiveSpeaker: true,\n optimalFrameSize: 0, // Not avaliable\n receivedFrameSize: 0,\n receivedHeight: 0,\n receivedKeyFrames: 0,\n receivedKeyFramesForRequest: 0,\n receivedKeyFramesSourceChange: 0,\n receivedKeyFramesUnknown: 0,\n receivedWidth: 0,\n requestedFrameSize: 0,\n requestedKeyFrames: 0,\n },\n ],\n};\n\nexport const emptyVideoShareTransmit = {\n // sceen sharing\n common: {\n availableBitrate: 0, // Not avaliable currently hardcoded\n common: {\n direction: 'inactive',\n isMain: false,\n mariFecEnabled: false, // Not avaliable\n mariQosEnabled: false, // Not avaliable\n multistreamEnabled: false, // Not avaliable\n },\n dtlsBitrate: 0, // Not avaliable\n dtlsPackets: 0, // Not avaliable\n fecBitrate: 0, // Not avaliable\n fecPackets: 0, // TODO: check inbound-rtp// Not avaliable\n maxBitrate: 0, // Currently hardcoded\n queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay\n remoteJitter: 0, // remoteInboundRtp.jitter\n remoteLossRate: 0, // comparedResults.lossRate\n remoteReceiveRate: 0, // compareResults.packetsLost\n roundTripTime: 0, // compareResults.roundTripTime\n rtcpBitrate: 0, // Dont have access to it\n rtcpPackets: 0, // Dont have access to rtcp\n rtpBitrate: 0, // Dont have access\n rtpPackets: 0, // outboundRtp.packetsSent\n rtxBitrate: 0, // Dont have access to it\n rtxPackets: 0, // Dont have access to it\n stunBitrate: 0, // Dont have access to it\n stunPackets: 0, // Dont have access to it\n transportType: 'UDP', // TODO: need to calculate\n },\n streams: [\n {\n common: {\n codec: 'H264',\n csi: [],\n duplicateSsci: 0, // Not Avaliable\n requestedBitrate: 0, // TODO: from remote SDP\n requestedFrames: 0, // TODO: from remote SDP\n rtpPackets: 0, // same as rtp packets\n ssci: 0,\n transmittedBitrate: 0, // TODO: get in the candidate pair\n transmittedFrameRate: 0, // TODO: from track info\n },\n h264CodecProfile: 'BP', // TODO: from localSDP\n isAvatar: false, // Not Avaliable\n isHardwareEncoded: false, // Not Avaliable\n localConfigurationChanges: 2, // Not Avaliable\n maxFrameQp: 0, // Not Avaliable\n maxNoiseLevel: 0, // Not Avaliable\n minRegionQp: 0, // Not Avaliable\n remoteConfigurationChanges: 0, // Not Avaliable\n requestedFrameSize: 0, // TODO: from remote SDP\n requestedKeyFrames: 0, // outbound Fir request\n transmittedFrameSize: 0, // Not Avaliable\n transmittedHeight: 0,\n transmittedKeyFrames: 0, // Key frames encoded\n transmittedKeyFramesClient: 0, // Not Avaliable\n transmittedKeyFramesConfigurationChange: 0, // Not Avaliable\n transmittedKeyFramesFeedback: 0, // Not Avaliable\n transmittedKeyFramesLocalDrop: 0, // Not Avaliable\n transmittedKeyFramesOtherLayer: 0, // Not Avaliable\n transmittedKeyFramesPeriodic: 0, // Not Avaliable\n transmittedKeyFramesSceneChange: 0, // Not Avaliable\n transmittedKeyFramesStartup: 0, // Not Avaliable\n transmittedKeyFramesUnknown: 0, // Not Avaliable\n transmittedWidth: 0,\n },\n ],\n};\n"],"mappings":"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"}
@@ -1,102 +1,83 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
14
-
15
10
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
18
-
19
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
23
15
  var _internalMediaCore = require("@webex/internal-media-core");
24
-
25
16
  var _constants = _interopRequireDefault(require("../metrics/constants"));
26
-
27
17
  var _metrics = _interopRequireDefault(require("../metrics"));
28
-
29
18
  var _util = _interopRequireDefault(require("../media/util"));
30
-
31
19
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
32
-
33
20
  var _constants2 = require("../constants");
34
-
35
21
  /* eslint-disable no-param-reassign */
22
+
36
23
  var createEffectsState = function createEffectsState(type) {
37
24
  _loggerProxy.default.logger.info("Meeting:effectState#createEffectsState --> creating effectsState for effect ".concat(type));
38
-
39
25
  return new EffectsState(type);
40
26
  };
41
- /* The purpose of this class is to manage the effects state(for eg., BNR).
42
- */
43
-
44
27
 
28
+ /* The purpose of this class is to manage the effects state(for eg., BNR).
29
+ */
45
30
  var EffectsState = /*#__PURE__*/function () {
46
31
  function EffectsState(type) {
47
32
  (0, _classCallCheck2.default)(this, EffectsState);
33
+ (0, _defineProperty2.default)(this, "effectType", void 0);
34
+ (0, _defineProperty2.default)(this, "pendingPromiseReject", void 0);
35
+ (0, _defineProperty2.default)(this, "pendingPromiseResolve", void 0);
36
+ (0, _defineProperty2.default)(this, "state", void 0);
48
37
  this.effectType = type;
49
38
  this.state = {
50
39
  bnr: {
51
40
  enabled: _constants2.BNR_STATUS.NOT_ENABLED
52
41
  },
53
42
  callToWebrtcBNRInProgress: false
54
- }; // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call
55
-
43
+ };
44
+ // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call
56
45
  this.pendingPromiseResolve = null;
57
46
  this.pendingPromiseReject = null;
58
47
  }
48
+
59
49
  /**
60
50
  * @memberof EffectsState
61
51
  * @param {Boolean} [isEnable] true for enableBNR, false for disableBNR request
62
52
  * @param {Object} [meeting] the meeting object
63
53
  * @returns {Promise}
64
54
  */
65
-
66
-
67
55
  (0, _createClass2.default)(EffectsState, [{
68
56
  key: "handleClientRequest",
69
57
  value: function () {
70
58
  var _handleClientRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(isEnable, meeting) {
71
59
  var _this = this;
72
-
73
60
  return _regenerator.default.wrap(function _callee$(_context) {
74
- while (1) {
75
- switch (_context.prev = _context.next) {
76
- case 0:
77
- return _context.abrupt("return", new _promise.default(function (resolve, reject) {
78
- if (_this.pendingPromiseResolve) {
79
- // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one
80
- _this.pendingPromiseResolve();
81
- }
82
-
83
- _this.pendingPromiseResolve = resolve;
84
- _this.pendingPromiseReject = reject;
85
- if (isEnable) _this.enableBNR(meeting);else _this.disableBNR(meeting);
86
- }));
87
-
88
- case 1:
89
- case "end":
90
- return _context.stop();
91
- }
61
+ while (1) switch (_context.prev = _context.next) {
62
+ case 0:
63
+ return _context.abrupt("return", new _promise.default(function (resolve, reject) {
64
+ if (_this.pendingPromiseResolve) {
65
+ // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one
66
+ _this.pendingPromiseResolve();
67
+ }
68
+ _this.pendingPromiseResolve = resolve;
69
+ _this.pendingPromiseReject = reject;
70
+ if (isEnable) _this.enableBNR(meeting);else _this.disableBNR(meeting);
71
+ }));
72
+ case 1:
73
+ case "end":
74
+ return _context.stop();
92
75
  }
93
76
  }, _callee);
94
77
  }));
95
-
96
78
  function handleClientRequest(_x, _x2) {
97
79
  return _handleClientRequest.apply(this, arguments);
98
80
  }
99
-
100
81
  return handleClientRequest;
101
82
  }()
102
83
  /**
@@ -106,7 +87,6 @@ var EffectsState = /*#__PURE__*/function () {
106
87
  * @public
107
88
  * @memberof Meeting
108
89
  */
109
-
110
90
  }, {
111
91
  key: "isBnrEnabled",
112
92
  value: function isBnrEnabled() {
@@ -118,7 +98,6 @@ var EffectsState = /*#__PURE__*/function () {
118
98
  if (this.pendingPromiseResolve) {
119
99
  this.pendingPromiseResolve(true);
120
100
  }
121
-
122
101
  this.pendingPromiseResolve = null;
123
102
  this.pendingPromiseReject = null;
124
103
  }
@@ -128,10 +107,10 @@ var EffectsState = /*#__PURE__*/function () {
128
107
  if (this.pendingPromiseReject) {
129
108
  this.pendingPromiseReject(e);
130
109
  }
131
-
132
110
  this.pendingPromiseResolve = null;
133
111
  this.pendingPromiseReject = null;
134
112
  }
113
+
135
114
  /**
136
115
  * enableBNR API
137
116
  * @param {Object} meeting the meeting object
@@ -139,95 +118,71 @@ var EffectsState = /*#__PURE__*/function () {
139
118
  * @public
140
119
  * @memberof EffectsState
141
120
  */
142
-
143
121
  }, {
144
122
  key: "enableBNR",
145
123
  value: function () {
146
124
  var _enableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(meeting) {
147
125
  var bnr, audioStream;
148
126
  return _regenerator.default.wrap(function _callee2$(_context2) {
149
- while (1) {
150
- switch (_context2.prev = _context2.next) {
151
- case 0:
152
- _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Enable BNR called');
153
-
154
- if (!this.isBnrEnabled()) {
155
- _context2.next = 4;
156
- break;
157
- }
158
-
159
- _loggerProxy.default.logger.warn('Meeting:index#enableBNR. BNR is already enabled');
160
-
161
- return _context2.abrupt("return", this.resolvePromise());
162
-
163
- case 4:
164
- if (!this.state.callToWebrtcBNRInProgress) {
165
- _context2.next = 7;
166
- break;
167
- }
168
-
169
- _loggerProxy.default.logger.warn('Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete');
170
-
171
- return _context2.abrupt("return", this.resolvePromise());
172
-
173
- case 7:
174
- bnr = this.state.bnr;
175
- _context2.prev = 8;
176
- bnr.enabled = _constants2.BNR_STATUS.SHOULD_ENABLE;
177
- this.state.callToWebrtcBNRInProgress = true;
178
- audioStream = _util.default.createMediaStream([meeting.mediaProperties.audioTrack]);
179
-
180
- _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio');
181
-
182
- _context2.next = 15;
183
- return meeting.updateAudio({
184
- sendAudio: true,
185
- receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
186
- stream: audioStream
187
- });
188
-
189
- case 15:
190
- _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track');
191
-
192
- bnr.enabled = _constants2.BNR_STATUS.ENABLED;
193
- this.state.callToWebrtcBNRInProgress = false;
194
-
195
- _metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_SUCCESS);
196
-
197
- _context2.next = 29;
127
+ while (1) switch (_context2.prev = _context2.next) {
128
+ case 0:
129
+ _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Enable BNR called');
130
+ if (!this.isBnrEnabled()) {
131
+ _context2.next = 4;
198
132
  break;
199
-
200
- case 21:
201
- _context2.prev = 21;
202
- _context2.t0 = _context2["catch"](8);
203
- bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
204
- this.state.callToWebrtcBNRInProgress = false;
205
-
206
- _loggerProxy.default.logger.error('Meeting:index#enableBNR.', _context2.t0);
207
-
208
- _metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_FAILURE, {
209
- reason: _context2.t0.message,
210
- stack: _context2.t0.stack
211
- });
212
-
213
- this.rejectPromise(_context2.t0);
214
- throw _context2.t0;
215
-
216
- case 29:
217
- return _context2.abrupt("return", this.resolvePromise());
218
-
219
- case 30:
220
- case "end":
221
- return _context2.stop();
222
- }
133
+ }
134
+ _loggerProxy.default.logger.warn('Meeting:index#enableBNR. BNR is already enabled');
135
+ return _context2.abrupt("return", this.resolvePromise());
136
+ case 4:
137
+ if (!this.state.callToWebrtcBNRInProgress) {
138
+ _context2.next = 7;
139
+ break;
140
+ }
141
+ _loggerProxy.default.logger.warn('Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete');
142
+ return _context2.abrupt("return", this.resolvePromise());
143
+ case 7:
144
+ bnr = this.state.bnr;
145
+ _context2.prev = 8;
146
+ bnr.enabled = _constants2.BNR_STATUS.SHOULD_ENABLE;
147
+ this.state.callToWebrtcBNRInProgress = true;
148
+ audioStream = _util.default.createMediaStream([meeting.mediaProperties.audioTrack]);
149
+ _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio');
150
+ _context2.next = 15;
151
+ return meeting.updateAudio({
152
+ sendAudio: true,
153
+ receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
154
+ stream: audioStream
155
+ });
156
+ case 15:
157
+ _loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track');
158
+ bnr.enabled = _constants2.BNR_STATUS.ENABLED;
159
+ this.state.callToWebrtcBNRInProgress = false;
160
+ _metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_SUCCESS);
161
+ _context2.next = 29;
162
+ break;
163
+ case 21:
164
+ _context2.prev = 21;
165
+ _context2.t0 = _context2["catch"](8);
166
+ bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
167
+ this.state.callToWebrtcBNRInProgress = false;
168
+ _loggerProxy.default.logger.error('Meeting:index#enableBNR.', _context2.t0);
169
+ _metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_FAILURE, {
170
+ reason: _context2.t0.message,
171
+ stack: _context2.t0.stack
172
+ });
173
+ this.rejectPromise(_context2.t0);
174
+ throw _context2.t0;
175
+ case 29:
176
+ return _context2.abrupt("return", this.resolvePromise());
177
+ case 30:
178
+ case "end":
179
+ return _context2.stop();
223
180
  }
224
181
  }, _callee2, this, [[8, 21]]);
225
182
  }));
226
-
227
183
  function enableBNR(_x3) {
228
184
  return _enableBNR.apply(this, arguments);
229
185
  }
230
-
231
186
  return enableBNR;
232
187
  }()
233
188
  /**
@@ -237,91 +192,71 @@ var EffectsState = /*#__PURE__*/function () {
237
192
  * @public
238
193
  * @memberof EffectsState
239
194
  */
240
-
241
195
  }, {
242
196
  key: "disableBNR",
243
197
  value: function () {
244
198
  var _disableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(meeting) {
245
199
  var bnr, audioTrack, audioStream;
246
200
  return _regenerator.default.wrap(function _callee3$(_context3) {
247
- while (1) {
248
- switch (_context3.prev = _context3.next) {
249
- case 0:
250
- _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Disable BNR called');
251
-
252
- bnr = this.state.bnr;
253
- _context3.prev = 2;
254
-
255
- if (!this.state.callToWebrtcBNRInProgress) {
256
- _context3.next = 6;
257
- break;
258
- }
259
-
260
- _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete');
261
-
262
- return _context3.abrupt("return", this.resolvePromise());
263
-
264
- case 6:
265
- bnr.enabled = _constants2.BNR_STATUS.SHOULD_DISABLE;
266
- this.state.callToWebrtcBNRInProgress = true;
267
- audioTrack = _internalMediaCore.Media.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);
268
- audioStream = _util.default.createMediaStream([audioTrack]);
269
-
270
- _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio');
271
-
272
- _context3.next = 13;
273
- return meeting.updateAudio({
274
- sendAudio: true,
275
- receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
276
- stream: audioStream
277
- });
278
-
279
- case 13:
280
- bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
281
- this.state.callToWebrtcBNRInProgress = false;
282
-
283
- _metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_SUCCESS);
284
-
285
- _context3.next = 26;
201
+ while (1) switch (_context3.prev = _context3.next) {
202
+ case 0:
203
+ _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Disable BNR called');
204
+ bnr = this.state.bnr;
205
+ _context3.prev = 2;
206
+ if (!this.state.callToWebrtcBNRInProgress) {
207
+ _context3.next = 6;
286
208
  break;
287
-
288
- case 18:
289
- _context3.prev = 18;
290
- _context3.t0 = _context3["catch"](2);
291
- bnr.enabled = _constants2.BNR_STATUS.ENABLED;
292
- this.state.callToWebrtcBNRInProgress = false;
293
-
294
- _loggerProxy.default.logger.error("Meeting:index#disableBNR. ".concat(_context3.t0));
295
-
296
- _metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_FAILURE, {
297
- reason: _context3.t0.message,
298
- stack: _context3.t0.stack
299
- });
300
-
301
- this.rejectPromise(_context3.t0);
302
- throw _context3.t0;
303
-
304
- case 26:
305
- return _context3.abrupt("return", this.resolvePromise());
306
-
307
- case 27:
308
- case "end":
309
- return _context3.stop();
310
- }
209
+ }
210
+ _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete');
211
+ return _context3.abrupt("return", this.resolvePromise());
212
+ case 6:
213
+ bnr.enabled = _constants2.BNR_STATUS.SHOULD_DISABLE;
214
+ this.state.callToWebrtcBNRInProgress = true;
215
+
216
+ // @ts-ignore - disableBNR does not expect an argument
217
+ audioTrack = _internalMediaCore.Media.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);
218
+ audioStream = _util.default.createMediaStream([audioTrack]);
219
+ _loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio');
220
+ _context3.next = 13;
221
+ return meeting.updateAudio({
222
+ sendAudio: true,
223
+ receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
224
+ stream: audioStream
225
+ });
226
+ case 13:
227
+ bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
228
+ this.state.callToWebrtcBNRInProgress = false;
229
+ _metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_SUCCESS);
230
+ _context3.next = 26;
231
+ break;
232
+ case 18:
233
+ _context3.prev = 18;
234
+ _context3.t0 = _context3["catch"](2);
235
+ bnr.enabled = _constants2.BNR_STATUS.ENABLED;
236
+ this.state.callToWebrtcBNRInProgress = false;
237
+ _loggerProxy.default.logger.error("Meeting:index#disableBNR. ".concat(_context3.t0));
238
+ _metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_FAILURE, {
239
+ reason: _context3.t0.message,
240
+ stack: _context3.t0.stack
241
+ });
242
+ this.rejectPromise(_context3.t0);
243
+ throw _context3.t0;
244
+ case 26:
245
+ return _context3.abrupt("return", this.resolvePromise());
246
+ case 27:
247
+ case "end":
248
+ return _context3.stop();
311
249
  }
312
250
  }, _callee3, this, [[2, 18]]);
313
251
  }));
314
-
315
252
  function disableBNR(_x4) {
316
253
  return _disableBNR.apply(this, arguments);
317
254
  }
318
-
319
255
  return disableBNR;
320
256
  }()
321
257
  }]);
322
258
  return EffectsState;
323
259
  }();
324
-
325
260
  var _default = createEffectsState;
326
261
  exports.default = _default;
327
262
  //# sourceMappingURL=effectsState.js.map
@@ -1 +1 @@
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.js"],"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) => {\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 constructor(type) {\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, meeting) {\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 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 async enableBNR(meeting) {\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 async disableBNR(meeting) {\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 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
+ {"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(\n `Meeting:effectState#createEffectsState --> creating effectsState for effect ${type}`\n );\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(\n 'Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete'\n );\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(\n 'Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio'\n );\n await meeting.updateAudio({\n sendAudio: true,\n receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,\n stream: audioStream,\n });\n\n LoggerProxy.logger.info(\n 'Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track'\n );\n bnr.enabled = BNR_STATUS.ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_BNR_SUCCESS);\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(BEHAVIORAL_METRICS.ENABLE_BNR_FAILURE, {\n reason: error.message,\n stack: error.stack,\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(\n 'Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete'\n );\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(\n 'Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio'\n );\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(BEHAVIORAL_METRICS.DISABLE_BNR_SUCCESS);\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(BEHAVIORAL_METRICS.DISABLE_BNR_FAILURE, {\n reason: error.message,\n stack: error.stack,\n });\n this.rejectPromise(error);\n\n throw error;\n }\n\n return this.resolvePromise();\n }\n}\n\nexport default createEffectsState;\n"],"mappings":";;;;;;;;;;;;;;AACA;AAEA;AACA;AACA;AACA;AACA;AAPA;;AASA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIC,IAAS,EAAK;EACxCC,oBAAW,CAACC,MAAM,CAACC,IAAI,uFAC0DH,IAAI,EACpF;EAED,OAAO,IAAII,YAAY,CAACJ,IAAI,CAAC;AAC/B,CAAC;;AAED;AACA;AADA,IAEMI,YAAY;EAMhB,sBAAYJ,IAAS,EAAE;IAAA;IAAA;IAAA;IAAA;IAAA;IACrB,IAAI,CAACK,UAAU,GAAGL,IAAI;IACtB,IAAI,CAACM,KAAK,GAAG;MACXC,GAAG,EAAE;QACHC,OAAO,EAAEC,sBAAU,CAACC;MACtB,CAAC;MACDC,yBAAyB,EAAE;IAC7B,CAAC;IACD;IACA,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACC,oBAAoB,GAAG,IAAI;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA;MAAA,mGAMA,iBAA0BC,QAAkB,EAAEC,OAAgB;QAAA;QAAA;UAAA;YAAA;cAAA,iCACrD,qBAAY,UAACC,OAAO,EAAEC,MAAM,EAAK;gBACtC,IAAI,KAAI,CAACL,qBAAqB,EAAE;kBAC9B;kBACA,KAAI,CAACA,qBAAqB,EAAE;gBAC9B;gBACA,KAAI,CAACA,qBAAqB,GAAGI,OAAO;gBACpC,KAAI,CAACH,oBAAoB,GAAGI,MAAM;gBAElC,IAAIH,QAAQ,EAAE,KAAI,CAACI,SAAS,CAACH,OAAO,CAAC,CAAC,KACjC,KAAI,CAACI,UAAU,CAACJ,OAAO,CAAC;cAC/B,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACH;MAAA;QAAA;MAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,wBAAsB;MACpB,OAAO,IAAI,CAACT,KAAK,CAACC,GAAG,CAACC,OAAO,KAAKC,sBAAU,CAACW,OAAO;IACtD;EAAC;IAAA;IAAA,OAED,0BAAiB;MACf,IAAI,IAAI,CAACR,qBAAqB,EAAE;QAC9B,IAAI,CAACA,qBAAqB,CAAC,IAAI,CAAC;MAClC;MACA,IAAI,CAACA,qBAAqB,GAAG,IAAI;MACjC,IAAI,CAACC,oBAAoB,GAAG,IAAI;IAClC;EAAC;IAAA;IAAA,OAED,uBAAcQ,CAAC,EAAE;MACf,IAAI,IAAI,CAACR,oBAAoB,EAAE;QAC7B,IAAI,CAACA,oBAAoB,CAACQ,CAAC,CAAC;MAC9B;MACA,IAAI,CAACT,qBAAqB,GAAG,IAAI;MACjC,IAAI,CAACC,oBAAoB,GAAG,IAAI;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA;MAAA,yFAOA,kBAAuBE,OAAY;QAAA;QAAA;UAAA;YAAA;cACjCd,oBAAW,CAACC,MAAM,CAACC,IAAI,CAAC,kDAAkD,CAAC;cAAC,KAExE,IAAI,CAACmB,YAAY,EAAE;gBAAA;gBAAA;cAAA;cACrBrB,oBAAW,CAACC,MAAM,CAACqB,IAAI,CAAC,iDAAiD,CAAC;cAAC,kCAEpE,IAAI,CAACC,cAAc,EAAE;YAAA;cAAA,KAG1B,IAAI,CAAClB,KAAK,CAACK,yBAAyB;gBAAA;gBAAA;cAAA;cACtCV,oBAAW,CAACC,MAAM,CAACqB,IAAI,CACrB,+FAA+F,CAChG;cAAC,kCAEK,IAAI,CAACC,cAAc,EAAE;YAAA;cAGvBjB,GAAG,GAAI,IAAI,CAACD,KAAK,CAAjBC,GAAG;cAAA;cAGRA,GAAG,CAACC,OAAO,GAAGC,sBAAU,CAACgB,aAAa;cACtC,IAAI,CAACnB,KAAK,CAACK,yBAAyB,GAAG,IAAI;cACrCe,WAAW,GAAGC,aAAS,CAACC,iBAAiB,CAAC,CAACb,OAAO,CAACc,eAAe,CAACC,UAAU,CAAC,CAAC;cAErF7B,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,uFAAuF,CACxF;cAAC;cAAA,OACIY,OAAO,CAACgB,WAAW,CAAC;gBACxBC,SAAS,EAAE,IAAI;gBACfC,YAAY,EAAElB,OAAO,CAACc,eAAe,CAACK,cAAc,CAACD,YAAY;gBACjEE,MAAM,EAAET;cACV,CAAC,CAAC;YAAA;cAEFzB,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,6EAA6E,CAC9E;cACDI,GAAG,CAACC,OAAO,GAAGC,sBAAU,CAACW,OAAO;cAChC,IAAI,CAACd,KAAK,CAACK,yBAAyB,GAAG,KAAK;cAC5CyB,gBAAO,CAACC,oBAAoB,CAACC,kBAAkB,CAACC,kBAAkB,CAAC;cAAC;cAAA;YAAA;cAAA;cAAA;cAEpEhC,GAAG,CAACC,OAAO,GAAGC,sBAAU,CAACC,WAAW;cACpC,IAAI,CAACJ,KAAK,CAACK,yBAAyB,GAAG,KAAK;cAC5CV,oBAAW,CAACC,MAAM,CAACsC,KAAK,CAAC,0BAA0B,eAAQ;cAE3DJ,gBAAO,CAACC,oBAAoB,CAACC,kBAAkB,CAACG,kBAAkB,EAAE;gBAClEC,MAAM,EAAE,aAAMC,OAAO;gBACrBC,KAAK,EAAE,aAAMA;cACf,CAAC,CAAC;cACF,IAAI,CAACC,aAAa,cAAO;cAAC;YAAA;cAAA,kCAKrB,IAAI,CAACrB,cAAc,EAAE;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAC7B;MAAA;QAAA;MAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA;MAAA,0FAOA,kBAAwBT,OAAY;QAAA;QAAA;UAAA;YAAA;cAClCd,oBAAW,CAACC,MAAM,CAACC,IAAI,CAAC,oDAAoD,CAAC;cAEtEI,GAAG,GAAI,IAAI,CAACD,KAAK,CAAjBC,GAAG;cAAA;cAAA,KAGJ,IAAI,CAACD,KAAK,CAACK,yBAAyB;gBAAA;gBAAA;cAAA;cACtCV,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,gGAAgG,CACjG;cAAC,kCAEK,IAAI,CAACqB,cAAc,EAAE;YAAA;cAG9BjB,GAAG,CAACC,OAAO,GAAGC,sBAAU,CAACqC,cAAc;cACvC,IAAI,CAACxC,KAAK,CAACK,yBAAyB,GAAG,IAAI;;cAE3C;cACMmB,UAAU,GAAGiB,wBAAW,CAACC,OAAO,CAACC,GAAG,CAAC9B,UAAU,CAACJ,OAAO,CAACc,eAAe,CAACC,UAAU,CAAC;cAEnFJ,WAAW,GAAGC,aAAS,CAACC,iBAAiB,CAAC,CAACE,UAAU,CAAC,CAAC;cAE7D7B,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,4FAA4F,CAC7F;cAAC;cAAA,OAEIY,OAAO,CAACgB,WAAW,CAAC;gBACxBC,SAAS,EAAE,IAAI;gBACfC,YAAY,EAAElB,OAAO,CAACc,eAAe,CAACK,cAAc,CAACD,YAAY;gBACjEE,MAAM,EAAET;cACV,CAAC,CAAC;YAAA;cAEFnB,GAAG,CAACC,OAAO,GAAGC,sBAAU,CAACC,WAAW;cAEpC,IAAI,CAACJ,KAAK,CAACK,yBAAyB,GAAG,KAAK;cAE5CyB,gBAAO,CAACC,oBAAoB,CAACC,kBAAkB,CAACY,mBAAmB,CAAC;cAAC;cAAA;YAAA;cAAA;cAAA;cAErE3C,GAAG,CAACC,OAAO,GAAGC,sBAAU,CAACW,OAAO;cAChC,IAAI,CAACd,KAAK,CAACK,yBAAyB,GAAG,KAAK;cAC5CV,oBAAW,CAACC,MAAM,CAACsC,KAAK,mDAAsC;cAE9DJ,gBAAO,CAACC,oBAAoB,CAACC,kBAAkB,CAACa,mBAAmB,EAAE;gBACnET,MAAM,EAAE,aAAMC,OAAO;gBACrBC,KAAK,EAAE,aAAMA;cACf,CAAC,CAAC;cACF,IAAI,CAACC,aAAa,cAAO;cAAC;YAAA;cAAA,kCAKrB,IAAI,CAACrB,cAAc,EAAE;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAC7B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA,eAGYzB,kBAAkB;AAAA"}