@webex/plugin-meetings 3.0.0-beta.34 → 3.0.0-beta.340

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 (392) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +94 -15
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +709 -35
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/utils.js +45 -1
  17. package/dist/breakouts/utils.js.map +1 -1
  18. package/dist/common/errors/no-meeting-info.js +51 -0
  19. package/dist/common/errors/no-meeting-info.js.map +1 -0
  20. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  21. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  22. package/dist/common/errors/webex-errors.js +48 -7
  23. package/dist/common/errors/webex-errors.js.map +1 -1
  24. package/dist/common/logs/logger-proxy.js +1 -1
  25. package/dist/common/logs/logger-proxy.js.map +1 -1
  26. package/dist/common/logs/request.js +5 -1
  27. package/dist/common/logs/request.js.map +1 -1
  28. package/dist/common/queue.js +24 -9
  29. package/dist/common/queue.js.map +1 -1
  30. package/dist/config.js +5 -10
  31. package/dist/config.js.map +1 -1
  32. package/dist/constants.js +233 -29
  33. package/dist/constants.js.map +1 -1
  34. package/dist/controls-options-manager/enums.js +14 -2
  35. package/dist/controls-options-manager/enums.js.map +1 -1
  36. package/dist/controls-options-manager/index.js +109 -15
  37. package/dist/controls-options-manager/index.js.map +1 -1
  38. package/dist/controls-options-manager/types.js +7 -0
  39. package/dist/controls-options-manager/types.js.map +1 -0
  40. package/dist/controls-options-manager/util.js +309 -18
  41. package/dist/controls-options-manager/util.js.map +1 -1
  42. package/dist/index.js +112 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/interpretation/collection.js +23 -0
  45. package/dist/interpretation/collection.js.map +1 -0
  46. package/dist/interpretation/index.js +366 -0
  47. package/dist/interpretation/index.js.map +1 -0
  48. package/dist/interpretation/siLanguage.js +25 -0
  49. package/dist/interpretation/siLanguage.js.map +1 -0
  50. package/dist/locus-info/controlsUtils.js +91 -2
  51. package/dist/locus-info/controlsUtils.js.map +1 -1
  52. package/dist/locus-info/index.js +383 -62
  53. package/dist/locus-info/index.js.map +1 -1
  54. package/dist/locus-info/infoUtils.js +7 -1
  55. package/dist/locus-info/infoUtils.js.map +1 -1
  56. package/dist/locus-info/mediaSharesUtils.js +57 -1
  57. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  58. package/dist/locus-info/parser.js +249 -72
  59. package/dist/locus-info/parser.js.map +1 -1
  60. package/dist/locus-info/selfUtils.js +89 -14
  61. package/dist/locus-info/selfUtils.js.map +1 -1
  62. package/dist/media/index.js +62 -116
  63. package/dist/media/index.js.map +1 -1
  64. package/dist/media/properties.js +73 -124
  65. package/dist/media/properties.js.map +1 -1
  66. package/dist/mediaQualityMetrics/config.js +1 -204
  67. package/dist/mediaQualityMetrics/config.js.map +1 -1
  68. package/dist/meeting/in-meeting-actions.js +86 -2
  69. package/dist/meeting/in-meeting-actions.js.map +1 -1
  70. package/dist/meeting/index.js +3927 -2960
  71. package/dist/meeting/index.js.map +1 -1
  72. package/dist/meeting/locusMediaRequest.js +292 -0
  73. package/dist/meeting/locusMediaRequest.js.map +1 -0
  74. package/dist/meeting/muteState.js +224 -131
  75. package/dist/meeting/muteState.js.map +1 -1
  76. package/dist/meeting/request.js +260 -196
  77. package/dist/meeting/request.js.map +1 -1
  78. package/dist/meeting/util.js +601 -417
  79. package/dist/meeting/util.js.map +1 -1
  80. package/dist/meeting-info/index.js +73 -7
  81. package/dist/meeting-info/index.js.map +1 -1
  82. package/dist/meeting-info/meeting-info-v2.js +192 -51
  83. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  84. package/dist/meeting-info/util.js +1 -1
  85. package/dist/meeting-info/util.js.map +1 -1
  86. package/dist/meeting-info/utilv2.js +36 -36
  87. package/dist/meeting-info/utilv2.js.map +1 -1
  88. package/dist/meetings/collection.js +39 -0
  89. package/dist/meetings/collection.js.map +1 -1
  90. package/dist/meetings/index.js +424 -116
  91. package/dist/meetings/index.js.map +1 -1
  92. package/dist/meetings/meetings.types.js +7 -0
  93. package/dist/meetings/meetings.types.js.map +1 -0
  94. package/dist/meetings/request.js +2 -0
  95. package/dist/meetings/request.js.map +1 -1
  96. package/dist/meetings/util.js +72 -6
  97. package/dist/meetings/util.js.map +1 -1
  98. package/dist/member/index.js +58 -0
  99. package/dist/member/index.js.map +1 -1
  100. package/dist/member/types.js +25 -0
  101. package/dist/member/types.js.map +1 -0
  102. package/dist/member/util.js +132 -25
  103. package/dist/member/util.js.map +1 -1
  104. package/dist/members/collection.js +10 -0
  105. package/dist/members/collection.js.map +1 -1
  106. package/dist/members/index.js +102 -6
  107. package/dist/members/index.js.map +1 -1
  108. package/dist/members/request.js +106 -38
  109. package/dist/members/request.js.map +1 -1
  110. package/dist/members/types.js +15 -0
  111. package/dist/members/types.js.map +1 -0
  112. package/dist/members/util.js +326 -232
  113. package/dist/members/util.js.map +1 -1
  114. package/dist/metrics/constants.js +16 -5
  115. package/dist/metrics/constants.js.map +1 -1
  116. package/dist/metrics/index.js +1 -446
  117. package/dist/metrics/index.js.map +1 -1
  118. package/dist/multistream/mediaRequestManager.js +228 -58
  119. package/dist/multistream/mediaRequestManager.js.map +1 -1
  120. package/dist/multistream/receiveSlot.js +29 -16
  121. package/dist/multistream/receiveSlot.js.map +1 -1
  122. package/dist/multistream/receiveSlotManager.js +39 -36
  123. package/dist/multistream/receiveSlotManager.js.map +1 -1
  124. package/dist/multistream/remoteMedia.js +44 -18
  125. package/dist/multistream/remoteMedia.js.map +1 -1
  126. package/dist/multistream/remoteMediaGroup.js +60 -3
  127. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  128. package/dist/multistream/remoteMediaManager.js +209 -59
  129. package/dist/multistream/remoteMediaManager.js.map +1 -1
  130. package/dist/multistream/sendSlotManager.js +233 -0
  131. package/dist/multistream/sendSlotManager.js.map +1 -0
  132. package/dist/reachability/clusterReachability.js +356 -0
  133. package/dist/reachability/clusterReachability.js.map +1 -0
  134. package/dist/reachability/index.js +273 -391
  135. package/dist/reachability/index.js.map +1 -1
  136. package/dist/reachability/request.js +17 -8
  137. package/dist/reachability/request.js.map +1 -1
  138. package/dist/reachability/util.js +29 -0
  139. package/dist/reachability/util.js.map +1 -0
  140. package/dist/reconnection-manager/index.js +214 -170
  141. package/dist/reconnection-manager/index.js.map +1 -1
  142. package/dist/recording-controller/index.js +21 -2
  143. package/dist/recording-controller/index.js.map +1 -1
  144. package/dist/recording-controller/util.js +9 -8
  145. package/dist/recording-controller/util.js.map +1 -1
  146. package/dist/roap/index.js +62 -35
  147. package/dist/roap/index.js.map +1 -1
  148. package/dist/roap/request.js +112 -97
  149. package/dist/roap/request.js.map +1 -1
  150. package/dist/roap/turnDiscovery.js +95 -38
  151. package/dist/roap/turnDiscovery.js.map +1 -1
  152. package/dist/rtcMetrics/constants.js +12 -0
  153. package/dist/rtcMetrics/constants.js.map +1 -0
  154. package/dist/rtcMetrics/index.js +142 -0
  155. package/dist/rtcMetrics/index.js.map +1 -0
  156. package/dist/statsAnalyzer/index.js +181 -214
  157. package/dist/statsAnalyzer/index.js.map +1 -1
  158. package/dist/statsAnalyzer/mqaUtil.js +22 -18
  159. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  160. package/dist/types/annotation/annotation.types.d.ts +42 -0
  161. package/dist/types/annotation/constants.d.ts +31 -0
  162. package/dist/types/annotation/index.d.ts +117 -0
  163. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  164. package/dist/types/breakouts/events.d.ts +8 -0
  165. package/dist/types/breakouts/utils.d.ts +14 -0
  166. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  167. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  168. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  169. package/dist/types/common/logs/request.d.ts +2 -0
  170. package/dist/types/common/queue.d.ts +9 -7
  171. package/dist/types/config.d.ts +2 -7
  172. package/dist/types/constants.d.ts +201 -30
  173. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  174. package/dist/types/controls-options-manager/index.d.ts +17 -1
  175. package/dist/types/controls-options-manager/types.d.ts +43 -0
  176. package/dist/types/controls-options-manager/util.d.ts +1 -7
  177. package/dist/types/index.d.ts +6 -4
  178. package/dist/types/interpretation/collection.d.ts +5 -0
  179. package/dist/types/interpretation/index.d.ts +5 -0
  180. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  181. package/dist/types/locus-info/index.d.ts +57 -4
  182. package/dist/types/locus-info/parser.d.ts +66 -6
  183. package/dist/types/media/index.d.ts +2 -0
  184. package/dist/types/media/properties.d.ts +34 -48
  185. package/dist/types/mediaQualityMetrics/config.d.ts +0 -128
  186. package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
  187. package/dist/types/meeting/index.d.ts +506 -512
  188. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  189. package/dist/types/meeting/muteState.d.ts +93 -25
  190. package/dist/types/meeting/request.d.ts +72 -43
  191. package/dist/types/meeting/util.d.ts +101 -1
  192. package/dist/types/meeting-info/index.d.ts +13 -1
  193. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  194. package/dist/types/meetings/collection.d.ts +17 -0
  195. package/dist/types/meetings/index.d.ts +91 -21
  196. package/dist/types/meetings/meetings.types.d.ts +4 -0
  197. package/dist/types/member/index.d.ts +14 -0
  198. package/dist/types/member/types.d.ts +32 -0
  199. package/dist/types/members/collection.d.ts +5 -0
  200. package/dist/types/members/index.d.ts +35 -2
  201. package/dist/types/members/request.d.ts +73 -9
  202. package/dist/types/members/types.d.ts +25 -0
  203. package/dist/types/members/util.d.ts +214 -1
  204. package/dist/types/metrics/constants.d.ts +15 -4
  205. package/dist/types/metrics/index.d.ts +4 -111
  206. package/dist/types/multistream/mediaRequestManager.d.ts +72 -5
  207. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  208. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  209. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  210. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  211. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  212. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  213. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  214. package/dist/types/reachability/index.d.ts +60 -95
  215. package/dist/types/reachability/request.d.ts +7 -3
  216. package/dist/types/reachability/util.d.ts +8 -0
  217. package/dist/types/reconnection-manager/index.d.ts +19 -0
  218. package/dist/types/recording-controller/index.d.ts +15 -1
  219. package/dist/types/recording-controller/util.d.ts +5 -4
  220. package/dist/types/roap/index.d.ts +2 -1
  221. package/dist/types/roap/request.d.ts +15 -11
  222. package/dist/types/roap/turnDiscovery.d.ts +21 -3
  223. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  224. package/dist/types/rtcMetrics/index.d.ts +54 -0
  225. package/dist/types/statsAnalyzer/index.d.ts +29 -11
  226. package/dist/types/webinar/collection.d.ts +16 -0
  227. package/dist/types/webinar/index.d.ts +5 -0
  228. package/dist/webinar/collection.js +44 -0
  229. package/dist/webinar/collection.js.map +1 -0
  230. package/dist/webinar/index.js +69 -0
  231. package/dist/webinar/index.js.map +1 -0
  232. package/package.json +22 -19
  233. package/src/annotation/annotation.types.ts +50 -0
  234. package/src/annotation/constants.ts +36 -0
  235. package/src/annotation/index.ts +328 -0
  236. package/src/breakouts/README.md +42 -12
  237. package/src/breakouts/breakout.ts +67 -9
  238. package/src/breakouts/edit-lock-error.ts +25 -0
  239. package/src/breakouts/events.ts +56 -0
  240. package/src/breakouts/index.ts +592 -20
  241. package/src/breakouts/utils.ts +42 -0
  242. package/src/common/errors/no-meeting-info.ts +24 -0
  243. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  244. package/src/common/errors/webex-errors.ts +44 -2
  245. package/src/common/logs/logger-proxy.ts +1 -1
  246. package/src/common/logs/request.ts +5 -1
  247. package/src/common/queue.ts +22 -8
  248. package/src/config.ts +4 -9
  249. package/src/constants.ts +224 -20
  250. package/src/controls-options-manager/enums.ts +12 -0
  251. package/src/controls-options-manager/index.ts +116 -21
  252. package/src/controls-options-manager/types.ts +59 -0
  253. package/src/controls-options-manager/util.ts +294 -14
  254. package/src/index.ts +40 -0
  255. package/src/interpretation/README.md +60 -0
  256. package/src/interpretation/collection.ts +19 -0
  257. package/src/interpretation/index.ts +332 -0
  258. package/src/interpretation/siLanguage.ts +18 -0
  259. package/src/locus-info/controlsUtils.ts +108 -0
  260. package/src/locus-info/index.ts +413 -59
  261. package/src/locus-info/infoUtils.ts +10 -2
  262. package/src/locus-info/mediaSharesUtils.ts +64 -0
  263. package/src/locus-info/parser.ts +258 -47
  264. package/src/locus-info/selfUtils.ts +81 -5
  265. package/src/media/index.ts +102 -122
  266. package/src/media/properties.ts +87 -110
  267. package/src/mediaQualityMetrics/config.ts +0 -135
  268. package/src/meeting/in-meeting-actions.ts +171 -3
  269. package/src/meeting/index.ts +3276 -2555
  270. package/src/meeting/locusMediaRequest.ts +313 -0
  271. package/src/meeting/muteState.ts +223 -136
  272. package/src/meeting/request.ts +177 -121
  273. package/src/meeting/util.ts +588 -394
  274. package/src/meeting-info/index.ts +81 -8
  275. package/src/meeting-info/meeting-info-v2.ts +170 -14
  276. package/src/meeting-info/util.ts +1 -1
  277. package/src/meeting-info/utilv2.ts +23 -23
  278. package/src/meetings/collection.ts +33 -0
  279. package/src/meetings/index.ts +454 -125
  280. package/src/meetings/meetings.types.ts +12 -0
  281. package/src/meetings/request.ts +2 -0
  282. package/src/meetings/util.ts +80 -11
  283. package/src/member/index.ts +58 -0
  284. package/src/member/types.ts +38 -0
  285. package/src/member/util.ts +141 -25
  286. package/src/members/collection.ts +8 -0
  287. package/src/members/index.ts +134 -8
  288. package/src/members/request.ts +97 -17
  289. package/src/members/types.ts +29 -0
  290. package/src/members/util.ts +333 -240
  291. package/src/metrics/constants.ts +15 -4
  292. package/src/metrics/index.ts +1 -469
  293. package/src/multistream/mediaRequestManager.ts +277 -82
  294. package/src/multistream/receiveSlot.ts +31 -17
  295. package/src/multistream/receiveSlotManager.ts +34 -24
  296. package/src/multistream/remoteMedia.ts +27 -2
  297. package/src/multistream/remoteMediaGroup.ts +59 -0
  298. package/src/multistream/remoteMediaManager.ts +148 -30
  299. package/src/multistream/sendSlotManager.ts +170 -0
  300. package/src/reachability/clusterReachability.ts +320 -0
  301. package/src/reachability/index.ts +236 -342
  302. package/src/reachability/request.ts +17 -8
  303. package/src/reachability/util.ts +24 -0
  304. package/src/reconnection-manager/index.ts +128 -106
  305. package/src/recording-controller/index.ts +20 -3
  306. package/src/recording-controller/util.ts +26 -9
  307. package/src/roap/index.ts +63 -32
  308. package/src/roap/request.ts +100 -104
  309. package/src/roap/turnDiscovery.ts +48 -26
  310. package/src/rtcMetrics/constants.ts +3 -0
  311. package/src/rtcMetrics/index.ts +124 -0
  312. package/src/statsAnalyzer/index.ts +218 -289
  313. package/src/statsAnalyzer/mqaUtil.ts +28 -30
  314. package/src/webinar/collection.ts +31 -0
  315. package/src/webinar/index.ts +62 -0
  316. package/test/integration/spec/converged-space-meetings.js +60 -3
  317. package/test/integration/spec/journey.js +320 -261
  318. package/test/integration/spec/space-meeting.js +76 -3
  319. package/test/unit/spec/annotation/index.ts +418 -0
  320. package/test/unit/spec/breakouts/breakout.ts +118 -28
  321. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  322. package/test/unit/spec/breakouts/events.ts +89 -0
  323. package/test/unit/spec/breakouts/index.ts +1395 -69
  324. package/test/unit/spec/breakouts/utils.js +52 -1
  325. package/test/unit/spec/common/queue.js +31 -2
  326. package/test/unit/spec/controls-options-manager/index.js +163 -0
  327. package/test/unit/spec/controls-options-manager/util.js +576 -60
  328. package/test/unit/spec/fixture/locus.js +1 -0
  329. package/test/unit/spec/interpretation/collection.ts +15 -0
  330. package/test/unit/spec/interpretation/index.ts +589 -0
  331. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  332. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  333. package/test/unit/spec/locus-info/index.js +1304 -33
  334. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  335. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  336. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  337. package/test/unit/spec/locus-info/parser.js +116 -35
  338. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  339. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  340. package/test/unit/spec/media/index.ts +120 -37
  341. package/test/unit/spec/media/properties.ts +2 -2
  342. package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
  343. package/test/unit/spec/meeting/index.js +5849 -2014
  344. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  345. package/test/unit/spec/meeting/muteState.js +402 -213
  346. package/test/unit/spec/meeting/request.js +483 -49
  347. package/test/unit/spec/meeting/utils.js +679 -64
  348. package/test/unit/spec/meeting-info/index.js +300 -0
  349. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  350. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  351. package/test/unit/spec/meetings/collection.js +26 -0
  352. package/test/unit/spec/meetings/index.js +1231 -212
  353. package/test/unit/spec/meetings/utils.js +202 -2
  354. package/test/unit/spec/member/index.js +61 -6
  355. package/test/unit/spec/member/util.js +510 -34
  356. package/test/unit/spec/members/index.js +432 -1
  357. package/test/unit/spec/members/request.js +206 -27
  358. package/test/unit/spec/members/utils.js +210 -0
  359. package/test/unit/spec/metrics/index.js +1 -50
  360. package/test/unit/spec/multistream/mediaRequestManager.ts +776 -162
  361. package/test/unit/spec/multistream/receiveSlot.ts +28 -20
  362. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  363. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  364. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  365. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  366. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  367. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  368. package/test/unit/spec/reachability/index.ts +486 -13
  369. package/test/unit/spec/reachability/request.js +68 -0
  370. package/test/unit/spec/reachability/util.ts +40 -0
  371. package/test/unit/spec/reconnection-manager/index.js +117 -11
  372. package/test/unit/spec/recording-controller/index.js +294 -218
  373. package/test/unit/spec/recording-controller/util.js +223 -96
  374. package/test/unit/spec/roap/index.ts +174 -63
  375. package/test/unit/spec/roap/request.ts +226 -85
  376. package/test/unit/spec/roap/turnDiscovery.ts +76 -34
  377. package/test/unit/spec/rtcMetrics/index.ts +93 -0
  378. package/test/unit/spec/stats-analyzer/index.js +231 -7
  379. package/test/unit/spec/webinar/collection.ts +13 -0
  380. package/test/unit/spec/webinar/index.ts +60 -0
  381. package/test/utils/integrationTestUtils.js +46 -0
  382. package/test/utils/testUtils.js +0 -52
  383. package/dist/meeting/effectsState.js +0 -262
  384. package/dist/meeting/effectsState.js.map +0 -1
  385. package/dist/metrics/config.js +0 -289
  386. package/dist/metrics/config.js.map +0 -1
  387. package/dist/types/meeting/effectsState.d.ts +0 -42
  388. package/dist/types/metrics/config.d.ts +0 -169
  389. package/src/index.js +0 -16
  390. package/src/meeting/effectsState.ts +0 -211
  391. package/src/metrics/config.ts +0 -485
  392. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -1,41 +1,65 @@
1
1
  import {ConnectionState, Event} from '@webex/internal-media-core';
2
2
 
3
- import {MEETINGS, PC_BAIL_TIMEOUT, QUALITY_LEVELS} from '../constants';
3
+ import {
4
+ LocalCameraStream,
5
+ LocalMicrophoneStream,
6
+ LocalDisplayStream,
7
+ LocalSystemAudioStream,
8
+ RemoteStream,
9
+ } from '@webex/media-helpers';
10
+
11
+ import {MEETINGS, ICE_AND_DTLS_CONNECTION_TIMEOUT, QUALITY_LEVELS} from '../constants';
4
12
  import LoggerProxy from '../common/logs/logger-proxy';
5
13
 
14
+ export type MediaDirection = {
15
+ sendAudio: boolean;
16
+ sendVideo: boolean;
17
+ sendShare: boolean;
18
+ receiveAudio: boolean;
19
+ receiveVideo: boolean;
20
+ receiveShare: boolean;
21
+ };
22
+
6
23
  /**
7
24
  * @class MediaProperties
8
25
  */
9
26
  export default class MediaProperties {
10
- audioTrack: any;
11
- localQualityLevel: any;
12
- mediaDirection: any;
27
+ audioStream?: LocalMicrophoneStream;
28
+ mediaDirection: MediaDirection;
13
29
  mediaSettings: any;
14
30
  webrtcMediaConnection: any;
15
- remoteAudioTrack: any;
31
+ remoteAudioStream: RemoteStream;
16
32
  remoteQualityLevel: any;
17
- remoteShare: any;
18
- remoteVideoTrack: any;
19
- shareTrack: any;
33
+ remoteShareStream: RemoteStream;
34
+ remoteVideoStream: RemoteStream;
35
+ shareVideoStream?: LocalDisplayStream;
36
+ shareAudioStream?: LocalSystemAudioStream;
20
37
  videoDeviceId: any;
21
- videoTrack: any;
38
+ videoStream?: LocalCameraStream;
22
39
  namespace = MEETINGS;
23
40
 
24
41
  /**
25
42
  * @param {Object} [options] -- to auto construct
26
43
  * @returns {MediaProperties}
27
44
  */
28
- constructor(options: any = {}) {
45
+ constructor() {
29
46
  this.webrtcMediaConnection = null;
30
- this.mediaDirection = options.mediaDirection;
31
- this.videoTrack = options.videoTrack;
32
- this.audioTrack = options.audioTrack;
33
- this.shareTrack = options.shareTrack;
34
- this.remoteShare = options.remoteShare;
35
- this.remoteAudioTrack = options.remoteAudioTrack;
36
- this.remoteVideoTrack = options.remoteVideoTrack;
37
- this.localQualityLevel = options.localQualityLevel || QUALITY_LEVELS['720p'];
38
- this.remoteQualityLevel = options.remoteQualityLevel || QUALITY_LEVELS.HIGH;
47
+ this.mediaDirection = {
48
+ receiveAudio: false,
49
+ receiveVideo: false,
50
+ receiveShare: false,
51
+ sendAudio: false,
52
+ sendVideo: false,
53
+ sendShare: false,
54
+ };
55
+ this.videoStream = null;
56
+ this.audioStream = null;
57
+ this.shareVideoStream = null;
58
+ this.shareAudioStream = null;
59
+ this.remoteShareStream = undefined;
60
+ this.remoteAudioStream = undefined;
61
+ this.remoteVideoStream = undefined;
62
+ this.remoteQualityLevel = QUALITY_LEVELS.HIGH;
39
63
  this.mediaSettings = {};
40
64
  this.videoDeviceId = null;
41
65
  }
@@ -60,46 +84,46 @@ export default class MediaProperties {
60
84
  this.webrtcMediaConnection = mediaPeerConnection;
61
85
  }
62
86
 
63
- setLocalVideoTrack(videoTrack) {
64
- this.videoTrack = videoTrack;
87
+ setLocalVideoStream(videoStream?: LocalCameraStream) {
88
+ this.videoStream = videoStream;
65
89
  }
66
90
 
67
- setLocalAudioTrack(audioTrack) {
68
- this.audioTrack = audioTrack;
91
+ setLocalAudioStream(audioStream?: LocalMicrophoneStream) {
92
+ this.audioStream = audioStream;
69
93
  }
70
94
 
71
- setLocalQualityLevel(localQualityLevel) {
72
- this.localQualityLevel = localQualityLevel;
95
+ setLocalShareVideoStream(shareVideoStream?: LocalDisplayStream) {
96
+ this.shareVideoStream = shareVideoStream;
73
97
  }
74
98
 
75
- setLocalShareTrack(shareTrack) {
76
- this.shareTrack = shareTrack;
99
+ setLocalShareAudioStream(shareAudioStream?: LocalSystemAudioStream) {
100
+ this.shareAudioStream = shareAudioStream;
77
101
  }
78
102
 
79
103
  setRemoteQualityLevel(remoteQualityLevel) {
80
104
  this.remoteQualityLevel = remoteQualityLevel;
81
105
  }
82
106
 
83
- setRemoteShare(remoteShare) {
84
- this.remoteShare = remoteShare;
107
+ setRemoteShareStream(remoteShareStream: RemoteStream) {
108
+ this.remoteShareStream = remoteShareStream;
85
109
  }
86
110
 
87
111
  /**
88
- * Sets the remote audio track
89
- * @param {MediaTrack} remoteAudioTrack MediaTrack to save
112
+ * Sets the remote audio stream
113
+ * @param {RemoteStream} remoteAudioStream RemoteStream to save
90
114
  * @returns {void}
91
115
  */
92
- setRemoteAudioTrack(remoteAudioTrack: any) {
93
- this.remoteAudioTrack = remoteAudioTrack;
116
+ setRemoteAudioStream(remoteAudioStream: RemoteStream) {
117
+ this.remoteAudioStream = remoteAudioStream;
94
118
  }
95
119
 
96
120
  /**
97
- * Sets the remote video track
98
- * @param {MediaTrack} remoteVideoTrack MediaTrack to save
121
+ * Sets the remote video stream
122
+ * @param {RemoteStream} remoteVideoStream RemoteStream to save
99
123
  * @returns {void}
100
124
  */
101
- setRemoteVideoTrack(remoteVideoTrack: any) {
102
- this.remoteVideoTrack = remoteVideoTrack;
125
+ setRemoteVideoStream(remoteVideoStream: RemoteStream) {
126
+ this.remoteVideoStream = remoteVideoStream;
103
127
  }
104
128
 
105
129
  /**
@@ -115,96 +139,34 @@ export default class MediaProperties {
115
139
  this.webrtcMediaConnection = null;
116
140
  }
117
141
 
118
- unsetLocalVideoTrack() {
119
- this.videoTrack = null;
120
- }
121
-
122
- unsetLocalShareTrack() {
123
- this.shareTrack = null;
124
- }
125
-
126
- unsetLocalAudioTrack() {
127
- this.audioTrack = null;
128
- }
129
-
130
- /**
131
- * Removes remote stream from class instance
132
- * @deprecated after v1.89.3
133
- * @returns {void}
134
- */
135
- unsetRemoteStream() {
136
- LoggerProxy.logger.warn(
137
- 'Media:properties#unsetRemoteStream --> [DEPRECATION WARNING]: unsetRemoteStream has been deprecated after v1.89.3 (use unsetRemoteTracks instead)'
138
- );
139
- // unsets audio and video only
140
- this.unsetRemoteMedia();
141
- }
142
-
143
142
  /**
144
143
  * Removes both remote audio and video from class instance
145
144
  * @returns {void}
146
145
  */
147
146
  unsetRemoteMedia() {
148
- this.remoteAudioTrack = null;
149
- this.remoteVideoTrack = null;
150
- }
151
-
152
- unsetRemoteShare() {
153
- this.remoteShare = null;
147
+ this.remoteAudioStream = null;
148
+ this.remoteVideoStream = null;
154
149
  }
155
150
 
156
- unsetLocalVideoTracks() {
157
- this.unsetLocalVideoTrack();
158
- this.unsetLocalShareTrack();
151
+ unsetRemoteShareStream() {
152
+ this.remoteShareStream = null;
159
153
  }
160
154
 
161
155
  /**
162
- * Removes remote stream and remote share from class instance
163
- * @deprecated after v1.89.3
156
+ * Unsets all remote streams
164
157
  * @returns {void}
165
158
  */
166
159
  unsetRemoteStreams() {
167
- LoggerProxy.logger.warn(
168
- 'Media:properties#unsetRemoteStreams --> [DEPRECATION WARNING]: unsetRemoteStreams has been deprecated after v1.89.3 (use unsetRemoteTracks instead)'
169
- );
170
- this.unsetRemoteStream();
171
- this.unsetRemoteShare();
172
- }
173
-
174
- /**
175
- * Unsets all remote tracks
176
- * @returns {void}
177
- */
178
- unsetRemoteTracks() {
179
160
  this.unsetRemoteMedia();
180
- this.unsetRemoteShare();
181
- }
182
-
183
- unsetShareStreams() {
184
- this.unsetLocalShareTrack();
185
- this.unsetRemoteShare();
161
+ this.unsetRemoteShareStream();
186
162
  }
187
163
 
188
164
  /**
189
- * Removes both local and remote video stream from class instance
190
- * @deprecated after v1.89.3
191
- * @returns {void}
165
+ * Returns if we have at least one local share stream or not.
166
+ * @returns {Boolean}
192
167
  */
193
- unsetMediaStreams() {
194
- LoggerProxy.logger.warn(
195
- 'Media:properties#unsetMediaStreams --> [DEPRECATION WARNING]: unsetMediaStreams has been deprecated after v1.89.3 (use unsetMediaTracks instead)'
196
- );
197
- this.unsetLocalVideoTrack();
198
- this.unsetRemoteStream();
199
- }
200
-
201
- /**
202
- * Removes both local and remote video stream from class instance
203
- * @returns {void}
204
- */
205
- unsetMediaTracks() {
206
- this.unsetLocalVideoTrack();
207
- this.unsetRemoteMedia();
168
+ hasLocalShareStream() {
169
+ return !!(this.shareAudioStream || this.shareVideoStream);
208
170
  }
209
171
 
210
172
  /**
@@ -238,7 +200,7 @@ export default class MediaProperties {
238
200
  timer = setTimeout(() => {
239
201
  this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);
240
202
  reject();
241
- }, PC_BAIL_TIMEOUT);
203
+ }, ICE_AND_DTLS_CONNECTION_TIMEOUT);
242
204
 
243
205
  this.webrtcMediaConnection.on(Event.CONNECTION_STATE_CHANGED, connectionStateListener);
244
206
  });
@@ -297,10 +259,25 @@ export default class MediaProperties {
297
259
 
298
260
  return true;
299
261
  }
262
+ LoggerProxy.logger.warn(
263
+ `Media:properties#getCurrentConnectionType --> missing localCandidate.protocol, candidateType=${localCandidate.candidateType}`
264
+ );
300
265
 
301
266
  return false;
302
267
  });
303
268
 
269
+ if (foundConnectionType === 'unknown') {
270
+ const candidatePairStates = allStatsReports
271
+ .filter((report) => report.type === 'candidate-pair')
272
+ .map((report) => report.state);
273
+
274
+ LoggerProxy.logger.warn(
275
+ `Media:properties#getCurrentConnectionType --> all candidate pair states: ${JSON.stringify(
276
+ candidatePairStates
277
+ )}`
278
+ );
279
+ }
280
+
304
281
  return foundConnectionType;
305
282
  }
306
283
  }
@@ -247,138 +247,3 @@ export const emptyVideoTransmit = {
247
247
  },
248
248
  ],
249
249
  };
250
-
251
- export const emptyVideoShareReceive = {
252
- common: {
253
- common: {
254
- direction: 'inactive',
255
- isMain: false, // Not avaliable
256
- mariFecEnabled: true, // Not avaliable
257
- mariQosEnabled: true, // Not avaliable
258
- multistreamEnabled: true, // Not avaliable
259
- },
260
- dtlsBitrate: 0, // Not avaliable
261
- dtlsPackets: 0, // Not avaliable
262
- fecBitrate: 0, // Not avaliable
263
- fecPackets: 0, // Not avaliable
264
- maxBitrate: 0,
265
- mediaHopByHopLost: 0,
266
- rtcpBitrate: 0, // Not avaliable
267
- rtcpPackets: 0, // Not avaliable
268
- rtpBitrate: 0,
269
- rtpHopByHopLost: 0,
270
- rtpPackets: 0,
271
- rtpRecovered: 0, // Not avaliable
272
- rtxBitrate: 0, // Not avaliable
273
- rtxPackets: 0, // Not avaliable
274
- srtcpUnprotectErrors: 0, // Not avaliable
275
- srtpUnprotectErrors: 0, // Not avaliable
276
- stunBitrate: 0, // Not avaliable
277
- stunPackets: 0, // Not avaliable
278
- transportType: 'UDP',
279
- },
280
- streams: [
281
- {
282
- common: {
283
- codec: 'H264',
284
- concealedFrames: 0, // Not avaliable
285
- csi: [],
286
- maxConcealRunLength: 0, // Not avaliable
287
- optimalBitrate: 0,
288
- optimalFrameRate: 0,
289
- receivedBitrate: 0,
290
- receivedFrameRate: 0,
291
- renderedFrameRate: 0, // Not avaliable
292
- requestedBitrate: 0,
293
- requestedFrameRate: 0,
294
- rtpEndToEndLost: 0,
295
- rtpJitter: 0,
296
- rtpPackets: 0,
297
- ssci: 0, // Not avaliable
298
- },
299
- h264CodecProfile: 'BP',
300
- isActiveSpeaker: true,
301
- optimalFrameSize: 0, // Not avaliable
302
- receivedFrameSize: 0,
303
- receivedHeight: 0,
304
- receivedKeyFrames: 0,
305
- receivedKeyFramesForRequest: 0,
306
- receivedKeyFramesSourceChange: 0,
307
- receivedKeyFramesUnknown: 0,
308
- receivedWidth: 0,
309
- requestedFrameSize: 0,
310
- requestedKeyFrames: 0,
311
- },
312
- ],
313
- };
314
-
315
- export const emptyVideoShareTransmit = {
316
- // sceen sharing
317
- common: {
318
- availableBitrate: 0, // Not avaliable currently hardcoded
319
- common: {
320
- direction: 'inactive',
321
- isMain: false,
322
- mariFecEnabled: false, // Not avaliable
323
- mariQosEnabled: false, // Not avaliable
324
- multistreamEnabled: false, // Not avaliable
325
- },
326
- dtlsBitrate: 0, // Not avaliable
327
- dtlsPackets: 0, // Not avaliable
328
- fecBitrate: 0, // Not avaliable
329
- fecPackets: 0, // TODO: check inbound-rtp// Not avaliable
330
- maxBitrate: 0, // Currently hardcoded
331
- queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay
332
- remoteJitter: 0, // remoteInboundRtp.jitter
333
- remoteLossRate: 0, // comparedResults.lossRate
334
- remoteReceiveRate: 0, // compareResults.packetsLost
335
- roundTripTime: 0, // compareResults.roundTripTime
336
- rtcpBitrate: 0, // Dont have access to it
337
- rtcpPackets: 0, // Dont have access to rtcp
338
- rtpBitrate: 0, // Dont have access
339
- rtpPackets: 0, // outboundRtp.packetsSent
340
- rtxBitrate: 0, // Dont have access to it
341
- rtxPackets: 0, // Dont have access to it
342
- stunBitrate: 0, // Dont have access to it
343
- stunPackets: 0, // Dont have access to it
344
- transportType: 'UDP', // TODO: need to calculate
345
- },
346
- streams: [
347
- {
348
- common: {
349
- codec: 'H264',
350
- csi: [],
351
- duplicateSsci: 0, // Not Avaliable
352
- requestedBitrate: 0, // TODO: from remote SDP
353
- requestedFrames: 0, // TODO: from remote SDP
354
- rtpPackets: 0, // same as rtp packets
355
- ssci: 0,
356
- transmittedBitrate: 0, // TODO: get in the candidate pair
357
- transmittedFrameRate: 0, // TODO: from track info
358
- },
359
- h264CodecProfile: 'BP', // TODO: from localSDP
360
- isAvatar: false, // Not Avaliable
361
- isHardwareEncoded: false, // Not Avaliable
362
- localConfigurationChanges: 2, // Not Avaliable
363
- maxFrameQp: 0, // Not Avaliable
364
- maxNoiseLevel: 0, // Not Avaliable
365
- minRegionQp: 0, // Not Avaliable
366
- remoteConfigurationChanges: 0, // Not Avaliable
367
- requestedFrameSize: 0, // TODO: from remote SDP
368
- requestedKeyFrames: 0, // outbound Fir request
369
- transmittedFrameSize: 0, // Not Avaliable
370
- transmittedHeight: 0,
371
- transmittedKeyFrames: 0, // Key frames encoded
372
- transmittedKeyFramesClient: 0, // Not Avaliable
373
- transmittedKeyFramesConfigurationChange: 0, // Not Avaliable
374
- transmittedKeyFramesFeedback: 0, // Not Avaliable
375
- transmittedKeyFramesLocalDrop: 0, // Not Avaliable
376
- transmittedKeyFramesOtherLayer: 0, // Not Avaliable
377
- transmittedKeyFramesPeriodic: 0, // Not Avaliable
378
- transmittedKeyFramesSceneChange: 0, // Not Avaliable
379
- transmittedKeyFramesStartup: 0, // Not Avaliable
380
- transmittedKeyFramesUnknown: 0, // Not Avaliable
381
- transmittedWidth: 0,
382
- },
383
- ],
384
- };
@@ -17,7 +17,11 @@ interface IInMeetingActions {
17
17
  canUnsetMuteOnEntry?: boolean;
18
18
  canSetDisallowUnmute?: boolean;
19
19
  canUnsetDisallowUnmute?: boolean;
20
+ canSetMuted?: boolean;
21
+ canUnsetMuted?: boolean;
20
22
  canAssignHost?: boolean;
23
+ canSetPresenter?: boolean;
24
+ canUnsetPresenter?: boolean;
21
25
  canStartRecording?: boolean;
22
26
  canPauseRecording?: boolean;
23
27
  canResumeRecording?: boolean;
@@ -30,13 +34,51 @@ interface IInMeetingActions {
30
34
  canStartTranscribing?: boolean;
31
35
  canStopTranscribing?: boolean;
32
36
  isClosedCaptionActive?: boolean;
37
+ isSaveTranscriptsEnabled?: boolean;
33
38
  isWebexAssistantActive?: boolean;
34
39
  canViewCaptionPanel?: boolean;
35
40
  isRealTimeTranslationEnabled?: boolean;
36
41
  canSelectSpokenLanguages?: boolean;
37
42
  waitingForOthersToJoin?: boolean;
38
- canEnableReactions?: boolean;
39
43
  canSendReactions?: boolean;
44
+ canManageBreakout?: boolean;
45
+ canBroadcastMessageToBreakout?: boolean;
46
+ canAdmitLobbyToBreakout?: boolean;
47
+ isBreakoutPreassignmentsEnabled?: boolean;
48
+ canUserAskForHelp?: boolean;
49
+ canUserRenameSelfAndObserved?: boolean;
50
+ canUserRenameOthers?: boolean;
51
+ canMuteAll?: boolean;
52
+ canUnmuteAll?: boolean;
53
+ canEnableHardMute?: boolean;
54
+ canDisableHardMute?: boolean;
55
+ canEnableMuteOnEntry?: boolean;
56
+ canDisableMuteOnEntry?: boolean;
57
+ canEnableReactions?: boolean;
58
+ canDisableReactions?: boolean;
59
+ canEnableReactionDisplayNames?: boolean;
60
+ canDisableReactionDisplayNames?: boolean;
61
+ canUpdateShareControl?: boolean;
62
+ canEnableViewTheParticipantsList?: boolean;
63
+ canDisableViewTheParticipantsList?: boolean;
64
+ canEnableRaiseHand?: boolean;
65
+ canDisableRaiseHand?: boolean;
66
+ canEnableVideo?: boolean;
67
+ canDisableVideo?: boolean;
68
+ canShareFile?: boolean;
69
+ canShareApplication?: boolean;
70
+ canShareCamera?: boolean;
71
+ canShareDesktop?: boolean;
72
+ canShareContent?: boolean;
73
+ canTransferFile?: boolean;
74
+ canChat?: boolean;
75
+ canDoVideo?: boolean;
76
+ canAnnotate?: boolean;
77
+ canUseVoip?: boolean;
78
+ supportHQV?: boolean;
79
+ supportHDV?: boolean;
80
+ canShareWhiteBoard?: boolean;
81
+ enforceVirtualBackground?: boolean;
40
82
  }
41
83
 
42
84
  /**
@@ -65,12 +107,20 @@ export default class InMeetingActions implements IInMeetingActions {
65
107
 
66
108
  canSetMuteOnEntry = null;
67
109
 
110
+ canSetPresenter = null;
111
+
112
+ canUnsetPresenter = null;
113
+
68
114
  canUnsetMuteOnEntry = null;
69
115
 
70
116
  canSetDisallowUnmute = null;
71
117
 
72
118
  canUnsetDisallowUnmute = null;
73
119
 
120
+ canSetMuted = null;
121
+
122
+ canUnsetMuted = null;
123
+
74
124
  canRaiseHand = null;
75
125
 
76
126
  canLowerAllHands = null;
@@ -87,6 +137,8 @@ export default class InMeetingActions implements IInMeetingActions {
87
137
 
88
138
  isClosedCaptionActive = null;
89
139
 
140
+ isSaveTranscriptsEnabled = null;
141
+
90
142
  isWebexAssistantActive = null;
91
143
 
92
144
  canViewCaptionPanel = null;
@@ -97,9 +149,83 @@ export default class InMeetingActions implements IInMeetingActions {
97
149
 
98
150
  waitingForOthersToJoin = null;
99
151
 
152
+ canSendReactions = null;
153
+
154
+ canManageBreakout = null;
155
+
156
+ canBroadcastMessageToBreakout = null;
157
+
158
+ canAdmitLobbyToBreakout = null;
159
+
160
+ isBreakoutPreassignmentsEnabled = null;
161
+
162
+ canUserAskForHelp = null;
163
+
164
+ canUserRenameSelfAndObserved = null;
165
+
166
+ canUserRenameOthers = null;
167
+
168
+ canMuteAll = null;
169
+
170
+ canUnmuteAll = null;
171
+
172
+ canEnableHardMute = null;
173
+
174
+ canDisableHardMute = null;
175
+
176
+ canEnableMuteOnEntry = null;
177
+
178
+ canDisableMuteOnEntry = null;
179
+
100
180
  canEnableReactions = null;
101
181
 
102
- canSendReactions = null;
182
+ canDisableReactions = null;
183
+
184
+ canEnableReactionDisplayNames = null;
185
+
186
+ canDisableReactionDisplayNames = null;
187
+
188
+ canUpdateShareControl = null;
189
+
190
+ canEnableViewTheParticipantsList = null;
191
+
192
+ canDisableViewTheParticipantsList = null;
193
+
194
+ canEnableRaiseHand = null;
195
+
196
+ canDisableRaiseHand = null;
197
+
198
+ canEnableVideo = null;
199
+
200
+ canDisableVideo = null;
201
+
202
+ canShareFile = null;
203
+
204
+ canShareApplication = null;
205
+
206
+ canShareCamera = null;
207
+
208
+ canShareDesktop = null;
209
+
210
+ canShareContent = null;
211
+
212
+ canTransferFile = null;
213
+
214
+ canChat = null;
215
+
216
+ canDoVideo = null;
217
+
218
+ canAnnotate = null;
219
+
220
+ canUseVoip = null;
221
+
222
+ supportHQV = null;
223
+
224
+ enforceVirtualBackground = null;
225
+
226
+ supportHDV = null;
227
+
228
+ canShareWhiteBoard = null;
103
229
 
104
230
  /**
105
231
  * Returns all meeting action options
@@ -114,6 +240,10 @@ export default class InMeetingActions implements IInMeetingActions {
114
240
  canSetMuteOnEntry: this.canSetMuteOnEntry,
115
241
  canUnsetMuteOnEntry: this.canUnsetMuteOnEntry,
116
242
  canSetDisallowUnmute: this.canSetDisallowUnmute,
243
+ canSetMuted: this.canSetMuted,
244
+ canUnsetMuted: this.canUnsetMuted,
245
+ canSetPresenter: this.canSetPresenter,
246
+ canUnsetPresenter: this.canUnsetPresenter,
117
247
  canUnsetDisallowUnmute: this.canUnsetDisallowUnmute,
118
248
  canStartRecording: this.canStartRecording,
119
249
  canPauseRecording: this.canPauseRecording,
@@ -127,13 +257,51 @@ export default class InMeetingActions implements IInMeetingActions {
127
257
  canStartTranscribing: this.canStartTranscribing,
128
258
  canStopTranscribing: this.canStopTranscribing,
129
259
  isClosedCaptionActive: this.isClosedCaptionActive,
260
+ isSaveTranscriptsEnabled: this.isSaveTranscriptsEnabled,
130
261
  isWebexAssistantActive: this.isWebexAssistantActive,
131
262
  canViewCaptionPanel: this.canViewCaptionPanel,
132
263
  isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,
133
264
  canSelectSpokenLanguages: this.canSelectSpokenLanguages,
134
265
  waitingForOthersToJoin: this.waitingForOthersToJoin,
135
- canEnableReactions: this.canEnableReactions,
136
266
  canSendReactions: this.canSendReactions,
267
+ canManageBreakout: this.canManageBreakout,
268
+ canBroadcastMessageToBreakout: this.canBroadcastMessageToBreakout,
269
+ canAdmitLobbyToBreakout: this.canAdmitLobbyToBreakout,
270
+ isBreakoutPreassignmentsEnabled: this.isBreakoutPreassignmentsEnabled,
271
+ canUserAskForHelp: this.canUserAskForHelp,
272
+ canUserRenameSelfAndObserved: this.canUserRenameSelfAndObserved,
273
+ canUserRenameOthers: this.canUserRenameOthers,
274
+ canMuteAll: this.canMuteAll,
275
+ canUnmuteAll: this.canUnmuteAll,
276
+ canEnableHardMute: this.canEnableHardMute,
277
+ canDisableHardMute: this.canDisableHardMute,
278
+ canEnableMuteOnEntry: this.canEnableMuteOnEntry,
279
+ canDisableMuteOnEntry: this.canDisableMuteOnEntry,
280
+ canEnableReactions: this.canEnableReactions,
281
+ canDisableReactions: this.canDisableReactions,
282
+ canEnableReactionDisplayNames: this.canEnableReactionDisplayNames,
283
+ canDisableReactionDisplayNames: this.canDisableReactionDisplayNames,
284
+ canUpdateShareControl: this.canUpdateShareControl,
285
+ canEnableViewTheParticipantsList: this.canEnableViewTheParticipantsList,
286
+ canDisableViewTheParticipantsList: this.canDisableViewTheParticipantsList,
287
+ canEnableRaiseHand: this.canEnableRaiseHand,
288
+ canDisableRaiseHand: this.canDisableRaiseHand,
289
+ canEnableVideo: this.canEnableVideo,
290
+ canDisableVideo: this.canDisableVideo,
291
+ canShareFile: this.canShareFile,
292
+ canShareApplication: this.canShareApplication,
293
+ canShareCamera: this.canShareCamera,
294
+ canShareDesktop: this.canShareDesktop,
295
+ canShareContent: this.canShareContent,
296
+ canTransferFile: this.canTransferFile,
297
+ canChat: this.canChat,
298
+ canDoVideo: this.canDoVideo,
299
+ canAnnotate: this.canAnnotate,
300
+ canUseVoip: this.canUseVoip,
301
+ enforceVirtualBackground: this.enforceVirtualBackground,
302
+ supportHQV: this.supportHQV,
303
+ supportHDV: this.supportHDV,
304
+ canShareWhiteBoard: this.canShareWhiteBoard,
137
305
  });
138
306
 
139
307
  /**