@webex/plugin-meetings 2.60.1-next.9 → 2.60.2

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 (539) hide show
  1. package/README.md +8 -58
  2. package/dist/common/browser-detection.js +3 -2
  3. package/dist/common/browser-detection.js.map +1 -1
  4. package/dist/common/collection.js +4 -3
  5. package/dist/common/collection.js.map +1 -1
  6. package/dist/common/config.js +2 -1
  7. package/dist/common/config.js.map +1 -1
  8. package/dist/common/errors/captcha-error.js +2 -1
  9. package/dist/common/errors/captcha-error.js.map +1 -1
  10. package/dist/common/errors/intent-to-join.js +2 -1
  11. package/dist/common/errors/intent-to-join.js.map +1 -1
  12. package/dist/common/errors/join-meeting.js +2 -1
  13. package/dist/common/errors/join-meeting.js.map +1 -1
  14. package/dist/common/errors/media.js +2 -1
  15. package/dist/common/errors/media.js.map +1 -1
  16. package/dist/common/errors/parameter.js +4 -3
  17. package/dist/common/errors/parameter.js.map +1 -1
  18. package/dist/common/errors/password-error.js +2 -1
  19. package/dist/common/errors/password-error.js.map +1 -1
  20. package/dist/common/errors/permission.js +2 -1
  21. package/dist/common/errors/permission.js.map +1 -1
  22. package/dist/common/errors/{reclaim-host-role-errors.js → reclaim-host-role-error.js} +11 -7
  23. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  24. package/dist/common/errors/reconnection-in-progress.js +2 -1
  25. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  26. package/dist/common/errors/reconnection.js +2 -1
  27. package/dist/common/errors/reconnection.js.map +1 -1
  28. package/dist/common/errors/stats.js +2 -1
  29. package/dist/common/errors/stats.js.map +1 -1
  30. package/dist/common/errors/webex-errors.d.ts +8 -20
  31. package/dist/common/errors/webex-errors.js +28 -48
  32. package/dist/common/errors/webex-errors.js.map +1 -1
  33. package/dist/common/errors/webex-meetings-error.js +2 -1
  34. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  35. package/dist/common/events/events-scope.js +2 -1
  36. package/dist/common/events/events-scope.js.map +1 -1
  37. package/dist/common/events/events.js +2 -1
  38. package/dist/common/events/events.js.map +1 -1
  39. package/dist/common/events/trigger-proxy.js +2 -1
  40. package/dist/common/events/trigger-proxy.js.map +1 -1
  41. package/dist/common/events/util.js +2 -1
  42. package/dist/common/events/util.js.map +1 -1
  43. package/dist/common/logs/logger-config.js +2 -1
  44. package/dist/common/logs/logger-config.js.map +1 -1
  45. package/dist/common/logs/logger-proxy.js +3 -2
  46. package/dist/common/logs/logger-proxy.js.map +1 -1
  47. package/dist/common/logs/request.d.ts +1 -3
  48. package/dist/common/logs/request.js +5 -8
  49. package/dist/common/logs/request.js.map +1 -1
  50. package/dist/common/queue.d.ts +7 -9
  51. package/dist/common/queue.js +9 -22
  52. package/dist/common/queue.js.map +1 -1
  53. package/dist/config.d.ts +7 -6
  54. package/dist/config.js +10 -8
  55. package/dist/config.js.map +1 -1
  56. package/dist/constants.d.ts +100 -234
  57. package/dist/constants.js +444 -433
  58. package/dist/constants.js.map +1 -1
  59. package/dist/controls-options-manager/constants.js +6 -3
  60. package/dist/controls-options-manager/constants.js.map +1 -1
  61. package/dist/controls-options-manager/enums.d.ts +1 -11
  62. package/dist/controls-options-manager/enums.js +6 -15
  63. package/dist/controls-options-manager/enums.js.map +1 -1
  64. package/dist/controls-options-manager/index.d.ts +1 -17
  65. package/dist/controls-options-manager/index.js +38 -127
  66. package/dist/controls-options-manager/index.js.map +1 -1
  67. package/dist/controls-options-manager/util.d.ts +7 -1
  68. package/dist/controls-options-manager/util.js +19 -309
  69. package/dist/controls-options-manager/util.js.map +1 -1
  70. package/dist/index.d.ts +3 -6
  71. package/dist/index.js +5 -121
  72. package/dist/index.js.map +1 -1
  73. package/dist/locus-info/controlsUtils.js +11 -100
  74. package/dist/locus-info/controlsUtils.js.map +1 -1
  75. package/dist/locus-info/embeddedAppsUtils.js +4 -3
  76. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  77. package/dist/locus-info/fullState.js +2 -1
  78. package/dist/locus-info/fullState.js.map +1 -1
  79. package/dist/locus-info/hostUtils.js +2 -1
  80. package/dist/locus-info/hostUtils.js.map +1 -1
  81. package/dist/locus-info/index.d.ts +4 -57
  82. package/dist/locus-info/index.js +84 -425
  83. package/dist/locus-info/index.js.map +1 -1
  84. package/dist/locus-info/infoUtils.js +5 -13
  85. package/dist/locus-info/infoUtils.js.map +1 -1
  86. package/dist/locus-info/mediaSharesUtils.js +3 -58
  87. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  88. package/dist/locus-info/parser.d.ts +6 -66
  89. package/dist/locus-info/parser.js +80 -253
  90. package/dist/locus-info/parser.js.map +1 -1
  91. package/dist/locus-info/selfUtils.js +13 -97
  92. package/dist/locus-info/selfUtils.js.map +1 -1
  93. package/dist/media/index.d.ts +0 -2
  94. package/dist/media/index.js +319 -107
  95. package/dist/media/index.js.map +1 -1
  96. package/dist/media/properties.d.ts +53 -38
  97. package/dist/media/properties.js +153 -96
  98. package/dist/media/properties.js.map +1 -1
  99. package/dist/media/util.js +22 -1
  100. package/dist/media/util.js.map +1 -1
  101. package/dist/mediaQualityMetrics/config.d.ts +230 -234
  102. package/dist/mediaQualityMetrics/config.js +498 -302
  103. package/dist/mediaQualityMetrics/config.js.map +1 -1
  104. package/dist/meeting/effectsState.d.ts +42 -0
  105. package/dist/meeting/effectsState.js +260 -0
  106. package/dist/meeting/effectsState.js.map +1 -0
  107. package/dist/meeting/in-meeting-actions.d.ts +0 -88
  108. package/dist/meeting/in-meeting-actions.js +3 -94
  109. package/dist/meeting/in-meeting-actions.js.map +1 -1
  110. package/dist/meeting/index.d.ts +520 -705
  111. package/dist/meeting/index.js +3083 -5041
  112. package/dist/meeting/index.js.map +1 -1
  113. package/dist/meeting/muteState.d.ts +25 -93
  114. package/dist/meeting/muteState.js +133 -224
  115. package/dist/meeting/muteState.js.map +1 -1
  116. package/dist/meeting/request.d.ts +47 -82
  117. package/dist/meeting/request.js +199 -304
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/state.js +2 -1
  120. package/dist/meeting/state.js.map +1 -1
  121. package/dist/meeting/util.d.ts +1 -118
  122. package/dist/meeting/util.js +435 -676
  123. package/dist/meeting/util.js.map +1 -1
  124. package/dist/meeting-info/collection.js +4 -3
  125. package/dist/meeting-info/collection.js.map +1 -1
  126. package/dist/meeting-info/index.d.ts +1 -13
  127. package/dist/meeting-info/index.js +7 -74
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.d.ts +1 -31
  130. package/dist/meeting-info/meeting-info-v2.js +63 -200
  131. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  132. package/dist/meeting-info/request.js +2 -1
  133. package/dist/meeting-info/request.js.map +1 -1
  134. package/dist/meeting-info/util.js +3 -2
  135. package/dist/meeting-info/util.js.map +1 -1
  136. package/dist/meeting-info/utilv2.js +41 -39
  137. package/dist/meeting-info/utilv2.js.map +1 -1
  138. package/dist/meetings/collection.d.ts +0 -17
  139. package/dist/meetings/collection.js +4 -42
  140. package/dist/meetings/collection.js.map +1 -1
  141. package/dist/meetings/index.d.ts +20 -114
  142. package/dist/meetings/index.js +133 -540
  143. package/dist/meetings/index.js.map +1 -1
  144. package/dist/meetings/request.js +3 -4
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +6 -107
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.d.ts +1 -13
  149. package/dist/member/index.js +2 -45
  150. package/dist/member/index.js.map +1 -1
  151. package/dist/member/member.types.js +4 -3
  152. package/dist/member/member.types.js.map +1 -1
  153. package/dist/member/util.js +29 -120
  154. package/dist/member/util.js.map +1 -1
  155. package/dist/members/collection.d.ts +0 -5
  156. package/dist/members/collection.js +2 -11
  157. package/dist/members/collection.js.map +1 -1
  158. package/dist/members/index.d.ts +11 -56
  159. package/dist/members/index.js +47 -174
  160. package/dist/members/index.js.map +1 -1
  161. package/dist/members/request.d.ts +11 -67
  162. package/dist/members/request.js +54 -102
  163. package/dist/members/request.js.map +1 -1
  164. package/dist/members/types.js +4 -3
  165. package/dist/members/types.js.map +1 -1
  166. package/dist/members/util.d.ts +1 -214
  167. package/dist/members/util.js +284 -327
  168. package/dist/members/util.js.map +1 -1
  169. package/dist/metrics/config.d.ts +169 -0
  170. package/dist/metrics/config.js +289 -0
  171. package/dist/metrics/config.js.map +1 -0
  172. package/dist/metrics/constants.d.ts +6 -15
  173. package/dist/metrics/constants.js +9 -17
  174. package/dist/metrics/constants.js.map +1 -1
  175. package/dist/metrics/index.d.ts +111 -4
  176. package/dist/metrics/index.js +452 -4
  177. package/dist/metrics/index.js.map +1 -1
  178. package/dist/networkQualityMonitor/index.js +4 -5
  179. package/dist/networkQualityMonitor/index.js.map +1 -1
  180. package/dist/peer-connection-manager/index.d.ts +6 -0
  181. package/dist/peer-connection-manager/index.js +671 -0
  182. package/dist/peer-connection-manager/index.js.map +1 -0
  183. package/dist/peer-connection-manager/util.d.ts +6 -0
  184. package/dist/peer-connection-manager/util.js +110 -0
  185. package/dist/peer-connection-manager/util.js.map +1 -0
  186. package/dist/personal-meeting-room/index.js +3 -2
  187. package/dist/personal-meeting-room/index.js.map +1 -1
  188. package/dist/personal-meeting-room/request.js +3 -2
  189. package/dist/personal-meeting-room/request.js.map +1 -1
  190. package/dist/personal-meeting-room/util.js +2 -1
  191. package/dist/personal-meeting-room/util.js.map +1 -1
  192. package/dist/reachability/index.d.ts +95 -61
  193. package/dist/reachability/index.js +392 -304
  194. package/dist/reachability/index.js.map +1 -1
  195. package/dist/reachability/request.d.ts +3 -7
  196. package/dist/reachability/request.js +10 -18
  197. package/dist/reachability/request.js.map +1 -1
  198. package/dist/reactions/reactions.d.ts +2 -2
  199. package/dist/reactions/reactions.js +6 -4
  200. package/dist/reactions/reactions.js.map +1 -1
  201. package/dist/reactions/reactions.type.d.ts +3 -23
  202. package/dist/reactions/reactions.type.js +23 -21
  203. package/dist/reactions/reactions.type.js.map +1 -1
  204. package/dist/reconnection-manager/index.d.ts +8 -32
  205. package/dist/reconnection-manager/index.js +232 -285
  206. package/dist/reconnection-manager/index.js.map +1 -1
  207. package/dist/recording-controller/enums.js +5 -4
  208. package/dist/recording-controller/enums.js.map +1 -1
  209. package/dist/recording-controller/index.d.ts +1 -15
  210. package/dist/recording-controller/index.js +46 -57
  211. package/dist/recording-controller/index.js.map +1 -1
  212. package/dist/recording-controller/util.d.ts +4 -5
  213. package/dist/recording-controller/util.js +10 -10
  214. package/dist/recording-controller/util.js.map +1 -1
  215. package/dist/roap/collection.d.ts +10 -0
  216. package/dist/roap/collection.js +63 -0
  217. package/dist/roap/collection.js.map +1 -0
  218. package/dist/roap/handler.d.ts +47 -0
  219. package/dist/roap/handler.js +279 -0
  220. package/dist/roap/handler.js.map +1 -0
  221. package/dist/roap/index.d.ts +47 -9
  222. package/dist/roap/index.js +238 -100
  223. package/dist/roap/index.js.map +1 -1
  224. package/dist/roap/request.d.ts +12 -18
  225. package/dist/roap/request.js +180 -126
  226. package/dist/roap/request.js.map +1 -1
  227. package/dist/roap/state.d.ts +9 -0
  228. package/dist/roap/state.js +127 -0
  229. package/dist/roap/state.js.map +1 -0
  230. package/dist/roap/turnDiscovery.d.ts +16 -27
  231. package/dist/roap/turnDiscovery.js +105 -115
  232. package/dist/roap/turnDiscovery.js.map +1 -1
  233. package/dist/roap/util.d.ts +2 -0
  234. package/dist/roap/util.js +76 -0
  235. package/dist/roap/util.js.map +1 -0
  236. package/dist/statsAnalyzer/global.d.ts +83 -1
  237. package/dist/statsAnalyzer/global.js +85 -2
  238. package/dist/statsAnalyzer/global.js.map +1 -1
  239. package/dist/statsAnalyzer/index.d.ts +30 -50
  240. package/dist/statsAnalyzer/index.js +511 -436
  241. package/dist/statsAnalyzer/index.js.map +1 -1
  242. package/dist/statsAnalyzer/mqaUtil.d.ts +6 -8
  243. package/dist/statsAnalyzer/mqaUtil.js +90 -130
  244. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  245. package/dist/transcription/index.js +2 -1
  246. package/dist/transcription/index.js.map +1 -1
  247. package/package.json +26 -39
  248. package/src/common/errors/webex-errors.ts +12 -36
  249. package/src/common/logs/logger-proxy.ts +1 -1
  250. package/src/common/logs/request.ts +1 -5
  251. package/src/common/queue.ts +8 -22
  252. package/src/config.ts +7 -6
  253. package/src/constants.ts +100 -265
  254. package/src/controls-options-manager/enums.ts +0 -12
  255. package/src/controls-options-manager/index.ts +21 -116
  256. package/src/controls-options-manager/util.ts +14 -294
  257. package/src/index.js +15 -0
  258. package/src/locus-info/controlsUtils.ts +0 -110
  259. package/src/locus-info/index.ts +61 -450
  260. package/src/locus-info/infoUtils.ts +2 -14
  261. package/src/locus-info/mediaSharesUtils.ts +0 -64
  262. package/src/locus-info/parser.ts +47 -258
  263. package/src/locus-info/selfUtils.ts +2 -85
  264. package/src/media/index.ts +370 -153
  265. package/src/media/properties.ts +136 -106
  266. package/src/media/util.ts +21 -0
  267. package/src/mediaQualityMetrics/config.ts +377 -244
  268. package/src/meeting/effectsState.ts +209 -0
  269. package/src/meeting/in-meeting-actions.ts +0 -176
  270. package/src/meeting/index.ts +2581 -4306
  271. package/src/meeting/muteState.ts +138 -224
  272. package/src/meeting/request.ts +127 -214
  273. package/src/meeting/util.ts +423 -687
  274. package/src/meeting-info/index.ts +8 -81
  275. package/src/meeting-info/meeting-info-v2.ts +13 -163
  276. package/src/meeting-info/util.ts +1 -1
  277. package/src/meeting-info/utilv2.ts +28 -28
  278. package/src/meetings/collection.ts +0 -33
  279. package/src/meetings/index.ts +136 -531
  280. package/src/meetings/request.ts +0 -2
  281. package/src/meetings/util.ts +5 -116
  282. package/src/member/index.ts +1 -43
  283. package/src/member/util.ts +28 -125
  284. package/src/members/collection.ts +0 -8
  285. package/src/members/index.ts +52 -187
  286. package/src/members/request.ts +27 -87
  287. package/src/members/util.ts +291 -332
  288. package/src/metrics/config.ts +485 -0
  289. package/src/metrics/constants.ts +6 -15
  290. package/src/metrics/index.ts +471 -1
  291. package/src/networkQualityMonitor/index.ts +6 -6
  292. package/src/peer-connection-manager/index.ts +847 -0
  293. package/src/peer-connection-manager/util.ts +119 -0
  294. package/src/reachability/index.ts +347 -246
  295. package/src/reachability/request.ts +8 -17
  296. package/src/reactions/reactions.ts +4 -4
  297. package/src/reactions/reactions.type.ts +4 -30
  298. package/src/reconnection-manager/index.ts +156 -168
  299. package/src/recording-controller/index.ts +3 -20
  300. package/src/recording-controller/util.ts +9 -26
  301. package/src/roap/collection.ts +62 -0
  302. package/src/roap/handler.ts +294 -0
  303. package/src/roap/index.ts +241 -96
  304. package/src/roap/request.ts +148 -74
  305. package/src/roap/state.ts +156 -0
  306. package/src/roap/turnDiscovery.ts +56 -62
  307. package/src/roap/util.ts +100 -0
  308. package/src/statsAnalyzer/global.ts +84 -1
  309. package/src/statsAnalyzer/index.ts +645 -479
  310. package/src/statsAnalyzer/mqaUtil.ts +126 -128
  311. package/test/integration/spec/journey.js +264 -320
  312. package/test/integration/spec/space-meeting.js +4 -77
  313. package/test/unit/spec/common/queue.js +2 -31
  314. package/test/unit/spec/controls-options-manager/index.js +0 -163
  315. package/test/unit/spec/controls-options-manager/util.js +60 -576
  316. package/test/unit/spec/fixture/locus.js +0 -1
  317. package/test/unit/spec/locus-info/controlsUtils.js +30 -323
  318. package/test/unit/spec/locus-info/index.js +15 -1437
  319. package/test/unit/spec/locus-info/infoUtils.js +16 -54
  320. package/test/unit/spec/locus-info/lib/SeqCmp.json +0 -16
  321. package/test/unit/spec/locus-info/lib/selfConstant.js +0 -48
  322. package/test/unit/spec/locus-info/parser.js +35 -116
  323. package/test/unit/spec/locus-info/selfUtils.js +0 -275
  324. package/test/unit/spec/media/properties.ts +84 -75
  325. package/test/unit/spec/meeting/effectsState.js +281 -0
  326. package/test/unit/spec/meeting/in-meeting-actions.ts +0 -86
  327. package/test/unit/spec/meeting/index.js +2313 -8384
  328. package/test/unit/spec/meeting/muteState.js +213 -409
  329. package/test/unit/spec/meeting/request.js +43 -523
  330. package/test/unit/spec/meeting/utils.js +24 -834
  331. package/test/unit/spec/meeting-info/meetinginfov2.js +5 -527
  332. package/test/unit/spec/meeting-info/utilv2.js +0 -21
  333. package/test/unit/spec/meetings/collection.js +0 -26
  334. package/test/unit/spec/meetings/index.js +232 -1445
  335. package/test/unit/spec/meetings/utils.js +2 -202
  336. package/test/unit/spec/member/index.js +9 -32
  337. package/test/unit/spec/member/util.js +61 -499
  338. package/test/unit/spec/members/index.js +5 -394
  339. package/test/unit/spec/members/request.js +27 -206
  340. package/test/unit/spec/members/utils.js +38 -173
  341. package/test/unit/spec/metrics/index.js +50 -1
  342. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  343. package/test/unit/spec/peerconnection-manager/index.js +218 -0
  344. package/test/unit/spec/peerconnection-manager/utils.js +49 -0
  345. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -0
  346. package/test/unit/spec/reachability/index.ts +24 -532
  347. package/test/unit/spec/reconnection-manager/index.js +24 -163
  348. package/test/unit/spec/recording-controller/index.js +218 -293
  349. package/test/unit/spec/recording-controller/util.js +96 -223
  350. package/test/unit/spec/roap/index.ts +77 -187
  351. package/test/unit/spec/roap/turnDiscovery.ts +48 -86
  352. package/test/unit/spec/roap/util.js +30 -0
  353. package/test/unit/spec/stats-analyzer/index.js +165 -644
  354. package/test/utils/testUtils.js +45 -0
  355. package/test/utils/webex-config.js +0 -4
  356. package/test/utils/webex-test-users.js +3 -7
  357. package/dist/annotation/annotation.types.d.ts +0 -42
  358. package/dist/annotation/annotation.types.js +0 -7
  359. package/dist/annotation/annotation.types.js.map +0 -1
  360. package/dist/annotation/constants.d.ts +0 -31
  361. package/dist/annotation/constants.js +0 -41
  362. package/dist/annotation/constants.js.map +0 -1
  363. package/dist/annotation/index.d.ts +0 -117
  364. package/dist/annotation/index.js +0 -357
  365. package/dist/annotation/index.js.map +0 -1
  366. package/dist/breakouts/breakout.d.ts +0 -8
  367. package/dist/breakouts/breakout.js +0 -215
  368. package/dist/breakouts/breakout.js.map +0 -1
  369. package/dist/breakouts/collection.d.ts +0 -5
  370. package/dist/breakouts/collection.js +0 -22
  371. package/dist/breakouts/collection.js.map +0 -1
  372. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  373. package/dist/breakouts/edit-lock-error.js +0 -51
  374. package/dist/breakouts/edit-lock-error.js.map +0 -1
  375. package/dist/breakouts/events.d.ts +0 -8
  376. package/dist/breakouts/events.js +0 -44
  377. package/dist/breakouts/events.js.map +0 -1
  378. package/dist/breakouts/index.d.ts +0 -5
  379. package/dist/breakouts/index.js +0 -1047
  380. package/dist/breakouts/index.js.map +0 -1
  381. package/dist/breakouts/request.d.ts +0 -22
  382. package/dist/breakouts/request.js +0 -77
  383. package/dist/breakouts/request.js.map +0 -1
  384. package/dist/breakouts/utils.d.ts +0 -15
  385. package/dist/breakouts/utils.js +0 -64
  386. package/dist/breakouts/utils.js.map +0 -1
  387. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  388. package/dist/common/errors/no-meeting-info.js +0 -50
  389. package/dist/common/errors/no-meeting-info.js.map +0 -1
  390. package/dist/common/errors/reclaim-host-role-errors.js.map +0 -1
  391. package/dist/controls-options-manager/types.d.ts +0 -43
  392. package/dist/controls-options-manager/types.js +0 -7
  393. package/dist/controls-options-manager/types.js.map +0 -1
  394. package/dist/interceptors/index.d.ts +0 -2
  395. package/dist/interceptors/index.js +0 -15
  396. package/dist/interceptors/index.js.map +0 -1
  397. package/dist/interceptors/locusRetry.d.ts +0 -27
  398. package/dist/interceptors/locusRetry.js +0 -94
  399. package/dist/interceptors/locusRetry.js.map +0 -1
  400. package/dist/interpretation/collection.d.ts +0 -5
  401. package/dist/interpretation/collection.js +0 -22
  402. package/dist/interpretation/collection.js.map +0 -1
  403. package/dist/interpretation/index.d.ts +0 -5
  404. package/dist/interpretation/index.js +0 -365
  405. package/dist/interpretation/index.js.map +0 -1
  406. package/dist/interpretation/siLanguage.d.ts +0 -5
  407. package/dist/interpretation/siLanguage.js +0 -24
  408. package/dist/interpretation/siLanguage.js.map +0 -1
  409. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  410. package/dist/meeting/locusMediaRequest.js +0 -291
  411. package/dist/meeting/locusMediaRequest.js.map +0 -1
  412. package/dist/meeting/request.type.d.ts +0 -11
  413. package/dist/meeting/request.type.js +0 -7
  414. package/dist/meeting/request.type.js.map +0 -1
  415. package/dist/meeting/voicea-meeting.d.ts +0 -20
  416. package/dist/meeting/voicea-meeting.js +0 -201
  417. package/dist/meeting/voicea-meeting.js.map +0 -1
  418. package/dist/meetings/meetings.types.d.ts +0 -4
  419. package/dist/meetings/meetings.types.js +0 -7
  420. package/dist/meetings/meetings.types.js.map +0 -1
  421. package/dist/member/types.d.ts +0 -32
  422. package/dist/member/types.js +0 -23
  423. package/dist/member/types.js.map +0 -1
  424. package/dist/multistream/mediaRequestManager.d.ts +0 -118
  425. package/dist/multistream/mediaRequestManager.js +0 -344
  426. package/dist/multistream/mediaRequestManager.js.map +0 -1
  427. package/dist/multistream/receiveSlot.d.ts +0 -68
  428. package/dist/multistream/receiveSlot.js +0 -200
  429. package/dist/multistream/receiveSlot.js.map +0 -1
  430. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  431. package/dist/multistream/receiveSlotManager.js +0 -174
  432. package/dist/multistream/receiveSlotManager.js.map +0 -1
  433. package/dist/multistream/remoteMedia.d.ts +0 -72
  434. package/dist/multistream/remoteMedia.js +0 -268
  435. package/dist/multistream/remoteMedia.js.map +0 -1
  436. package/dist/multistream/remoteMediaGroup.d.ts +0 -47
  437. package/dist/multistream/remoteMediaGroup.js +0 -267
  438. package/dist/multistream/remoteMediaGroup.js.map +0 -1
  439. package/dist/multistream/remoteMediaManager.d.ts +0 -285
  440. package/dist/multistream/remoteMediaManager.js +0 -1211
  441. package/dist/multistream/remoteMediaManager.js.map +0 -1
  442. package/dist/multistream/sendSlotManager.d.ts +0 -61
  443. package/dist/multistream/sendSlotManager.js +0 -236
  444. package/dist/multistream/sendSlotManager.js.map +0 -1
  445. package/dist/reachability/clusterReachability.d.ts +0 -109
  446. package/dist/reachability/clusterReachability.js +0 -357
  447. package/dist/reachability/clusterReachability.js.map +0 -1
  448. package/dist/reachability/util.d.ts +0 -8
  449. package/dist/reachability/util.js +0 -29
  450. package/dist/reachability/util.js.map +0 -1
  451. package/dist/reactions/constants.d.ts +0 -3
  452. package/dist/reactions/constants.js +0 -12
  453. package/dist/reactions/constants.js.map +0 -1
  454. package/dist/rtcMetrics/constants.d.ts +0 -4
  455. package/dist/rtcMetrics/constants.js +0 -11
  456. package/dist/rtcMetrics/constants.js.map +0 -1
  457. package/dist/rtcMetrics/index.d.ts +0 -54
  458. package/dist/rtcMetrics/index.js +0 -140
  459. package/dist/rtcMetrics/index.js.map +0 -1
  460. package/dist/webinar/collection.d.ts +0 -16
  461. package/dist/webinar/collection.js +0 -43
  462. package/dist/webinar/collection.js.map +0 -1
  463. package/dist/webinar/index.d.ts +0 -5
  464. package/dist/webinar/index.js +0 -68
  465. package/dist/webinar/index.js.map +0 -1
  466. package/src/annotation/annotation.types.ts +0 -50
  467. package/src/annotation/constants.ts +0 -36
  468. package/src/annotation/index.ts +0 -328
  469. package/src/breakouts/README.md +0 -220
  470. package/src/breakouts/breakout.ts +0 -188
  471. package/src/breakouts/collection.ts +0 -19
  472. package/src/breakouts/edit-lock-error.ts +0 -25
  473. package/src/breakouts/events.ts +0 -56
  474. package/src/breakouts/index.ts +0 -925
  475. package/src/breakouts/request.ts +0 -55
  476. package/src/breakouts/utils.ts +0 -57
  477. package/src/common/errors/no-meeting-info.ts +0 -24
  478. package/src/controls-options-manager/types.ts +0 -59
  479. package/src/index.ts +0 -44
  480. package/src/interceptors/index.ts +0 -3
  481. package/src/interceptors/locusRetry.ts +0 -67
  482. package/src/interpretation/README.md +0 -60
  483. package/src/interpretation/collection.ts +0 -19
  484. package/src/interpretation/index.ts +0 -332
  485. package/src/interpretation/siLanguage.ts +0 -18
  486. package/src/meeting/locusMediaRequest.ts +0 -313
  487. package/src/meeting/request.type.ts +0 -13
  488. package/src/meeting/voicea-meeting.ts +0 -161
  489. package/src/meetings/meetings.types.ts +0 -12
  490. package/src/member/types.ts +0 -38
  491. package/src/multistream/mediaRequestManager.ts +0 -440
  492. package/src/multistream/receiveSlot.ts +0 -184
  493. package/src/multistream/receiveSlotManager.ts +0 -166
  494. package/src/multistream/remoteMedia.ts +0 -254
  495. package/src/multistream/remoteMediaGroup.ts +0 -284
  496. package/src/multistream/remoteMediaManager.ts +0 -1145
  497. package/src/multistream/sendSlotManager.ts +0 -170
  498. package/src/reachability/clusterReachability.ts +0 -320
  499. package/src/reachability/util.ts +0 -24
  500. package/src/reactions/constants.ts +0 -4
  501. package/src/rtcMetrics/constants.ts +0 -3
  502. package/src/rtcMetrics/index.ts +0 -124
  503. package/src/webinar/collection.ts +0 -31
  504. package/src/webinar/index.ts +0 -62
  505. package/test/integration/spec/converged-space-meetings.js +0 -233
  506. package/test/unit/spec/annotation/index.ts +0 -418
  507. package/test/unit/spec/breakouts/breakout.ts +0 -237
  508. package/test/unit/spec/breakouts/collection.ts +0 -15
  509. package/test/unit/spec/breakouts/edit-lock-error.ts +0 -30
  510. package/test/unit/spec/breakouts/events.ts +0 -89
  511. package/test/unit/spec/breakouts/index.ts +0 -1790
  512. package/test/unit/spec/breakouts/request.ts +0 -104
  513. package/test/unit/spec/breakouts/utils.js +0 -72
  514. package/test/unit/spec/interceptors/locusRetry.ts +0 -131
  515. package/test/unit/spec/interpretation/collection.ts +0 -15
  516. package/test/unit/spec/interpretation/index.ts +0 -589
  517. package/test/unit/spec/interpretation/siLanguage.ts +0 -28
  518. package/test/unit/spec/locus-info/mediaSharesUtils.ts +0 -32
  519. package/test/unit/spec/media/index.ts +0 -290
  520. package/test/unit/spec/meeting/locusMediaRequest.ts +0 -442
  521. package/test/unit/spec/meeting-info/index.js +0 -300
  522. package/test/unit/spec/multistream/mediaRequestManager.ts +0 -1418
  523. package/test/unit/spec/multistream/receiveSlot.ts +0 -163
  524. package/test/unit/spec/multistream/receiveSlotManager.ts +0 -203
  525. package/test/unit/spec/multistream/remoteMedia.ts +0 -255
  526. package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -662
  527. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1924
  528. package/test/unit/spec/multistream/sendSlotManager.ts +0 -242
  529. package/test/unit/spec/reachability/clusterReachability.ts +0 -279
  530. package/test/unit/spec/reachability/request.js +0 -68
  531. package/test/unit/spec/reachability/util.ts +0 -40
  532. package/test/unit/spec/roap/request.ts +0 -255
  533. package/test/unit/spec/rtcMetrics/index.ts +0 -93
  534. package/test/unit/spec/webinar/collection.ts +0 -13
  535. package/test/unit/spec/webinar/index.ts +0 -60
  536. package/test/utils/constants.js +0 -9
  537. package/test/utils/integrationTestUtils.js +0 -46
  538. /package/dist/common/errors/{reclaim-host-role-errors.d.ts → reclaim-host-role-error.d.ts} +0 -0
  539. /package/src/common/errors/{reclaim-host-role-errors.ts → reclaim-host-role-error.ts} +0 -0
@@ -1,68 +0,0 @@
1
- import { MediaType, ReceiveSlot as WcmeReceiveSlot, StreamState } from '@webex/internal-media-core';
2
- import EventsScope from '../common/events/events-scope';
3
- export declare const ReceiveSlotEvents: {
4
- SourceUpdate: string;
5
- MaxFsUpdate: string;
6
- };
7
- export type { StreamState } from '@webex/internal-media-core';
8
- export type CSI = number;
9
- export type MemberId = string;
10
- export type ReceiveSlotId = string;
11
- export type FindMemberIdCallback = (csi: CSI) => MemberId | undefined;
12
- /**
13
- * Class representing a receive slot. A single receive slot is able to receive a single track
14
- * for example some participant's main video or audio
15
- */
16
- export declare class ReceiveSlot extends EventsScope {
17
- #private;
18
- private readonly mcReceiveSlot;
19
- private readonly findMemberIdCallback;
20
- readonly id: ReceiveSlotId;
21
- readonly mediaType: MediaType;
22
- /**
23
- * constructor - don't use it directly, you should always use meeting.receiveSlotManager.allocateSlot()
24
- * to create any receive slots
25
- *
26
- * @param {MediaType} mediaType
27
- * @param {ReceiveSlot} mcReceiveSlot
28
- * @param {FindMemberIdCallback} findMemberIdCallback callback for finding memberId for given CSI
29
- */
30
- constructor(mediaType: MediaType, mcReceiveSlot: WcmeReceiveSlot, findMemberIdCallback: FindMemberIdCallback);
31
- /**
32
- * Getter for memberId
33
- */
34
- get memberId(): string;
35
- /**
36
- * Getter for csi
37
- */
38
- get csi(): number;
39
- /**
40
- * Set the max frame size for this slot
41
- * @param newFs frame size
42
- */
43
- setMaxFs(newFs: any): void;
44
- /**
45
- * Getter for sourceState
46
- */
47
- get sourceState(): StreamState;
48
- /**
49
- * registers event handlers with the underlying ReceiveSlot
50
- */
51
- private setupEventListeners;
52
- /** Tries to find the member id for this receive slot if it hasn't got one */
53
- findMemberId(): void;
54
- /**
55
- * @returns {string} a log message used to identify the receive slot
56
- */
57
- get logString(): string;
58
- /**
59
- * The MediaStream object associated with this slot.
60
- *
61
- * @returns {MediaStream} The MediaStreamTrack.
62
- */
63
- get stream(): MediaStream;
64
- /**
65
- * The underlying WCME receive slot
66
- */
67
- get wcmeReceiveSlot(): WcmeReceiveSlot;
68
- }
@@ -1,200 +0,0 @@
1
- "use strict";
2
-
3
- var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
- _Object$defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.ReceiveSlotEvents = exports.ReceiveSlot = void 0;
10
- var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
11
- var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
13
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
15
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
17
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
19
- var _classPrivateFieldGet2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classPrivateFieldGet"));
20
- var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classPrivateFieldSet"));
21
- var _internalMediaCore = require("@webex/internal-media-core");
22
- var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
23
- var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
24
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
26
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
27
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } /* eslint-disable valid-jsdoc */
28
- var ReceiveSlotEvents = exports.ReceiveSlotEvents = {
29
- SourceUpdate: 'sourceUpdate',
30
- MaxFsUpdate: 'maxFsUpdate'
31
- };
32
- var receiveSlotCounter = 0;
33
- var _memberId = /*#__PURE__*/new _weakMap.default();
34
- var _csi = /*#__PURE__*/new _weakMap.default();
35
- var _sourceState = /*#__PURE__*/new _weakMap.default();
36
- /**
37
- * Class representing a receive slot. A single receive slot is able to receive a single track
38
- * for example some participant's main video or audio
39
- */
40
- var ReceiveSlot = exports.ReceiveSlot = /*#__PURE__*/function (_EventsScope) {
41
- (0, _inherits2.default)(ReceiveSlot, _EventsScope);
42
- var _super = _createSuper(ReceiveSlot);
43
- /**
44
- * constructor - don't use it directly, you should always use meeting.receiveSlotManager.allocateSlot()
45
- * to create any receive slots
46
- *
47
- * @param {MediaType} mediaType
48
- * @param {ReceiveSlot} mcReceiveSlot
49
- * @param {FindMemberIdCallback} findMemberIdCallback callback for finding memberId for given CSI
50
- */
51
- function ReceiveSlot(mediaType, mcReceiveSlot, findMemberIdCallback) {
52
- var _this;
53
- (0, _classCallCheck2.default)(this, ReceiveSlot);
54
- _this = _super.call(this);
55
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mcReceiveSlot", void 0);
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "findMemberIdCallback", void 0);
57
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "id", void 0);
58
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaType", void 0);
59
- _classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _memberId, {
60
- writable: true,
61
- value: void 0
62
- });
63
- _classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _csi, {
64
- writable: true,
65
- value: void 0
66
- });
67
- _classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _sourceState, {
68
- writable: true,
69
- value: void 0
70
- });
71
- receiveSlotCounter += 1;
72
- _this.findMemberIdCallback = findMemberIdCallback;
73
- _this.mediaType = mediaType;
74
- _this.mcReceiveSlot = mcReceiveSlot;
75
- (0, _classPrivateFieldSet2.default)((0, _assertThisInitialized2.default)(_this), _sourceState, 'no source');
76
- _this.id = "r".concat(receiveSlotCounter);
77
- _this.setupEventListeners();
78
- return _this;
79
- }
80
-
81
- /**
82
- * Getter for memberId
83
- */
84
- (0, _createClass2.default)(ReceiveSlot, [{
85
- key: "memberId",
86
- get: function get() {
87
- return (0, _classPrivateFieldGet2.default)(this, _memberId);
88
- }
89
-
90
- /**
91
- * Getter for csi
92
- */
93
- }, {
94
- key: "csi",
95
- get: function get() {
96
- return (0, _classPrivateFieldGet2.default)(this, _csi);
97
- }
98
-
99
- /**
100
- * Set the max frame size for this slot
101
- * @param newFs frame size
102
- */
103
- }, {
104
- key: "setMaxFs",
105
- value: function setMaxFs(newFs) {
106
- // emit event for media request manager to listen to
107
-
108
- this.emit({
109
- file: 'meeting/receiveSlot',
110
- function: 'findMemberId'
111
- }, ReceiveSlotEvents.MaxFsUpdate, {
112
- maxFs: newFs
113
- });
114
- }
115
-
116
- /**
117
- * Getter for sourceState
118
- */
119
- }, {
120
- key: "sourceState",
121
- get: function get() {
122
- return (0, _classPrivateFieldGet2.default)(this, _sourceState);
123
- }
124
-
125
- /**
126
- * registers event handlers with the underlying ReceiveSlot
127
- */
128
- }, {
129
- key: "setupEventListeners",
130
- value: function setupEventListeners() {
131
- var _this2 = this;
132
- var scope = {
133
- file: 'meeting/receiveSlot',
134
- function: 'setupEventListeners'
135
- };
136
- this.mcReceiveSlot.on(_internalMediaCore.ReceiveSlotEvents.SourceUpdate, function (state, csi) {
137
- _loggerProxy.default.logger.log("ReceiveSlot#setupEventListeners --> got source update on receive slot ".concat(_this2.id, ", mediaType=").concat(_this2.mediaType, ", csi=").concat(csi, ", state=").concat(state));
138
- (0, _classPrivateFieldSet2.default)(_this2, _memberId, csi ? _this2.findMemberIdCallback(csi) : undefined);
139
- (0, _classPrivateFieldSet2.default)(_this2, _csi, csi);
140
- (0, _classPrivateFieldSet2.default)(_this2, _sourceState, state);
141
- _this2.emit(scope, ReceiveSlotEvents.SourceUpdate, {
142
- state: (0, _classPrivateFieldGet2.default)(_this2, _sourceState),
143
- csi: (0, _classPrivateFieldGet2.default)(_this2, _csi),
144
- memberId: (0, _classPrivateFieldGet2.default)(_this2, _memberId)
145
- });
146
- });
147
- }
148
-
149
- /** Tries to find the member id for this receive slot if it hasn't got one */
150
- }, {
151
- key: "findMemberId",
152
- value: function findMemberId() {
153
- if ((0, _classPrivateFieldGet2.default)(this, _memberId) === undefined && (0, _classPrivateFieldGet2.default)(this, _csi)) {
154
- (0, _classPrivateFieldSet2.default)(this, _memberId, this.findMemberIdCallback((0, _classPrivateFieldGet2.default)(this, _csi)));
155
- if ((0, _classPrivateFieldGet2.default)(this, _memberId)) {
156
- // if we found the memberId, simulate source update so that the client app knows that something's changed
157
- this.emit({
158
- file: 'meeting/receiveSlot',
159
- function: 'findMemberId'
160
- }, ReceiveSlotEvents.SourceUpdate, {
161
- state: (0, _classPrivateFieldGet2.default)(this, _sourceState),
162
- csi: (0, _classPrivateFieldGet2.default)(this, _csi),
163
- memberId: (0, _classPrivateFieldGet2.default)(this, _memberId)
164
- });
165
- }
166
- }
167
- }
168
-
169
- /**
170
- * @returns {string} a log message used to identify the receive slot
171
- */
172
- }, {
173
- key: "logString",
174
- get: function get() {
175
- return "ReceiveSlot - ".concat(this.id, ": ").concat((0, _stringify.default)(this.mcReceiveSlot.id));
176
- }
177
-
178
- /**
179
- * The MediaStream object associated with this slot.
180
- *
181
- * @returns {MediaStream} The MediaStreamTrack.
182
- */
183
- }, {
184
- key: "stream",
185
- get: function get() {
186
- return this.mcReceiveSlot.stream;
187
- }
188
-
189
- /**
190
- * The underlying WCME receive slot
191
- */
192
- }, {
193
- key: "wcmeReceiveSlot",
194
- get: function get() {
195
- return this.mcReceiveSlot;
196
- }
197
- }]);
198
- return ReceiveSlot;
199
- }(_eventsScope.default);
200
- //# sourceMappingURL=receiveSlot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","_eventsScope","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","_classPrivateFieldInitSpec","obj","privateMap","value","_checkPrivateRedeclaration","set","privateCollection","has","TypeError","ReceiveSlotEvents","exports","SourceUpdate","MaxFsUpdate","receiveSlotCounter","_memberId","_weakMap","_csi","_sourceState","ReceiveSlot","_EventsScope","_inherits2","_super","mediaType","mcReceiveSlot","findMemberIdCallback","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","writable","_classPrivateFieldSet2","id","concat","setupEventListeners","_createClass2","key","get","_classPrivateFieldGet2","setMaxFs","newFs","emit","file","function","maxFs","_this2","scope","on","WcmeReceiveSlotEvents","state","csi","LoggerProxy","logger","log","undefined","memberId","findMemberId","_stringify","stream","EventsScope"],"sources":["receiveSlot.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {\n MediaType,\n ReceiveSlot as WcmeReceiveSlot,\n ReceiveSlotEvents as WcmeReceiveSlotEvents,\n StreamState,\n} from '@webex/internal-media-core';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport EventsScope from '../common/events/events-scope';\n\nexport const ReceiveSlotEvents = {\n SourceUpdate: 'sourceUpdate',\n MaxFsUpdate: 'maxFsUpdate',\n};\n\nexport type {StreamState} from '@webex/internal-media-core';\nexport type CSI = number;\nexport type MemberId = string;\nexport type ReceiveSlotId = string;\n\nlet receiveSlotCounter = 0;\n\nexport type FindMemberIdCallback = (csi: CSI) => MemberId | undefined;\n\n/**\n * Class representing a receive slot. A single receive slot is able to receive a single track\n * for example some participant's main video or audio\n */\nexport class ReceiveSlot extends EventsScope {\n private readonly mcReceiveSlot: WcmeReceiveSlot;\n\n private readonly findMemberIdCallback: FindMemberIdCallback;\n\n public readonly id: ReceiveSlotId;\n\n public readonly mediaType: MediaType;\n\n #memberId?: MemberId;\n\n #csi?: CSI;\n\n #sourceState: StreamState;\n\n /**\n * constructor - don't use it directly, you should always use meeting.receiveSlotManager.allocateSlot()\n * to create any receive slots\n *\n * @param {MediaType} mediaType\n * @param {ReceiveSlot} mcReceiveSlot\n * @param {FindMemberIdCallback} findMemberIdCallback callback for finding memberId for given CSI\n */\n constructor(\n mediaType: MediaType,\n mcReceiveSlot: WcmeReceiveSlot,\n findMemberIdCallback: FindMemberIdCallback\n ) {\n super();\n\n receiveSlotCounter += 1;\n\n this.findMemberIdCallback = findMemberIdCallback;\n this.mediaType = mediaType;\n this.mcReceiveSlot = mcReceiveSlot;\n this.#sourceState = 'no source';\n this.id = `r${receiveSlotCounter}`;\n\n this.setupEventListeners();\n }\n\n /**\n * Getter for memberId\n */\n public get memberId() {\n return this.#memberId;\n }\n\n /**\n * Getter for csi\n */\n public get csi() {\n return this.#csi;\n }\n\n /**\n * Set the max frame size for this slot\n * @param newFs frame size\n */\n public setMaxFs(newFs) {\n // emit event for media request manager to listen to\n\n this.emit(\n {\n file: 'meeting/receiveSlot',\n function: 'findMemberId',\n },\n ReceiveSlotEvents.MaxFsUpdate,\n {\n maxFs: newFs,\n }\n );\n }\n\n /**\n * Getter for sourceState\n */\n public get sourceState() {\n return this.#sourceState;\n }\n\n /**\n * registers event handlers with the underlying ReceiveSlot\n */\n private setupEventListeners() {\n const scope = {\n file: 'meeting/receiveSlot',\n function: 'setupEventListeners',\n };\n\n this.mcReceiveSlot.on(\n WcmeReceiveSlotEvents.SourceUpdate,\n (state: StreamState, csi?: number) => {\n LoggerProxy.logger.log(\n `ReceiveSlot#setupEventListeners --> got source update on receive slot ${this.id}, mediaType=${this.mediaType}, csi=${csi}, state=${state}`\n );\n this.#memberId = csi ? this.findMemberIdCallback(csi) : undefined;\n this.#csi = csi;\n this.#sourceState = state;\n\n this.emit(scope, ReceiveSlotEvents.SourceUpdate, {\n state: this.#sourceState,\n csi: this.#csi,\n memberId: this.#memberId,\n });\n }\n );\n }\n\n /** Tries to find the member id for this receive slot if it hasn't got one */\n public findMemberId() {\n if (this.#memberId === undefined && this.#csi) {\n this.#memberId = this.findMemberIdCallback(this.#csi);\n\n if (this.#memberId) {\n // if we found the memberId, simulate source update so that the client app knows that something's changed\n this.emit(\n {\n file: 'meeting/receiveSlot',\n function: 'findMemberId',\n },\n ReceiveSlotEvents.SourceUpdate,\n {\n state: this.#sourceState,\n csi: this.#csi,\n memberId: this.#memberId,\n }\n );\n }\n }\n }\n\n /**\n * @returns {string} a log message used to identify the receive slot\n */\n public get logString() {\n return `ReceiveSlot - ${this.id}: ${JSON.stringify(this.mcReceiveSlot.id)}`;\n }\n\n /**\n * The MediaStream object associated with this slot.\n *\n * @returns {MediaStream} The MediaStreamTrack.\n */\n get stream(): MediaStream {\n return this.mcReceiveSlot.stream;\n }\n\n /**\n * The underlying WCME receive slot\n */\n get wcmeReceiveSlot(): WcmeReceiveSlot {\n return this.mcReceiveSlot;\n }\n}\n"],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import { MediaType, ReceiveSlot as WcmeReceiveSlot } from '@webex/internal-media-core';
2
- import { FindMemberIdCallback, ReceiveSlot } from './receiveSlot';
3
- export type CreateSlotCallback = (mediaType: MediaType) => Promise<WcmeReceiveSlot>;
4
- export type { CSI, FindMemberIdCallback } from './receiveSlot';
5
- /**
6
- * Manages all receive slots used by a meeting. WMCE receive slots cannot be ever deleted,
7
- * so this manager has a pool in order to re-use the slots that were released earlier.
8
- */
9
- export declare class ReceiveSlotManager {
10
- private allocatedSlots;
11
- private freeSlots;
12
- private createSlotCallback;
13
- private findMemberIdByCsiCallback;
14
- /**
15
- * Constructor
16
- * @param {Meeting} meeting
17
- */
18
- constructor(createSlotCallback: CreateSlotCallback, findMemberIdByCsiCallback: FindMemberIdCallback);
19
- /**
20
- * Creates a new receive slot or returns one from the existing pool of free slots
21
- *
22
- * @param {MediaType} mediaType
23
- * @returns {Promise<ReceiveSlot>}
24
- */
25
- allocateSlot(mediaType: MediaType): Promise<ReceiveSlot>;
26
- /**
27
- * Releases the slot back to the pool so it can be re-used by others in the future
28
- * @param {ReceiveSlot} slot
29
- */
30
- releaseSlot(slot: ReceiveSlot): void;
31
- /**
32
- * Resets the slot manager - this method should be called when the media connection is torn down
33
- */
34
- reset(): void;
35
- /**
36
- * Returns statistics about the managed slots
37
- *
38
- * @returns {Object}
39
- */
40
- getStats(): {
41
- numAllocatedSlots: {};
42
- numFreeSlots: {};
43
- };
44
- /**
45
- * Tries to find the member id on all allocated receive slots
46
- * This function should be called when new members are added to the meeting.
47
- */
48
- updateMemberIds(): void;
49
- /**
50
- * Find a receive slot by a ssrc.
51
- *
52
- * @param ssrc - The ssrc of the receive slot to find.
53
- * @returns - The receive slot with this ssrc, undefined if not found.
54
- */
55
- findReceiveSlotBySsrc(ssrc: number): ReceiveSlot | undefined;
56
- }
@@ -1,174 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.ReceiveSlotManager = void 0;
9
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
10
- var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
13
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
16
- var _internalMediaCore = require("@webex/internal-media-core");
17
- var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
18
- var _receiveSlot = require("./receiveSlot");
19
- /* eslint-disable valid-jsdoc */
20
- /* eslint-disable import/prefer-default-export */
21
- /**
22
- * Manages all receive slots used by a meeting. WMCE receive slots cannot be ever deleted,
23
- * so this manager has a pool in order to re-use the slots that were released earlier.
24
- */
25
- var ReceiveSlotManager = exports.ReceiveSlotManager = /*#__PURE__*/function () {
26
- /**
27
- * Constructor
28
- * @param {Meeting} meeting
29
- */
30
- function ReceiveSlotManager(createSlotCallback, findMemberIdByCsiCallback) {
31
- (0, _classCallCheck2.default)(this, ReceiveSlotManager);
32
- (0, _defineProperty2.default)(this, "allocatedSlots", void 0);
33
- (0, _defineProperty2.default)(this, "freeSlots", void 0);
34
- (0, _defineProperty2.default)(this, "createSlotCallback", void 0);
35
- (0, _defineProperty2.default)(this, "findMemberIdByCsiCallback", void 0);
36
- this.allocatedSlots = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _internalMediaCore.MediaType.AudioMain, []), _internalMediaCore.MediaType.VideoMain, []), _internalMediaCore.MediaType.AudioSlides, []), _internalMediaCore.MediaType.VideoSlides, []);
37
- this.freeSlots = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _internalMediaCore.MediaType.AudioMain, []), _internalMediaCore.MediaType.VideoMain, []), _internalMediaCore.MediaType.AudioSlides, []), _internalMediaCore.MediaType.VideoSlides, []);
38
- this.createSlotCallback = createSlotCallback;
39
- this.findMemberIdByCsiCallback = findMemberIdByCsiCallback;
40
- }
41
-
42
- /**
43
- * Creates a new receive slot or returns one from the existing pool of free slots
44
- *
45
- * @param {MediaType} mediaType
46
- * @returns {Promise<ReceiveSlot>}
47
- */
48
- (0, _createClass2.default)(ReceiveSlotManager, [{
49
- key: "allocateSlot",
50
- value: (function () {
51
- var _allocateSlot = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(mediaType) {
52
- var availableSlot, wcmeReceiveSlot, receiveSlot;
53
- return _regenerator.default.wrap(function _callee$(_context) {
54
- while (1) switch (_context.prev = _context.next) {
55
- case 0:
56
- // try to use one of the free ones
57
- availableSlot = this.freeSlots[mediaType].pop();
58
- if (!availableSlot) {
59
- _context.next = 5;
60
- break;
61
- }
62
- this.allocatedSlots[mediaType].push(availableSlot);
63
- _loggerProxy.default.logger.log("".concat(mediaType, ": receive slot re-used: ").concat(availableSlot.id));
64
- return _context.abrupt("return", availableSlot);
65
- case 5:
66
- _context.next = 7;
67
- return this.createSlotCallback(mediaType);
68
- case 7:
69
- wcmeReceiveSlot = _context.sent;
70
- receiveSlot = new _receiveSlot.ReceiveSlot(mediaType, wcmeReceiveSlot, this.findMemberIdByCsiCallback);
71
- this.allocatedSlots[mediaType].push(receiveSlot);
72
- _loggerProxy.default.logger.log("".concat(mediaType, ": new receive slot allocated: ").concat(receiveSlot.id));
73
- return _context.abrupt("return", receiveSlot);
74
- case 12:
75
- case "end":
76
- return _context.stop();
77
- }
78
- }, _callee, this);
79
- }));
80
- function allocateSlot(_x) {
81
- return _allocateSlot.apply(this, arguments);
82
- }
83
- return allocateSlot;
84
- }()
85
- /**
86
- * Releases the slot back to the pool so it can be re-used by others in the future
87
- * @param {ReceiveSlot} slot
88
- */
89
- )
90
- }, {
91
- key: "releaseSlot",
92
- value: function releaseSlot(slot) {
93
- var idx = this.allocatedSlots[slot.mediaType].findIndex(function (allocatedSlot) {
94
- return allocatedSlot === slot;
95
- });
96
- if (idx >= 0) {
97
- this.allocatedSlots[slot.mediaType].splice(idx, 1);
98
- this.freeSlots[slot.mediaType].push(slot);
99
- _loggerProxy.default.logger.log("".concat(slot.mediaType, ": receive slot released: ").concat(slot.id));
100
- } else {
101
- _loggerProxy.default.logger.warn("ReceiveSlotManager#releaseSlot --> trying to release a ".concat(slot.mediaType, "} slot that is not managed by this ReceiveSlotManager"));
102
- }
103
- }
104
-
105
- /**
106
- * Resets the slot manager - this method should be called when the media connection is torn down
107
- */
108
- }, {
109
- key: "reset",
110
- value: function reset() {
111
- this.allocatedSlots = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _internalMediaCore.MediaType.AudioMain, []), _internalMediaCore.MediaType.VideoMain, []), _internalMediaCore.MediaType.AudioSlides, []), _internalMediaCore.MediaType.VideoSlides, []);
112
- this.freeSlots = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _internalMediaCore.MediaType.AudioMain, []), _internalMediaCore.MediaType.VideoMain, []), _internalMediaCore.MediaType.AudioSlides, []), _internalMediaCore.MediaType.VideoSlides, []);
113
- }
114
-
115
- /**
116
- * Returns statistics about the managed slots
117
- *
118
- * @returns {Object}
119
- */
120
- }, {
121
- key: "getStats",
122
- value: function getStats() {
123
- var _this = this;
124
- var numAllocatedSlots = {};
125
- var numFreeSlots = {};
126
- (0, _keys.default)(this.allocatedSlots).forEach(function (key) {
127
- if (_this.allocatedSlots[key].length > 0) {
128
- numAllocatedSlots[key] = _this.allocatedSlots[key].length;
129
- }
130
- });
131
- (0, _keys.default)(this.freeSlots).forEach(function (key) {
132
- if (_this.freeSlots[key].length > 0) {
133
- numFreeSlots[key] = _this.freeSlots[key].length;
134
- }
135
- });
136
- return {
137
- numAllocatedSlots: numAllocatedSlots,
138
- numFreeSlots: numFreeSlots
139
- };
140
- }
141
-
142
- /**
143
- * Tries to find the member id on all allocated receive slots
144
- * This function should be called when new members are added to the meeting.
145
- */
146
- }, {
147
- key: "updateMemberIds",
148
- value: function updateMemberIds() {
149
- var _this2 = this;
150
- (0, _keys.default)(this.allocatedSlots).forEach(function (key) {
151
- _this2.allocatedSlots[key].forEach(function (slot) {
152
- slot.findMemberId();
153
- });
154
- });
155
- }
156
-
157
- /**
158
- * Find a receive slot by a ssrc.
159
- *
160
- * @param ssrc - The ssrc of the receive slot to find.
161
- * @returns - The receive slot with this ssrc, undefined if not found.
162
- */
163
- }, {
164
- key: "findReceiveSlotBySsrc",
165
- value: function findReceiveSlotBySsrc(ssrc) {
166
- return (0, _values.default)(this.allocatedSlots).flat().find(function (r) {
167
- var _r$wcmeReceiveSlot, _r$wcmeReceiveSlot$id;
168
- return ssrc && ((_r$wcmeReceiveSlot = r.wcmeReceiveSlot) === null || _r$wcmeReceiveSlot === void 0 ? void 0 : (_r$wcmeReceiveSlot$id = _r$wcmeReceiveSlot.id) === null || _r$wcmeReceiveSlot$id === void 0 ? void 0 : _r$wcmeReceiveSlot$id.ssrc) === ssrc;
169
- });
170
- }
171
- }]);
172
- return ReceiveSlotManager;
173
- }();
174
- //# sourceMappingURL=receiveSlotManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","_receiveSlot","ReceiveSlotManager","exports","createSlotCallback","findMemberIdByCsiCallback","_classCallCheck2","default","_defineProperty2","allocatedSlots","MediaType","AudioMain","VideoMain","AudioSlides","VideoSlides","freeSlots","_createClass2","key","value","_allocateSlot","_asyncToGenerator2","_regenerator","mark","_callee","mediaType","availableSlot","wcmeReceiveSlot","receiveSlot","wrap","_callee$","_context","prev","next","pop","push","LoggerProxy","logger","log","concat","id","abrupt","sent","ReceiveSlot","stop","allocateSlot","_x","apply","arguments","releaseSlot","slot","idx","findIndex","allocatedSlot","splice","warn","reset","getStats","_this","numAllocatedSlots","numFreeSlots","_keys","forEach","length","updateMemberIds","_this2","findMemberId","findReceiveSlotBySsrc","ssrc","_values","flat","find","r","_r$wcmeReceiveSlot","_r$wcmeReceiveSlot$id"],"sources":["receiveSlotManager.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\n/* eslint-disable import/prefer-default-export */\nimport {MediaType, ReceiveSlot as WcmeReceiveSlot} from '@webex/internal-media-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {FindMemberIdCallback, ReceiveSlot} from './receiveSlot';\n\nexport type CreateSlotCallback = (mediaType: MediaType) => Promise<WcmeReceiveSlot>;\n\nexport type {CSI, FindMemberIdCallback} from './receiveSlot';\n\n/**\n * Manages all receive slots used by a meeting. WMCE receive slots cannot be ever deleted,\n * so this manager has a pool in order to re-use the slots that were released earlier.\n */\nexport class ReceiveSlotManager {\n private allocatedSlots: {[key in MediaType]: ReceiveSlot[]};\n\n private freeSlots: {[key in MediaType]: ReceiveSlot[]};\n\n private createSlotCallback: CreateSlotCallback;\n\n private findMemberIdByCsiCallback: FindMemberIdCallback;\n\n /**\n * Constructor\n * @param {Meeting} meeting\n */\n constructor(\n createSlotCallback: CreateSlotCallback,\n findMemberIdByCsiCallback: FindMemberIdCallback\n ) {\n this.allocatedSlots = {\n [MediaType.AudioMain]: [],\n [MediaType.VideoMain]: [],\n [MediaType.AudioSlides]: [],\n [MediaType.VideoSlides]: [],\n };\n this.freeSlots = {\n [MediaType.AudioMain]: [],\n [MediaType.VideoMain]: [],\n [MediaType.AudioSlides]: [],\n [MediaType.VideoSlides]: [],\n };\n this.createSlotCallback = createSlotCallback;\n this.findMemberIdByCsiCallback = findMemberIdByCsiCallback;\n }\n\n /**\n * Creates a new receive slot or returns one from the existing pool of free slots\n *\n * @param {MediaType} mediaType\n * @returns {Promise<ReceiveSlot>}\n */\n async allocateSlot(mediaType: MediaType): Promise<ReceiveSlot> {\n // try to use one of the free ones\n const availableSlot = this.freeSlots[mediaType].pop();\n\n if (availableSlot) {\n this.allocatedSlots[mediaType].push(availableSlot);\n\n LoggerProxy.logger.log(`${mediaType}: receive slot re-used: ${availableSlot.id}`);\n\n return availableSlot;\n }\n\n // we have to create a new one\n const wcmeReceiveSlot = await this.createSlotCallback(mediaType);\n\n const receiveSlot = new ReceiveSlot(mediaType, wcmeReceiveSlot, this.findMemberIdByCsiCallback);\n\n this.allocatedSlots[mediaType].push(receiveSlot);\n LoggerProxy.logger.log(`${mediaType}: new receive slot allocated: ${receiveSlot.id}`);\n\n return receiveSlot;\n }\n\n /**\n * Releases the slot back to the pool so it can be re-used by others in the future\n * @param {ReceiveSlot} slot\n */\n releaseSlot(slot: ReceiveSlot) {\n const idx = this.allocatedSlots[slot.mediaType].findIndex(\n (allocatedSlot) => allocatedSlot === slot\n );\n\n if (idx >= 0) {\n this.allocatedSlots[slot.mediaType].splice(idx, 1);\n this.freeSlots[slot.mediaType].push(slot);\n LoggerProxy.logger.log(`${slot.mediaType}: receive slot released: ${slot.id}`);\n } else {\n LoggerProxy.logger.warn(\n `ReceiveSlotManager#releaseSlot --> trying to release a ${slot.mediaType}} slot that is not managed by this ReceiveSlotManager`\n );\n }\n }\n\n /**\n * Resets the slot manager - this method should be called when the media connection is torn down\n */\n reset() {\n this.allocatedSlots = {\n [MediaType.AudioMain]: [],\n [MediaType.VideoMain]: [],\n [MediaType.AudioSlides]: [],\n [MediaType.VideoSlides]: [],\n };\n this.freeSlots = {\n [MediaType.AudioMain]: [],\n [MediaType.VideoMain]: [],\n [MediaType.AudioSlides]: [],\n [MediaType.VideoSlides]: [],\n };\n }\n\n /**\n * Returns statistics about the managed slots\n *\n * @returns {Object}\n */\n getStats() {\n const numAllocatedSlots = {};\n const numFreeSlots = {};\n\n Object.keys(this.allocatedSlots).forEach((key) => {\n if (this.allocatedSlots[key].length > 0) {\n numAllocatedSlots[key] = this.allocatedSlots[key].length;\n }\n });\n\n Object.keys(this.freeSlots).forEach((key) => {\n if (this.freeSlots[key].length > 0) {\n numFreeSlots[key] = this.freeSlots[key].length;\n }\n });\n\n return {\n numAllocatedSlots,\n numFreeSlots,\n };\n }\n\n /**\n * Tries to find the member id on all allocated receive slots\n * This function should be called when new members are added to the meeting.\n */\n updateMemberIds() {\n Object.keys(this.allocatedSlots).forEach((key) => {\n this.allocatedSlots[key].forEach((slot: ReceiveSlot) => {\n slot.findMemberId();\n });\n });\n }\n\n /**\n * Find a receive slot by a ssrc.\n *\n * @param ssrc - The ssrc of the receive slot to find.\n * @returns - The receive slot with this ssrc, undefined if not found.\n */\n findReceiveSlotBySsrc(ssrc: number): ReceiveSlot | undefined {\n return Object.values(this.allocatedSlots)\n .flat()\n .find((r) => ssrc && r.wcmeReceiveSlot?.id?.ssrc === ssrc);\n }\n}\n"],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import { MediaType, StreamState } from '@webex/internal-media-core';
2
- import EventsScope from '../common/events/events-scope';
3
- import { MediaRequestManager } from './mediaRequestManager';
4
- import { ReceiveSlot } from './receiveSlot';
5
- export declare const RemoteMediaEvents: {
6
- SourceUpdate: string;
7
- Stopped: string;
8
- };
9
- export type RemoteVideoResolution = 'thumbnail' | 'very small' | 'small' | 'medium' | 'large' | 'best';
10
- /**
11
- * Converts pane size into h264 maxFs
12
- * @param {PaneSize} paneSize
13
- * @returns {number}
14
- */
15
- export declare function getMaxFs(paneSize: RemoteVideoResolution): number;
16
- type Options = {
17
- resolution?: RemoteVideoResolution;
18
- };
19
- export type RemoteMediaId = string;
20
- /**
21
- * Class representing a remote audio/video stream.
22
- *
23
- * Internally it is associated with a specific receive slot
24
- * and a media request for it.
25
- */
26
- export declare class RemoteMedia extends EventsScope {
27
- private receiveSlot?;
28
- private readonly mediaRequestManager;
29
- private readonly options;
30
- private mediaRequestId?;
31
- readonly id: RemoteMediaId;
32
- /**
33
- * Constructs RemoteMedia instance
34
- *
35
- * @param receiveSlot
36
- * @param mediaRequestManager
37
- * @param options
38
- */
39
- constructor(receiveSlot: ReceiveSlot, mediaRequestManager: MediaRequestManager, options?: Options);
40
- /**
41
- * Supply the width and height of the video element
42
- * to restrict the requested resolution to this size
43
- * @param width width of the video element
44
- * @param height height of the video element
45
- */
46
- setSizeHint(width: any, height: any): void;
47
- /**
48
- * registers event listeners on the receive slot and forwards all the events
49
- */
50
- private setupEventListeners;
51
- /**
52
- * Getter for mediaType
53
- */
54
- get mediaType(): MediaType;
55
- /**
56
- * Getter for memberId
57
- */
58
- get memberId(): string;
59
- /**
60
- * Getter for csi
61
- */
62
- get csi(): number;
63
- /**
64
- * Getter for source state
65
- */
66
- get sourceState(): StreamState;
67
- /**
68
- * Getter for remote media stream
69
- */
70
- get stream(): MediaStream;
71
- }
72
- export {};