@webex/plugin-meetings 2.60.0 → 2.60.1-next.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 (535) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.d.ts +42 -0
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.d.ts +31 -0
  6. package/dist/annotation/constants.js +41 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.d.ts +117 -0
  9. package/dist/annotation/index.js +357 -0
  10. package/dist/annotation/index.js.map +1 -0
  11. package/dist/breakouts/breakout.d.ts +8 -0
  12. package/dist/breakouts/breakout.js +215 -0
  13. package/dist/breakouts/breakout.js.map +1 -0
  14. package/dist/breakouts/collection.d.ts +5 -0
  15. package/dist/breakouts/collection.js +22 -0
  16. package/dist/breakouts/collection.js.map +1 -0
  17. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  18. package/dist/breakouts/edit-lock-error.js +51 -0
  19. package/dist/breakouts/edit-lock-error.js.map +1 -0
  20. package/dist/breakouts/events.d.ts +8 -0
  21. package/dist/breakouts/events.js +44 -0
  22. package/dist/breakouts/events.js.map +1 -0
  23. package/dist/breakouts/index.d.ts +5 -0
  24. package/dist/breakouts/index.js +1047 -0
  25. package/dist/breakouts/index.js.map +1 -0
  26. package/dist/breakouts/request.d.ts +22 -0
  27. package/dist/breakouts/request.js +77 -0
  28. package/dist/breakouts/request.js.map +1 -0
  29. package/dist/breakouts/utils.d.ts +15 -0
  30. package/dist/breakouts/utils.js +64 -0
  31. package/dist/breakouts/utils.js.map +1 -0
  32. package/dist/common/browser-detection.js +2 -3
  33. package/dist/common/browser-detection.js.map +1 -1
  34. package/dist/common/collection.js +3 -4
  35. package/dist/common/collection.js.map +1 -1
  36. package/dist/common/config.js +1 -2
  37. package/dist/common/config.js.map +1 -1
  38. package/dist/common/errors/captcha-error.js +1 -2
  39. package/dist/common/errors/captcha-error.js.map +1 -1
  40. package/dist/common/errors/intent-to-join.js +1 -2
  41. package/dist/common/errors/intent-to-join.js.map +1 -1
  42. package/dist/common/errors/join-meeting.js +1 -2
  43. package/dist/common/errors/join-meeting.js.map +1 -1
  44. package/dist/common/errors/media.js +1 -2
  45. package/dist/common/errors/media.js.map +1 -1
  46. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  47. package/dist/common/errors/no-meeting-info.js +50 -0
  48. package/dist/common/errors/no-meeting-info.js.map +1 -0
  49. package/dist/common/errors/parameter.js +3 -4
  50. package/dist/common/errors/parameter.js.map +1 -1
  51. package/dist/common/errors/password-error.js +1 -2
  52. package/dist/common/errors/password-error.js.map +1 -1
  53. package/dist/common/errors/permission.js +1 -2
  54. package/dist/common/errors/permission.js.map +1 -1
  55. package/dist/common/errors/{reclaim-host-role-error.js → reclaim-host-role-errors.js} +7 -11
  56. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  57. package/dist/common/errors/reconnection-in-progress.js +1 -2
  58. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  59. package/dist/common/errors/reconnection.js +1 -2
  60. package/dist/common/errors/reconnection.js.map +1 -1
  61. package/dist/common/errors/stats.js +1 -2
  62. package/dist/common/errors/stats.js.map +1 -1
  63. package/dist/common/errors/webex-errors.d.ts +20 -8
  64. package/dist/common/errors/webex-errors.js +48 -28
  65. package/dist/common/errors/webex-errors.js.map +1 -1
  66. package/dist/common/errors/webex-meetings-error.js +1 -2
  67. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  68. package/dist/common/events/events-scope.js +1 -2
  69. package/dist/common/events/events-scope.js.map +1 -1
  70. package/dist/common/events/events.js +1 -2
  71. package/dist/common/events/events.js.map +1 -1
  72. package/dist/common/events/trigger-proxy.js +1 -2
  73. package/dist/common/events/trigger-proxy.js.map +1 -1
  74. package/dist/common/events/util.js +1 -2
  75. package/dist/common/events/util.js.map +1 -1
  76. package/dist/common/logs/logger-config.js +1 -2
  77. package/dist/common/logs/logger-config.js.map +1 -1
  78. package/dist/common/logs/logger-proxy.js +2 -3
  79. package/dist/common/logs/logger-proxy.js.map +1 -1
  80. package/dist/common/logs/request.d.ts +3 -1
  81. package/dist/common/logs/request.js +8 -5
  82. package/dist/common/logs/request.js.map +1 -1
  83. package/dist/common/queue.d.ts +9 -7
  84. package/dist/common/queue.js +22 -9
  85. package/dist/common/queue.js.map +1 -1
  86. package/dist/config.d.ts +6 -7
  87. package/dist/config.js +8 -10
  88. package/dist/config.js.map +1 -1
  89. package/dist/constants.d.ts +217 -97
  90. package/dist/constants.js +416 -441
  91. package/dist/constants.js.map +1 -1
  92. package/dist/controls-options-manager/constants.js +3 -6
  93. package/dist/controls-options-manager/constants.js.map +1 -1
  94. package/dist/controls-options-manager/enums.d.ts +11 -1
  95. package/dist/controls-options-manager/enums.js +15 -6
  96. package/dist/controls-options-manager/enums.js.map +1 -1
  97. package/dist/controls-options-manager/index.d.ts +17 -1
  98. package/dist/controls-options-manager/index.js +127 -38
  99. package/dist/controls-options-manager/index.js.map +1 -1
  100. package/dist/controls-options-manager/types.d.ts +43 -0
  101. package/dist/controls-options-manager/types.js +7 -0
  102. package/dist/controls-options-manager/types.js.map +1 -0
  103. package/dist/controls-options-manager/util.d.ts +1 -7
  104. package/dist/controls-options-manager/util.js +309 -19
  105. package/dist/controls-options-manager/util.js.map +1 -1
  106. package/dist/index.d.ts +6 -3
  107. package/dist/index.js +121 -5
  108. package/dist/index.js.map +1 -1
  109. package/dist/interceptors/index.d.ts +2 -0
  110. package/dist/interceptors/index.js +15 -0
  111. package/dist/interceptors/index.js.map +1 -0
  112. package/dist/interceptors/locusRetry.d.ts +27 -0
  113. package/dist/interceptors/locusRetry.js +94 -0
  114. package/dist/interceptors/locusRetry.js.map +1 -0
  115. package/dist/interpretation/collection.d.ts +5 -0
  116. package/dist/interpretation/collection.js +22 -0
  117. package/dist/interpretation/collection.js.map +1 -0
  118. package/dist/interpretation/index.d.ts +5 -0
  119. package/dist/interpretation/index.js +365 -0
  120. package/dist/interpretation/index.js.map +1 -0
  121. package/dist/interpretation/siLanguage.d.ts +5 -0
  122. package/dist/interpretation/siLanguage.js +24 -0
  123. package/dist/interpretation/siLanguage.js.map +1 -0
  124. package/dist/locus-info/controlsUtils.js +100 -11
  125. package/dist/locus-info/controlsUtils.js.map +1 -1
  126. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  127. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  128. package/dist/locus-info/fullState.js +1 -2
  129. package/dist/locus-info/fullState.js.map +1 -1
  130. package/dist/locus-info/hostUtils.js +1 -2
  131. package/dist/locus-info/hostUtils.js.map +1 -1
  132. package/dist/locus-info/index.d.ts +57 -4
  133. package/dist/locus-info/index.js +425 -84
  134. package/dist/locus-info/index.js.map +1 -1
  135. package/dist/locus-info/infoUtils.js +13 -5
  136. package/dist/locus-info/infoUtils.js.map +1 -1
  137. package/dist/locus-info/mediaSharesUtils.js +58 -3
  138. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  139. package/dist/locus-info/parser.d.ts +66 -6
  140. package/dist/locus-info/parser.js +253 -80
  141. package/dist/locus-info/parser.js.map +1 -1
  142. package/dist/locus-info/selfUtils.js +97 -13
  143. package/dist/locus-info/selfUtils.js.map +1 -1
  144. package/dist/media/index.d.ts +2 -0
  145. package/dist/media/index.js +107 -319
  146. package/dist/media/index.js.map +1 -1
  147. package/dist/media/properties.d.ts +38 -53
  148. package/dist/media/properties.js +96 -153
  149. package/dist/media/properties.js.map +1 -1
  150. package/dist/media/util.js +1 -22
  151. package/dist/media/util.js.map +1 -1
  152. package/dist/mediaQualityMetrics/config.d.ts +234 -230
  153. package/dist/mediaQualityMetrics/config.js +302 -498
  154. package/dist/mediaQualityMetrics/config.js.map +1 -1
  155. package/dist/meeting/in-meeting-actions.d.ts +88 -0
  156. package/dist/meeting/in-meeting-actions.js +94 -3
  157. package/dist/meeting/in-meeting-actions.js.map +1 -1
  158. package/dist/meeting/index.d.ts +591 -494
  159. package/dist/meeting/index.js +4732 -2990
  160. package/dist/meeting/index.js.map +1 -1
  161. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  162. package/dist/meeting/locusMediaRequest.js +291 -0
  163. package/dist/meeting/locusMediaRequest.js.map +1 -0
  164. package/dist/meeting/muteState.d.ts +93 -25
  165. package/dist/meeting/muteState.js +224 -133
  166. package/dist/meeting/muteState.js.map +1 -1
  167. package/dist/meeting/request.d.ts +82 -47
  168. package/dist/meeting/request.js +297 -199
  169. package/dist/meeting/request.js.map +1 -1
  170. package/dist/meeting/request.type.d.ts +11 -0
  171. package/dist/meeting/request.type.js +7 -0
  172. package/dist/meeting/request.type.js.map +1 -0
  173. package/dist/meeting/state.js +1 -2
  174. package/dist/meeting/state.js.map +1 -1
  175. package/dist/meeting/util.d.ts +102 -1
  176. package/dist/meeting/util.js +605 -435
  177. package/dist/meeting/util.js.map +1 -1
  178. package/dist/meeting-info/collection.js +3 -4
  179. package/dist/meeting-info/collection.js.map +1 -1
  180. package/dist/meeting-info/index.d.ts +13 -1
  181. package/dist/meeting-info/index.js +74 -7
  182. package/dist/meeting-info/index.js.map +1 -1
  183. package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
  184. package/dist/meeting-info/meeting-info-v2.js +200 -63
  185. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  186. package/dist/meeting-info/request.js +1 -2
  187. package/dist/meeting-info/request.js.map +1 -1
  188. package/dist/meeting-info/util.js +2 -3
  189. package/dist/meeting-info/util.js.map +1 -1
  190. package/dist/meeting-info/utilv2.js +39 -41
  191. package/dist/meeting-info/utilv2.js.map +1 -1
  192. package/dist/meetings/collection.d.ts +17 -0
  193. package/dist/meetings/collection.js +42 -4
  194. package/dist/meetings/collection.js.map +1 -1
  195. package/dist/meetings/index.d.ts +93 -21
  196. package/dist/meetings/index.js +490 -127
  197. package/dist/meetings/index.js.map +1 -1
  198. package/dist/meetings/meetings.types.d.ts +4 -0
  199. package/dist/meetings/meetings.types.js +7 -0
  200. package/dist/meetings/meetings.types.js.map +1 -0
  201. package/dist/meetings/request.js +4 -3
  202. package/dist/meetings/request.js.map +1 -1
  203. package/dist/meetings/util.js +107 -6
  204. package/dist/meetings/util.js.map +1 -1
  205. package/dist/member/index.d.ts +13 -1
  206. package/dist/member/index.js +45 -2
  207. package/dist/member/index.js.map +1 -1
  208. package/dist/member/member.types.js +3 -4
  209. package/dist/member/member.types.js.map +1 -1
  210. package/dist/member/types.d.ts +32 -0
  211. package/dist/member/types.js +23 -0
  212. package/dist/member/types.js.map +1 -0
  213. package/dist/member/util.js +120 -29
  214. package/dist/member/util.js.map +1 -1
  215. package/dist/members/collection.d.ts +5 -0
  216. package/dist/members/collection.js +11 -2
  217. package/dist/members/collection.js.map +1 -1
  218. package/dist/members/index.d.ts +56 -11
  219. package/dist/members/index.js +174 -47
  220. package/dist/members/index.js.map +1 -1
  221. package/dist/members/request.d.ts +67 -11
  222. package/dist/members/request.js +102 -54
  223. package/dist/members/request.js.map +1 -1
  224. package/dist/members/types.js +3 -4
  225. package/dist/members/types.js.map +1 -1
  226. package/dist/members/util.d.ts +214 -1
  227. package/dist/members/util.js +327 -284
  228. package/dist/members/util.js.map +1 -1
  229. package/dist/metrics/constants.d.ts +15 -6
  230. package/dist/metrics/constants.js +17 -9
  231. package/dist/metrics/constants.js.map +1 -1
  232. package/dist/metrics/index.d.ts +4 -111
  233. package/dist/metrics/index.js +4 -452
  234. package/dist/metrics/index.js.map +1 -1
  235. package/dist/multistream/mediaRequestManager.d.ts +118 -0
  236. package/dist/multistream/mediaRequestManager.js +344 -0
  237. package/dist/multistream/mediaRequestManager.js.map +1 -0
  238. package/dist/multistream/receiveSlot.d.ts +68 -0
  239. package/dist/multistream/receiveSlot.js +200 -0
  240. package/dist/multistream/receiveSlot.js.map +1 -0
  241. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  242. package/dist/multistream/receiveSlotManager.js +174 -0
  243. package/dist/multistream/receiveSlotManager.js.map +1 -0
  244. package/dist/multistream/remoteMedia.d.ts +72 -0
  245. package/dist/multistream/remoteMedia.js +268 -0
  246. package/dist/multistream/remoteMedia.js.map +1 -0
  247. package/dist/multistream/remoteMediaGroup.d.ts +47 -0
  248. package/dist/multistream/remoteMediaGroup.js +267 -0
  249. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  250. package/dist/multistream/remoteMediaManager.d.ts +285 -0
  251. package/dist/multistream/remoteMediaManager.js +1211 -0
  252. package/dist/multistream/remoteMediaManager.js.map +1 -0
  253. package/dist/multistream/sendSlotManager.d.ts +61 -0
  254. package/dist/multistream/sendSlotManager.js +236 -0
  255. package/dist/multistream/sendSlotManager.js.map +1 -0
  256. package/dist/networkQualityMonitor/index.js +5 -4
  257. package/dist/networkQualityMonitor/index.js.map +1 -1
  258. package/dist/personal-meeting-room/index.js +2 -3
  259. package/dist/personal-meeting-room/index.js.map +1 -1
  260. package/dist/personal-meeting-room/request.js +2 -3
  261. package/dist/personal-meeting-room/request.js.map +1 -1
  262. package/dist/personal-meeting-room/util.js +1 -2
  263. package/dist/personal-meeting-room/util.js.map +1 -1
  264. package/dist/reachability/clusterReachability.d.ts +109 -0
  265. package/dist/reachability/clusterReachability.js +357 -0
  266. package/dist/reachability/clusterReachability.js.map +1 -0
  267. package/dist/reachability/index.d.ts +61 -95
  268. package/dist/reachability/index.js +300 -393
  269. package/dist/reachability/index.js.map +1 -1
  270. package/dist/reachability/request.d.ts +7 -3
  271. package/dist/reachability/request.js +18 -10
  272. package/dist/reachability/request.js.map +1 -1
  273. package/dist/reachability/util.d.ts +8 -0
  274. package/dist/reachability/util.js +29 -0
  275. package/dist/reachability/util.js.map +1 -0
  276. package/dist/reactions/constants.d.ts +3 -0
  277. package/dist/reactions/constants.js +12 -0
  278. package/dist/reactions/constants.js.map +1 -0
  279. package/dist/reactions/reactions.d.ts +2 -2
  280. package/dist/reactions/reactions.js +4 -6
  281. package/dist/reactions/reactions.js.map +1 -1
  282. package/dist/reactions/reactions.type.d.ts +23 -3
  283. package/dist/reactions/reactions.type.js +21 -23
  284. package/dist/reactions/reactions.type.js.map +1 -1
  285. package/dist/reconnection-manager/index.d.ts +32 -8
  286. package/dist/reconnection-manager/index.js +282 -231
  287. package/dist/reconnection-manager/index.js.map +1 -1
  288. package/dist/recording-controller/enums.js +4 -5
  289. package/dist/recording-controller/enums.js.map +1 -1
  290. package/dist/recording-controller/index.d.ts +15 -1
  291. package/dist/recording-controller/index.js +57 -46
  292. package/dist/recording-controller/index.js.map +1 -1
  293. package/dist/recording-controller/util.d.ts +5 -4
  294. package/dist/recording-controller/util.js +10 -10
  295. package/dist/recording-controller/util.js.map +1 -1
  296. package/dist/roap/index.d.ts +9 -47
  297. package/dist/roap/index.js +101 -235
  298. package/dist/roap/index.js.map +1 -1
  299. package/dist/roap/request.d.ts +18 -12
  300. package/dist/roap/request.js +126 -180
  301. package/dist/roap/request.js.map +1 -1
  302. package/dist/roap/turnDiscovery.d.ts +27 -16
  303. package/dist/roap/turnDiscovery.js +115 -105
  304. package/dist/roap/turnDiscovery.js.map +1 -1
  305. package/dist/rtcMetrics/constants.d.ts +4 -0
  306. package/dist/rtcMetrics/constants.js +11 -0
  307. package/dist/rtcMetrics/constants.js.map +1 -0
  308. package/dist/rtcMetrics/index.d.ts +54 -0
  309. package/dist/rtcMetrics/index.js +140 -0
  310. package/dist/rtcMetrics/index.js.map +1 -0
  311. package/dist/statsAnalyzer/global.d.ts +1 -83
  312. package/dist/statsAnalyzer/global.js +2 -85
  313. package/dist/statsAnalyzer/global.js.map +1 -1
  314. package/dist/statsAnalyzer/index.d.ts +50 -30
  315. package/dist/statsAnalyzer/index.js +435 -510
  316. package/dist/statsAnalyzer/index.js.map +1 -1
  317. package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
  318. package/dist/statsAnalyzer/mqaUtil.js +120 -83
  319. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  320. package/dist/transcription/index.js +1 -2
  321. package/dist/transcription/index.js.map +1 -1
  322. package/dist/webinar/collection.d.ts +16 -0
  323. package/dist/webinar/collection.js +43 -0
  324. package/dist/webinar/collection.js.map +1 -0
  325. package/dist/webinar/index.d.ts +5 -0
  326. package/dist/webinar/index.js +68 -0
  327. package/dist/webinar/index.js.map +1 -0
  328. package/package.json +38 -26
  329. package/src/annotation/annotation.types.ts +50 -0
  330. package/src/annotation/constants.ts +36 -0
  331. package/src/annotation/index.ts +328 -0
  332. package/src/breakouts/README.md +220 -0
  333. package/src/breakouts/breakout.ts +188 -0
  334. package/src/breakouts/collection.ts +19 -0
  335. package/src/breakouts/edit-lock-error.ts +25 -0
  336. package/src/breakouts/events.ts +56 -0
  337. package/src/breakouts/index.ts +925 -0
  338. package/src/breakouts/request.ts +55 -0
  339. package/src/breakouts/utils.ts +57 -0
  340. package/src/common/errors/no-meeting-info.ts +24 -0
  341. package/src/common/errors/webex-errors.ts +36 -12
  342. package/src/common/logs/logger-proxy.ts +1 -1
  343. package/src/common/logs/request.ts +5 -1
  344. package/src/common/queue.ts +22 -8
  345. package/src/config.ts +6 -7
  346. package/src/constants.ts +244 -97
  347. package/src/controls-options-manager/enums.ts +12 -0
  348. package/src/controls-options-manager/index.ts +116 -21
  349. package/src/controls-options-manager/types.ts +59 -0
  350. package/src/controls-options-manager/util.ts +294 -14
  351. package/src/index.ts +44 -0
  352. package/src/interceptors/index.ts +3 -0
  353. package/src/interceptors/locusRetry.ts +67 -0
  354. package/src/interpretation/README.md +60 -0
  355. package/src/interpretation/collection.ts +19 -0
  356. package/src/interpretation/index.ts +332 -0
  357. package/src/interpretation/siLanguage.ts +18 -0
  358. package/src/locus-info/controlsUtils.ts +110 -0
  359. package/src/locus-info/index.ts +449 -61
  360. package/src/locus-info/infoUtils.ts +14 -2
  361. package/src/locus-info/mediaSharesUtils.ts +64 -0
  362. package/src/locus-info/parser.ts +258 -47
  363. package/src/locus-info/selfUtils.ts +85 -2
  364. package/src/media/index.ts +153 -370
  365. package/src/media/properties.ts +106 -136
  366. package/src/media/util.ts +0 -21
  367. package/src/mediaQualityMetrics/config.ts +244 -377
  368. package/src/meeting/in-meeting-actions.ts +176 -0
  369. package/src/meeting/index.ts +3944 -2489
  370. package/src/meeting/locusMediaRequest.ts +313 -0
  371. package/src/meeting/muteState.ts +224 -138
  372. package/src/meeting/request.ts +207 -127
  373. package/src/meeting/request.type.ts +13 -0
  374. package/src/meeting/util.ts +590 -423
  375. package/src/meeting-info/index.ts +81 -8
  376. package/src/meeting-info/meeting-info-v2.ts +163 -13
  377. package/src/meeting-info/util.ts +1 -1
  378. package/src/meeting-info/utilv2.ts +28 -28
  379. package/src/meetings/collection.ts +33 -0
  380. package/src/meetings/index.ts +487 -126
  381. package/src/meetings/meetings.types.ts +12 -0
  382. package/src/meetings/request.ts +2 -0
  383. package/src/meetings/util.ts +116 -5
  384. package/src/member/index.ts +43 -1
  385. package/src/member/types.ts +38 -0
  386. package/src/member/util.ts +125 -28
  387. package/src/members/collection.ts +8 -0
  388. package/src/members/index.ts +187 -52
  389. package/src/members/request.ts +87 -27
  390. package/src/members/util.ts +332 -291
  391. package/src/metrics/constants.ts +15 -6
  392. package/src/metrics/index.ts +1 -471
  393. package/src/multistream/mediaRequestManager.ts +440 -0
  394. package/src/multistream/receiveSlot.ts +184 -0
  395. package/src/multistream/receiveSlotManager.ts +166 -0
  396. package/src/multistream/remoteMedia.ts +254 -0
  397. package/src/multistream/remoteMediaGroup.ts +284 -0
  398. package/src/multistream/remoteMediaManager.ts +1145 -0
  399. package/src/multistream/sendSlotManager.ts +170 -0
  400. package/src/networkQualityMonitor/index.ts +6 -6
  401. package/src/reachability/clusterReachability.ts +320 -0
  402. package/src/reachability/index.ts +243 -347
  403. package/src/reachability/request.ts +17 -8
  404. package/src/reachability/util.ts +24 -0
  405. package/src/reactions/constants.ts +4 -0
  406. package/src/reactions/reactions.ts +4 -4
  407. package/src/reactions/reactions.type.ts +30 -4
  408. package/src/reconnection-manager/index.ts +168 -156
  409. package/src/recording-controller/index.ts +20 -3
  410. package/src/recording-controller/util.ts +26 -9
  411. package/src/roap/index.ts +98 -241
  412. package/src/roap/request.ts +74 -148
  413. package/src/roap/turnDiscovery.ts +62 -56
  414. package/src/rtcMetrics/constants.ts +3 -0
  415. package/src/rtcMetrics/index.ts +124 -0
  416. package/src/statsAnalyzer/global.ts +1 -84
  417. package/src/statsAnalyzer/index.ts +477 -643
  418. package/src/statsAnalyzer/mqaUtil.ts +115 -114
  419. package/src/webinar/collection.ts +31 -0
  420. package/src/webinar/index.ts +62 -0
  421. package/test/integration/spec/converged-space-meetings.js +233 -0
  422. package/test/integration/spec/journey.js +320 -264
  423. package/test/integration/spec/space-meeting.js +77 -4
  424. package/test/unit/spec/annotation/index.ts +418 -0
  425. package/test/unit/spec/breakouts/breakout.ts +237 -0
  426. package/test/unit/spec/breakouts/collection.ts +15 -0
  427. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  428. package/test/unit/spec/breakouts/events.ts +89 -0
  429. package/test/unit/spec/breakouts/index.ts +1790 -0
  430. package/test/unit/spec/breakouts/request.ts +104 -0
  431. package/test/unit/spec/breakouts/utils.js +72 -0
  432. package/test/unit/spec/common/queue.js +31 -2
  433. package/test/unit/spec/controls-options-manager/index.js +163 -0
  434. package/test/unit/spec/controls-options-manager/util.js +576 -60
  435. package/test/unit/spec/fixture/locus.js +1 -0
  436. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  437. package/test/unit/spec/interpretation/collection.ts +15 -0
  438. package/test/unit/spec/interpretation/index.ts +589 -0
  439. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  440. package/test/unit/spec/locus-info/controlsUtils.js +323 -30
  441. package/test/unit/spec/locus-info/index.js +1390 -16
  442. package/test/unit/spec/locus-info/infoUtils.js +54 -16
  443. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  444. package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
  445. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  446. package/test/unit/spec/locus-info/parser.js +116 -35
  447. package/test/unit/spec/locus-info/selfUtils.js +275 -0
  448. package/test/unit/spec/media/index.ts +290 -0
  449. package/test/unit/spec/media/properties.ts +75 -84
  450. package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
  451. package/test/unit/spec/meeting/index.js +8187 -2769
  452. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  453. package/test/unit/spec/meeting/muteState.js +409 -213
  454. package/test/unit/spec/meeting/request.js +512 -42
  455. package/test/unit/spec/meeting/utils.js +741 -24
  456. package/test/unit/spec/meeting-info/index.js +300 -0
  457. package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
  458. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  459. package/test/unit/spec/meetings/collection.js +26 -0
  460. package/test/unit/spec/meetings/index.js +1313 -243
  461. package/test/unit/spec/meetings/utils.js +202 -2
  462. package/test/unit/spec/member/index.js +32 -9
  463. package/test/unit/spec/member/util.js +499 -61
  464. package/test/unit/spec/members/index.js +394 -5
  465. package/test/unit/spec/members/request.js +206 -27
  466. package/test/unit/spec/members/utils.js +173 -38
  467. package/test/unit/spec/metrics/index.js +1 -50
  468. package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
  469. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  470. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  471. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  472. package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
  473. package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
  474. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  475. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  476. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  477. package/test/unit/spec/reachability/index.ts +531 -24
  478. package/test/unit/spec/reachability/request.js +68 -0
  479. package/test/unit/spec/reachability/util.ts +40 -0
  480. package/test/unit/spec/reconnection-manager/index.js +162 -24
  481. package/test/unit/spec/recording-controller/index.js +293 -218
  482. package/test/unit/spec/recording-controller/util.js +223 -96
  483. package/test/unit/spec/roap/index.ts +200 -76
  484. package/test/unit/spec/roap/request.ts +255 -0
  485. package/test/unit/spec/roap/turnDiscovery.ts +86 -48
  486. package/test/unit/spec/rtcMetrics/index.ts +93 -0
  487. package/test/unit/spec/stats-analyzer/index.js +261 -167
  488. package/test/unit/spec/webinar/collection.ts +13 -0
  489. package/test/unit/spec/webinar/index.ts +60 -0
  490. package/test/utils/constants.js +9 -0
  491. package/test/utils/integrationTestUtils.js +46 -0
  492. package/test/utils/testUtils.js +0 -45
  493. package/test/utils/webex-config.js +4 -0
  494. package/test/utils/webex-test-users.js +7 -3
  495. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  496. package/dist/meeting/effectsState.d.ts +0 -42
  497. package/dist/meeting/effectsState.js +0 -260
  498. package/dist/meeting/effectsState.js.map +0 -1
  499. package/dist/metrics/config.d.ts +0 -169
  500. package/dist/metrics/config.js +0 -289
  501. package/dist/metrics/config.js.map +0 -1
  502. package/dist/peer-connection-manager/index.d.ts +0 -6
  503. package/dist/peer-connection-manager/index.js +0 -671
  504. package/dist/peer-connection-manager/index.js.map +0 -1
  505. package/dist/peer-connection-manager/util.d.ts +0 -6
  506. package/dist/peer-connection-manager/util.js +0 -110
  507. package/dist/peer-connection-manager/util.js.map +0 -1
  508. package/dist/roap/collection.d.ts +0 -10
  509. package/dist/roap/collection.js +0 -63
  510. package/dist/roap/collection.js.map +0 -1
  511. package/dist/roap/handler.d.ts +0 -47
  512. package/dist/roap/handler.js +0 -279
  513. package/dist/roap/handler.js.map +0 -1
  514. package/dist/roap/state.d.ts +0 -9
  515. package/dist/roap/state.js +0 -127
  516. package/dist/roap/state.js.map +0 -1
  517. package/dist/roap/util.d.ts +0 -2
  518. package/dist/roap/util.js +0 -76
  519. package/dist/roap/util.js.map +0 -1
  520. package/src/index.js +0 -15
  521. package/src/meeting/effectsState.ts +0 -209
  522. package/src/metrics/config.ts +0 -485
  523. package/src/peer-connection-manager/index.ts +0 -847
  524. package/src/peer-connection-manager/util.ts +0 -119
  525. package/src/roap/collection.ts +0 -62
  526. package/src/roap/handler.ts +0 -294
  527. package/src/roap/state.ts +0 -156
  528. package/src/roap/util.ts +0 -100
  529. package/test/unit/spec/meeting/effectsState.js +0 -281
  530. package/test/unit/spec/peerconnection-manager/index.js +0 -218
  531. package/test/unit/spec/peerconnection-manager/utils.js +0 -49
  532. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
  533. package/test/unit/spec/roap/util.js +0 -30
  534. /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
  535. /package/src/common/errors/{reclaim-host-role-error.ts → reclaim-host-role-errors.ts} +0 -0
@@ -1,100 +1,132 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
4
  _Object$defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.getVideoSenderMqa = exports.getVideoReceiverMqa = exports.getAudioSenderMqa = exports.getAudioReceiverMqa = void 0;
9
- var _max2 = _interopRequireDefault(require("lodash/max"));
10
- var _mean2 = _interopRequireDefault(require("lodash/mean"));
8
+ var _lodash = require("lodash");
11
9
  var _constants = require("../constants");
12
- var getAudioReceiverMqa = function getAudioReceiverMqa(_ref) {
10
+ /* eslint-disable no-param-reassign, prefer-destructuring */
11
+
12
+ var getAudioReceiverMqa = exports.getAudioReceiverMqa = function getAudioReceiverMqa(_ref) {
13
+ var _lastMqaDataSent$medi, _lastMqaDataSent$medi2, _lastMqaDataSent$medi3, _lastMqaDataSent$medi4, _lastMqaDataSent$medi5, _lastMqaDataSent$medi6, _lastMqaDataSent$medi7, _lastMqaDataSent$medi8;
13
14
  var audioReceiver = _ref.audioReceiver,
14
15
  statsResults = _ref.statsResults,
15
- lastMqaDataSent = _ref.lastMqaDataSent;
16
- var mediaType = _constants.STATS.AUDIO_CORRELATE;
16
+ lastMqaDataSent = _ref.lastMqaDataSent,
17
+ mediaType = _ref.mediaType;
17
18
  var sendrecvType = _constants.STATS.RECEIVE_DIRECTION;
19
+ var lastPacketsReceived = ((_lastMqaDataSent$medi = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi === void 0 ? void 0 : _lastMqaDataSent$medi[sendrecvType].totalPacketsReceived) || 0;
20
+ var lastPacketsLost = ((_lastMqaDataSent$medi2 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi2 === void 0 ? void 0 : _lastMqaDataSent$medi2[sendrecvType].totalPacketsLost) || 0;
21
+ var lastPacketsDecoded = ((_lastMqaDataSent$medi3 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi3 === void 0 ? void 0 : _lastMqaDataSent$medi3[sendrecvType].totalSamplesDecoded) || 0;
22
+ var lastSamplesReceived = ((_lastMqaDataSent$medi4 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi4 === void 0 ? void 0 : _lastMqaDataSent$medi4[sendrecvType].totalSamplesReceived) || 0;
23
+ var lastConcealedSamples = ((_lastMqaDataSent$medi5 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi5 === void 0 ? void 0 : _lastMqaDataSent$medi5[sendrecvType].concealedSamples) || 0;
24
+ var lastBytesReceived = ((_lastMqaDataSent$medi6 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi6 === void 0 ? void 0 : _lastMqaDataSent$medi6[sendrecvType].totalBytesReceived) || 0;
25
+ var lastFecPacketsReceived = ((_lastMqaDataSent$medi7 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi7 === void 0 ? void 0 : _lastMqaDataSent$medi7[sendrecvType].fecPacketsReceived) || 0;
26
+ var lastFecPacketsDiscarded = ((_lastMqaDataSent$medi8 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi8 === void 0 ? void 0 : _lastMqaDataSent$medi8[sendrecvType].fecPacketsDiscarded) || 0;
27
+ var csi = statsResults[mediaType].csi;
28
+ if (csi && !audioReceiver.streams[0].common.csi.includes(csi)) {
29
+ audioReceiver.streams[0].common.csi.push(csi);
30
+ }
18
31
  audioReceiver.common.common.direction = statsResults[mediaType].direction;
19
- audioReceiver.common.transportType = statsResults.connectionType.remote.transport[0];
32
+ audioReceiver.common.common.isMain = !mediaType.includes('-share');
33
+ audioReceiver.common.transportType = statsResults.connectionType.local.transport;
34
+
20
35
  // add rtpPacket info inside common as also for call analyzer
21
- audioReceiver.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsReceived - lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;
36
+ audioReceiver.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;
22
37
  // Hop by hop are numbers and not percentage so we compare on what we sent the last min
23
38
  // collect the packets received for the last min
24
39
  audioReceiver.streams[0].common.rtpPackets = audioReceiver.common.rtpPackets;
25
- audioReceiver.common.mediaHopByHopLost = statsResults[mediaType][sendrecvType].totalPacketsLost - lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;
26
- audioReceiver.common.rtpHopByHopLost = statsResults[mediaType][sendrecvType].totalPacketsLost - lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;
27
-
28
- // @ts-ignore
40
+ audioReceiver.common.mediaHopByHopLost = statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;
41
+ audioReceiver.common.rtpHopByHopLost = statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;
29
42
  audioReceiver.streams[0].common.maxRtpJitter =
30
43
  // @ts-ignore
31
- (0, _max2.default)(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;
32
- audioReceiver.streams[0].common.meanRtpJitter = (0, _mean2.default)(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;
44
+ (0, _lodash.max)(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;
45
+ audioReceiver.streams[0].common.meanRtpJitter = (0, _lodash.mean)(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;
33
46
  audioReceiver.streams[0].common.rtpJitter = audioReceiver.streams[0].common.maxRtpJitter;
34
47
 
35
48
  // Fec packets do come in as part of the FEC only for audio
36
- var fecRecovered = statsResults[mediaType][sendrecvType].fecPacketsReceived - lastMqaDataSent[mediaType][sendrecvType].fecPacketsReceived - (statsResults[mediaType][sendrecvType].fecPacketsDiscarded - lastMqaDataSent[mediaType][sendrecvType].fecPacketsDiscarded);
37
- audioReceiver.streams[0].common.rtpEndToEndLost = statsResults[mediaType][sendrecvType].totalPacketsLost - lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost - fecRecovered || 0;
38
- audioReceiver.streams[0].common.framesDropped = statsResults[mediaType][sendrecvType].totalSamplesDecoded - lastMqaDataSent[mediaType][sendrecvType].totalSamplesDecoded || 0;
49
+ var fecRecovered = statsResults[mediaType][sendrecvType].fecPacketsReceived - lastFecPacketsReceived - (statsResults[mediaType][sendrecvType].fecPacketsDiscarded - lastFecPacketsDiscarded);
50
+ audioReceiver.streams[0].common.rtpEndToEndLost = statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost - fecRecovered || 0;
51
+ audioReceiver.streams[0].common.framesDropped = statsResults[mediaType][sendrecvType].totalSamplesDecoded - lastPacketsDecoded || 0;
39
52
  audioReceiver.streams[0].common.renderedFrameRate = audioReceiver.streams[0].common.framesDropped * 100 / 60 || 0;
40
- audioReceiver.streams[0].common.framesReceived = statsResults[mediaType][sendrecvType].totalSamplesReceived - lastMqaDataSent[mediaType][sendrecvType].totalSamplesReceived || 0;
41
- audioReceiver.streams[0].common.concealedFrames = statsResults[mediaType][sendrecvType].concealedSamples - lastMqaDataSent[mediaType][sendrecvType].concealedSamples || 0;
42
- audioReceiver.streams[0].common.receivedBitrate = (statsResults[mediaType][sendrecvType].totalBytesReceived - lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived) * 8 / 60 || 0;
53
+ audioReceiver.streams[0].common.framesReceived = statsResults[mediaType][sendrecvType].totalSamplesReceived - lastSamplesReceived || 0;
54
+ audioReceiver.streams[0].common.concealedFrames = statsResults[mediaType][sendrecvType].concealedSamples - lastConcealedSamples || 0;
55
+ audioReceiver.streams[0].common.receivedBitrate = (statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived) * 8 / 60 || 0;
43
56
  audioReceiver.common.rtpBitrate = audioReceiver.streams[0].common.receivedBitrate;
44
57
  };
45
- exports.getAudioReceiverMqa = getAudioReceiverMqa;
46
- var getAudioSenderMqa = function getAudioSenderMqa(_ref2) {
58
+ var getAudioSenderMqa = exports.getAudioSenderMqa = function getAudioSenderMqa(_ref2) {
59
+ var _lastMqaDataSent$medi9, _lastMqaDataSent$medi10, _lastMqaDataSent$medi11, _lastMqaDataSent$medi12, _lastMqaDataSent$medi13;
47
60
  var audioSender = _ref2.audioSender,
48
61
  statsResults = _ref2.statsResults,
49
- lastMqaDataSent = _ref2.lastMqaDataSent;
50
- var mediaType = _constants.STATS.AUDIO_CORRELATE;
62
+ lastMqaDataSent = _ref2.lastMqaDataSent,
63
+ mediaType = _ref2.mediaType;
51
64
  var sendrecvType = _constants.STATS.SEND_DIRECTION;
65
+ var lastPacketsSent = ((_lastMqaDataSent$medi9 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi9 === void 0 ? void 0 : _lastMqaDataSent$medi9[sendrecvType].totalPacketsSent) || 0;
66
+ var lastPacketsLost = ((_lastMqaDataSent$medi10 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi10 === void 0 ? void 0 : _lastMqaDataSent$medi10[sendrecvType].totalPacketsLostOnReceiver) || 0;
67
+ var lastBytesSent = ((_lastMqaDataSent$medi11 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi11 === void 0 ? void 0 : _lastMqaDataSent$medi11[sendrecvType].totalBytesSent) || 0;
68
+ var lastFramesEncoded = ((_lastMqaDataSent$medi12 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi12 === void 0 ? void 0 : _lastMqaDataSent$medi12[sendrecvType].totalKeyFramesEncoded) || 0;
69
+ var lastFirCount = ((_lastMqaDataSent$medi13 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi13 === void 0 ? void 0 : _lastMqaDataSent$medi13[sendrecvType].totalFirCount) || 0;
70
+ var csi = statsResults[mediaType].csi;
71
+ if (csi && !audioSender.streams[0].common.csi.includes(csi)) {
72
+ audioSender.streams[0].common.csi.push(csi);
73
+ }
52
74
  audioSender.common.common.direction = statsResults[mediaType].direction;
53
- audioSender.common.transportType = statsResults.connectionType.local.transport[0];
54
-
55
- // @ts-ignore
75
+ audioSender.common.common.isMain = !mediaType.includes('-share');
76
+ audioSender.common.transportType = statsResults.connectionType.local.transport;
56
77
  audioSender.common.maxRemoteJitter =
57
78
  // @ts-ignore
58
- (0, _max2.default)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
59
- audioSender.common.meanRemoteJitter = (0, _mean2.default)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
60
- audioSender.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsSent - lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;
79
+ (0, _lodash.max)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
80
+ audioSender.common.meanRemoteJitter = (0, _lodash.mean)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
81
+ audioSender.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;
61
82
  audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;
62
83
  // From candidate-pair
63
84
  audioSender.common.availableBitrate = statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;
64
85
  // Calculate based on how much packets lost of received compated to how to the client sent
65
86
 
66
- var totalpacketsLostForaMin = statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;
87
+ var totalpacketsLostForaMin = statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;
67
88
  audioSender.common.remoteLossRate = totalpacketsLostForaMin > 0 ? totalpacketsLostForaMin * 100 / audioSender.common.rtpPackets : 0; // This is the packets sent with in last min || 0;
68
89
 
69
- // @ts-ignore
70
90
  audioSender.common.maxRoundTripTime =
71
91
  // @ts-ignore
72
- (0, _max2.default)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
73
- audioSender.common.meanRoundTripTime = (0, _mean2.default)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
92
+ (0, _lodash.max)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
93
+ audioSender.common.meanRoundTripTime = (0, _lodash.mean)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
74
94
  audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;
75
95
 
76
96
  // Calculate the outgoing bitrate
77
- var totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;
97
+ var totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;
78
98
  audioSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin ? totalBytesSentInaMin * 8 / 60 : 0;
79
99
  audioSender.common.rtpBitrate = audioSender.streams[0].common.transmittedBitrate;
80
- audioSender.streams[0].transmittedKeyFrames = statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;
81
- audioSender.streams[0].requestedKeyFrames = statsResults[mediaType][sendrecvType].totalFirCount - lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;
100
+ audioSender.streams[0].transmittedKeyFrames = statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastFramesEncoded || 0;
101
+ audioSender.streams[0].requestedKeyFrames = statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;
82
102
  };
83
- exports.getAudioSenderMqa = getAudioSenderMqa;
84
- var getVideoReceiverMqa = function getVideoReceiverMqa(_ref3) {
103
+ var getVideoReceiverMqa = exports.getVideoReceiverMqa = function getVideoReceiverMqa(_ref3) {
104
+ var _lastMqaDataSent$medi14, _lastMqaDataSent$medi15, _lastMqaDataSent$medi16, _lastMqaDataSent$medi17, _lastMqaDataSent$medi18, _lastMqaDataSent$medi19, _lastMqaDataSent$medi20, _lastMqaDataSent$medi21;
85
105
  var videoReceiver = _ref3.videoReceiver,
86
106
  statsResults = _ref3.statsResults,
87
107
  lastMqaDataSent = _ref3.lastMqaDataSent,
88
- _ref3$isShareStream = _ref3.isShareStream,
89
- isShareStream = _ref3$isShareStream === void 0 ? false : _ref3$isShareStream;
90
- var mediaType = isShareStream ? _constants.STATS.SHARE_CORRELATE : _constants.STATS.VIDEO_CORRELATE;
108
+ mediaType = _ref3.mediaType;
91
109
  var sendrecvType = _constants.STATS.RECEIVE_DIRECTION;
110
+ var lastPacketsReceived = ((_lastMqaDataSent$medi14 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi14 === void 0 ? void 0 : _lastMqaDataSent$medi14[sendrecvType].totalPacketsReceived) || 0;
111
+ var lastPacketsLost = ((_lastMqaDataSent$medi15 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi15 === void 0 ? void 0 : _lastMqaDataSent$medi15[sendrecvType].totalPacketsLost) || 0;
112
+ var lastBytesReceived = ((_lastMqaDataSent$medi16 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi16 === void 0 ? void 0 : _lastMqaDataSent$medi16[sendrecvType].totalBytesReceived) || 0;
113
+ var lastFramesReceived = ((_lastMqaDataSent$medi17 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi17 === void 0 ? void 0 : _lastMqaDataSent$medi17[sendrecvType].framesReceived) || 0;
114
+ var lastFramesDecoded = ((_lastMqaDataSent$medi18 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi18 === void 0 ? void 0 : _lastMqaDataSent$medi18[sendrecvType].framesDecoded) || 0;
115
+ var lastFramesDropped = ((_lastMqaDataSent$medi19 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi19 === void 0 ? void 0 : _lastMqaDataSent$medi19[sendrecvType].framesDropped) || 0;
116
+ var lastKeyFramesDecoded = ((_lastMqaDataSent$medi20 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi20 === void 0 ? void 0 : _lastMqaDataSent$medi20[sendrecvType].keyFramesDecoded) || 0;
117
+ var lastPliCount = ((_lastMqaDataSent$medi21 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi21 === void 0 ? void 0 : _lastMqaDataSent$medi21[sendrecvType].totalPliCount) || 0;
118
+ var csi = statsResults[mediaType].csi;
119
+ if (csi && !videoReceiver.streams[0].common.csi.includes(csi)) {
120
+ videoReceiver.streams[0].common.csi.push(csi);
121
+ }
92
122
  videoReceiver.common.common.direction = statsResults[mediaType].direction;
93
- videoReceiver.common.transportType = statsResults.connectionType.remote.transport[0];
123
+ videoReceiver.common.common.isMain = !mediaType.includes('-share');
124
+ videoReceiver.common.transportType = statsResults.connectionType.local.transport;
125
+
94
126
  // collect the packets received for the last min
95
- videoReceiver.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsReceived - lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;
127
+ videoReceiver.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;
96
128
  videoReceiver.streams[0].common.rtpPackets = videoReceiver.common.rtpPackets;
97
- var totalPacketLoss = statsResults[mediaType][sendrecvType].totalPacketsLost - lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;
129
+ var totalPacketLoss = statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;
98
130
 
99
131
  // Hope by hop are numbers and not percentage so we compare on what we sent the last min
100
132
  // this is including packet lost
@@ -106,76 +138,81 @@ var getVideoReceiverMqa = function getVideoReceiverMqa(_ref3) {
106
138
 
107
139
  // calculate this values
108
140
 
109
- // @ts-ignore
110
141
  videoReceiver.common.maxRemoteJitter =
111
142
  // @ts-ignore
112
- (0, _max2.default)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
113
- videoReceiver.common.meanRemoteJitter = (0, _mean2.default)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
143
+ (0, _lodash.max)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
144
+ videoReceiver.common.meanRemoteJitter = (0, _lodash.mean)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
114
145
  videoReceiver.streams[0].common.rtpJitter = videoReceiver.common.maxRemoteJitter;
115
- // videoReceiver.streams[0].common.rtpJitter = (statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferDelay) / (statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount) * 1000 || 0;
116
146
 
117
147
  // Calculate the outgoing bitrate
118
- var totalBytesReceivedInaMin = statsResults[mediaType][sendrecvType].totalBytesReceived - lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived;
148
+ var totalBytesReceivedInaMin = statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived;
119
149
  videoReceiver.streams[0].common.receivedBitrate = totalBytesReceivedInaMin ? totalBytesReceivedInaMin * 8 / 60 : 0;
120
150
  videoReceiver.common.rtpBitrate = videoReceiver.streams[0].common.receivedBitrate;
121
151
 
122
152
  // From tracks //TODO: calculate a proper one
123
- var totalFrameReceivedInaMin = statsResults.resolutions[mediaType][sendrecvType].framesReceived - lastMqaDataSent.resolutions[mediaType][sendrecvType].framesReceived;
124
- var totalFrameDecodedInaMin = statsResults.resolutions[mediaType][sendrecvType].framesDecoded - lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDecoded;
125
- videoReceiver.streams[0].common.receivedFrameRate = totalFrameReceivedInaMin ? totalFrameReceivedInaMin * 100 / 60 : 0;
126
- videoReceiver.streams[0].common.renderedFrameRate = totalFrameDecodedInaMin ? totalFrameDecodedInaMin * 100 / 60 : 0;
127
- videoReceiver.streams[0].common.framesDropped = statsResults.resolutions[mediaType][sendrecvType].framesDropped - lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDropped;
128
- videoReceiver.streams[0].receivedHeight = statsResults.resolutions[mediaType][sendrecvType].height;
129
- videoReceiver.streams[0].receivedWidth = statsResults.resolutions[mediaType][sendrecvType].width;
130
- videoReceiver.streams[0].receivedFrameSize = statsResults.resolutions[mediaType][sendrecvType].height * statsResults.resolutions[mediaType][sendrecvType].height / 256;
131
- videoReceiver.streams[0].receivedKeyFrames = statsResults[mediaType][sendrecvType].keyFramesDecoded - lastMqaDataSent[mediaType][sendrecvType].keyFramesDecoded || 0;
132
- videoReceiver.streams[0].requestedKeyFrames = statsResults[mediaType][sendrecvType].totalPliCount - lastMqaDataSent[mediaType][sendrecvType].totalPliCount || 0;
153
+ var totalFrameReceivedInaMin = statsResults[mediaType][sendrecvType].framesReceived - lastFramesReceived;
154
+ var totalFrameDecodedInaMin = statsResults[mediaType][sendrecvType].framesDecoded - lastFramesDecoded;
155
+ videoReceiver.streams[0].common.receivedFrameRate = Math.round(totalFrameReceivedInaMin ? totalFrameReceivedInaMin / 60 : 0);
156
+ videoReceiver.streams[0].common.renderedFrameRate = Math.round(totalFrameDecodedInaMin ? totalFrameDecodedInaMin / 60 : 0);
157
+ videoReceiver.streams[0].common.framesDropped = statsResults[mediaType][sendrecvType].framesDropped - lastFramesDropped;
158
+ videoReceiver.streams[0].receivedHeight = statsResults[mediaType][sendrecvType].height || 0;
159
+ videoReceiver.streams[0].receivedWidth = statsResults[mediaType][sendrecvType].width || 0;
160
+ videoReceiver.streams[0].receivedFrameSize = videoReceiver.streams[0].receivedHeight * videoReceiver.streams[0].receivedWidth / 256;
161
+ videoReceiver.streams[0].receivedKeyFrames = statsResults[mediaType][sendrecvType].keyFramesDecoded - lastKeyFramesDecoded || 0;
162
+ videoReceiver.streams[0].requestedKeyFrames = statsResults[mediaType][sendrecvType].totalPliCount - lastPliCount || 0;
133
163
  };
134
- exports.getVideoReceiverMqa = getVideoReceiverMqa;
135
- var getVideoSenderMqa = function getVideoSenderMqa(_ref4) {
164
+ var getVideoSenderMqa = exports.getVideoSenderMqa = function getVideoSenderMqa(_ref4) {
165
+ var _lastMqaDataSent$medi22, _lastMqaDataSent$medi23, _lastMqaDataSent$medi24, _lastMqaDataSent$medi25, _lastMqaDataSent$medi26, _lastMqaDataSent$medi27;
136
166
  var videoSender = _ref4.videoSender,
137
167
  statsResults = _ref4.statsResults,
138
168
  lastMqaDataSent = _ref4.lastMqaDataSent,
139
- _ref4$isShareStream = _ref4.isShareStream,
140
- isShareStream = _ref4$isShareStream === void 0 ? false : _ref4$isShareStream;
141
- var mediaType = isShareStream ? _constants.STATS.SHARE_CORRELATE : _constants.STATS.VIDEO_CORRELATE;
169
+ mediaType = _ref4.mediaType;
142
170
  var sendrecvType = _constants.STATS.SEND_DIRECTION;
171
+ var lastPacketsSent = ((_lastMqaDataSent$medi22 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi22 === void 0 ? void 0 : _lastMqaDataSent$medi22[sendrecvType].totalPacketsSent) || 0;
172
+ var lastPacketsLost = ((_lastMqaDataSent$medi23 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi23 === void 0 ? void 0 : _lastMqaDataSent$medi23[sendrecvType].totalPacketsLostOnReceiver) || 0;
173
+ var lastBytesSent = ((_lastMqaDataSent$medi24 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi24 === void 0 ? void 0 : _lastMqaDataSent$medi24[sendrecvType].totalBytesSent) || 0;
174
+ var lastKeyFramesEncoded = ((_lastMqaDataSent$medi25 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi25 === void 0 ? void 0 : _lastMqaDataSent$medi25[sendrecvType].totalKeyFramesEncoded) || 0;
175
+ var lastFirCount = ((_lastMqaDataSent$medi26 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi26 === void 0 ? void 0 : _lastMqaDataSent$medi26[sendrecvType].totalFirCount) || 0;
176
+ var lastFramesSent = ((_lastMqaDataSent$medi27 = lastMqaDataSent[mediaType]) === null || _lastMqaDataSent$medi27 === void 0 ? void 0 : _lastMqaDataSent$medi27[sendrecvType].framesSent) || 0;
177
+ var csi = statsResults[mediaType].csi;
178
+ if (csi && !videoSender.streams[0].common.csi.includes(csi)) {
179
+ videoSender.streams[0].common.csi.push(csi);
180
+ }
143
181
  videoSender.common.common.direction = statsResults[mediaType].direction;
144
- videoSender.common.transportType = statsResults.connectionType.local.transport[0];
182
+ videoSender.common.common.isMain = !mediaType.includes('-share');
183
+ videoSender.common.transportType = statsResults.connectionType.local.transport;
145
184
 
146
185
  // @ts-ignore
147
186
  videoSender.common.maxRemoteJitter =
148
187
  // @ts-ignore
149
- (0, _max2.default)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
150
- videoSender.common.meanRemoteJitter = (0, _mean2.default)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
151
- videoSender.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsSent - lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;
188
+ (0, _lodash.max)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
189
+ videoSender.common.meanRemoteJitter = (0, _lodash.mean)(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;
190
+ videoSender.common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;
152
191
  videoSender.common.availableBitrate = statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;
153
192
  // Calculate based on how much packets lost of received compated to how to the client sent
154
193
 
155
- var totalpacketsLostForaMin = statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;
194
+ var totalpacketsLostForaMin = statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;
156
195
  videoSender.common.remoteLossRate = totalpacketsLostForaMin > 0 ? totalpacketsLostForaMin * 100 / (videoSender.common.rtpPackets + totalpacketsLostForaMin) : 0; // This is the packets sent with in last min || 0;
157
196
 
158
- // @ts-ignore
159
197
  videoSender.common.maxRoundTripTime =
160
198
  // @ts-ignore
161
- (0, _max2.default)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
162
- videoSender.common.meanRoundTripTime = (0, _mean2.default)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
199
+ (0, _lodash.max)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
200
+ videoSender.common.meanRoundTripTime = (0, _lodash.mean)(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;
163
201
  videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;
164
- videoSender.streams[0].common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsSent - lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;
202
+ videoSender.streams[0].common.rtpPackets = statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;
165
203
 
166
204
  // Calculate the outgoing bitrate
167
- var totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;
205
+ var totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;
168
206
  videoSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin ? totalBytesSentInaMin * 8 / 60 : 0;
169
207
  videoSender.common.rtpBitrate = videoSender.streams[0].common.transmittedBitrate;
170
- videoSender.streams[0].transmittedKeyFrames = statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;
171
- videoSender.streams[0].requestedKeyFrames = statsResults[mediaType][sendrecvType].totalFirCount - lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;
208
+ videoSender.streams[0].transmittedKeyFrames = statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastKeyFramesEncoded || 0;
209
+ videoSender.streams[0].requestedKeyFrames = statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;
172
210
 
173
211
  // From tracks //TODO: calculate a proper one
174
- var totalFrameSentInaMin = statsResults.resolutions[mediaType][sendrecvType].framesSent - (lastMqaDataSent.resolutions[mediaType][sendrecvType].framesSent || 0);
175
- videoSender.streams[0].common.transmittedFrameRate = totalFrameSentInaMin ? totalFrameSentInaMin * 100 / 60 : 0;
176
- videoSender.streams[0].transmittedHeight = statsResults.resolutions[mediaType][sendrecvType].height;
177
- videoSender.streams[0].transmittedWidth = statsResults.resolutions[mediaType][sendrecvType].width;
178
- videoSender.streams[0].transmittedFrameSize = statsResults.resolutions[mediaType][sendrecvType].height * statsResults.resolutions[mediaType][sendrecvType].width / 254;
212
+ var totalFrameSentInaMin = statsResults[mediaType][sendrecvType].framesSent - (lastFramesSent || 0);
213
+ videoSender.streams[0].common.transmittedFrameRate = Math.round(totalFrameSentInaMin ? totalFrameSentInaMin / 60 : 0);
214
+ videoSender.streams[0].transmittedHeight = statsResults[mediaType][sendrecvType].height || 0;
215
+ videoSender.streams[0].transmittedWidth = statsResults[mediaType][sendrecvType].width || 0;
216
+ videoSender.streams[0].transmittedFrameSize = videoSender.streams[0].transmittedHeight * videoSender.streams[0].transmittedWidth / 256;
179
217
  };
180
- exports.getVideoSenderMqa = getVideoSenderMqa;
181
218
  //# sourceMappingURL=mqaUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","getAudioReceiverMqa","_ref","audioReceiver","statsResults","lastMqaDataSent","mediaType","STATS","AUDIO_CORRELATE","sendrecvType","RECEIVE_DIRECTION","common","direction","transportType","connectionType","remote","transport","rtpPackets","totalPacketsReceived","streams","mediaHopByHopLost","totalPacketsLost","rtpHopByHopLost","maxRtpJitter","_max2","default","meanRtpJitter","_mean2","rtpJitter","fecRecovered","fecPacketsReceived","fecPacketsDiscarded","rtpEndToEndLost","framesDropped","totalSamplesDecoded","renderedFrameRate","framesReceived","totalSamplesReceived","concealedFrames","concealedSamples","receivedBitrate","totalBytesReceived","rtpBitrate","exports","getAudioSenderMqa","_ref2","audioSender","SEND_DIRECTION","local","maxRemoteJitter","meanRemoteJitter","totalPacketsSent","availableBitrate","availableOutgoingBitrate","totalpacketsLostForaMin","totalPacketsLostOnReceiver","remoteLossRate","maxRoundTripTime","meanRoundTripTime","roundTripTime","totalBytesSentInaMin","totalBytesSent","transmittedBitrate","transmittedKeyFrames","totalKeyFramesEncoded","requestedKeyFrames","totalFirCount","getVideoReceiverMqa","_ref3","videoReceiver","_ref3$isShareStream","isShareStream","SHARE_CORRELATE","VIDEO_CORRELATE","totalPacketLoss","totalBytesReceivedInaMin","totalFrameReceivedInaMin","resolutions","totalFrameDecodedInaMin","framesDecoded","receivedFrameRate","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","keyFramesDecoded","totalPliCount","getVideoSenderMqa","_ref4","videoSender","_ref4$isShareStream","totalFrameSentInaMin","framesSent","transmittedFrameRate","transmittedHeight","transmittedWidth","transmittedFrameSize"],"sources":["mqaUtil.ts"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\nimport {mean, max} from 'lodash';\n\nimport {STATS} from '../constants';\n\nexport const getAudioReceiverMqa = ({audioReceiver, statsResults, lastMqaDataSent}) => {\n const mediaType = STATS.AUDIO_CORRELATE;\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n audioReceiver.common.common.direction = statsResults[mediaType].direction;\n audioReceiver.common.transportType = statsResults.connectionType.remote.transport[0];\n // add rtpPacket info inside common as also for call analyzer\n audioReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;\n // Hop by hop are numbers and not percentage so we compare on what we sent the last min\n // collect the packets received for the last min\n audioReceiver.streams[0].common.rtpPackets = audioReceiver.common.rtpPackets;\n audioReceiver.common.mediaHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n audioReceiver.common.rtpHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n\n // @ts-ignore\n audioReceiver.streams[0].common.maxRtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.meanRtpJitter =\n mean(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.rtpJitter = audioReceiver.streams[0].common.maxRtpJitter;\n\n // Fec packets do come in as part of the FEC only for audio\n const fecRecovered =\n statsResults[mediaType][sendrecvType].fecPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].fecPacketsReceived -\n (statsResults[mediaType][sendrecvType].fecPacketsDiscarded -\n lastMqaDataSent[mediaType][sendrecvType].fecPacketsDiscarded);\n\n audioReceiver.streams[0].common.rtpEndToEndLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost -\n fecRecovered || 0;\n\n audioReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].totalSamplesDecoded -\n lastMqaDataSent[mediaType][sendrecvType].totalSamplesDecoded || 0;\n audioReceiver.streams[0].common.renderedFrameRate =\n (audioReceiver.streams[0].common.framesDropped * 100) / 60 || 0;\n audioReceiver.streams[0].common.framesReceived =\n statsResults[mediaType][sendrecvType].totalSamplesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalSamplesReceived || 0;\n audioReceiver.streams[0].common.concealedFrames =\n statsResults[mediaType][sendrecvType].concealedSamples -\n lastMqaDataSent[mediaType][sendrecvType].concealedSamples || 0;\n audioReceiver.streams[0].common.receivedBitrate =\n ((statsResults[mediaType][sendrecvType].totalBytesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived) *\n 8) /\n 60 || 0;\n\n audioReceiver.common.rtpBitrate = audioReceiver.streams[0].common.receivedBitrate;\n};\n\nexport const getAudioSenderMqa = ({audioSender, statsResults, lastMqaDataSent}) => {\n const mediaType = STATS.AUDIO_CORRELATE;\n const sendrecvType = STATS.SEND_DIRECTION;\n\n audioSender.common.common.direction = statsResults[mediaType].direction;\n audioSender.common.transportType = statsResults.connectionType.local.transport[0];\n\n // @ts-ignore\n audioSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n audioSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n audioSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;\n // From candidate-pair\n audioSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;\n\n audioSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / audioSender.common.rtpPackets\n : 0; // This is the packets sent with in last min || 0;\n\n // @ts-ignore\n audioSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin =\n statsResults[mediaType][sendrecvType].totalBytesSent -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;\n\n audioSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n audioSender.common.rtpBitrate = audioSender.streams[0].common.transmittedBitrate;\n\n audioSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded -\n lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;\n audioSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount -\n lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;\n};\n\nexport const getVideoReceiverMqa = ({\n videoReceiver,\n statsResults,\n lastMqaDataSent,\n isShareStream = false,\n}) => {\n const mediaType = isShareStream ? STATS.SHARE_CORRELATE : STATS.VIDEO_CORRELATE;\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n videoReceiver.common.common.direction = statsResults[mediaType].direction;\n videoReceiver.common.transportType = statsResults.connectionType.remote.transport[0];\n // collect the packets received for the last min\n videoReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;\n videoReceiver.streams[0].common.rtpPackets = videoReceiver.common.rtpPackets;\n\n const totalPacketLoss =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n\n // Hope by hop are numbers and not percentage so we compare on what we sent the last min\n // this is including packet lost\n videoReceiver.common.mediaHopByHopLost = totalPacketLoss;\n videoReceiver.common.rtpHopByHopLost = totalPacketLoss;\n\n // End to end packetloss is after recovery\n videoReceiver.streams[0].common.rtpEndToEndLost = totalPacketLoss;\n\n // calculate this values\n\n // @ts-ignore\n videoReceiver.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoReceiver.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoReceiver.streams[0].common.rtpJitter = videoReceiver.common.maxRemoteJitter;\n // videoReceiver.streams[0].common.rtpJitter = (statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferDelay) / (statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount) * 1000 || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesReceivedInaMin =\n statsResults[mediaType][sendrecvType].totalBytesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived;\n\n videoReceiver.streams[0].common.receivedBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n videoReceiver.common.rtpBitrate = videoReceiver.streams[0].common.receivedBitrate;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameReceivedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesReceived -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesReceived;\n const totalFrameDecodedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesDecoded -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDecoded;\n\n videoReceiver.streams[0].common.receivedFrameRate = totalFrameReceivedInaMin\n ? (totalFrameReceivedInaMin * 100) / 60\n : 0;\n videoReceiver.streams[0].common.renderedFrameRate = totalFrameDecodedInaMin\n ? (totalFrameDecodedInaMin * 100) / 60\n : 0;\n\n videoReceiver.streams[0].common.framesDropped =\n statsResults.resolutions[mediaType][sendrecvType].framesDropped -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDropped;\n videoReceiver.streams[0].receivedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height;\n videoReceiver.streams[0].receivedWidth = statsResults.resolutions[mediaType][sendrecvType].width;\n videoReceiver.streams[0].receivedFrameSize =\n (statsResults.resolutions[mediaType][sendrecvType].height *\n statsResults.resolutions[mediaType][sendrecvType].height) /\n 256;\n\n videoReceiver.streams[0].receivedKeyFrames =\n statsResults[mediaType][sendrecvType].keyFramesDecoded -\n lastMqaDataSent[mediaType][sendrecvType].keyFramesDecoded || 0;\n videoReceiver.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalPliCount -\n lastMqaDataSent[mediaType][sendrecvType].totalPliCount || 0;\n};\n\nexport const getVideoSenderMqa = ({\n videoSender,\n statsResults,\n lastMqaDataSent,\n isShareStream = false,\n}) => {\n const mediaType = isShareStream ? STATS.SHARE_CORRELATE : STATS.VIDEO_CORRELATE;\n const sendrecvType = STATS.SEND_DIRECTION;\n\n videoSender.common.common.direction = statsResults[mediaType].direction;\n videoSender.common.transportType = statsResults.connectionType.local.transport[0];\n\n // @ts-ignore\n videoSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n videoSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;\n\n videoSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / (videoSender.common.rtpPackets + totalpacketsLostForaMin)\n : 0; // This is the packets sent with in last min || 0;\n\n // @ts-ignore\n videoSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;\n\n videoSender.streams[0].common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin =\n statsResults[mediaType][sendrecvType].totalBytesSent -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;\n\n videoSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n videoSender.common.rtpBitrate = videoSender.streams[0].common.transmittedBitrate;\n\n videoSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded -\n lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;\n videoSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount -\n lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameSentInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesSent -\n (lastMqaDataSent.resolutions[mediaType][sendrecvType].framesSent || 0);\n\n videoSender.streams[0].common.transmittedFrameRate = totalFrameSentInaMin\n ? (totalFrameSentInaMin * 100) / 60\n : 0;\n videoSender.streams[0].transmittedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height;\n videoSender.streams[0].transmittedWidth = statsResults.resolutions[mediaType][sendrecvType].width;\n videoSender.streams[0].transmittedFrameSize =\n (statsResults.resolutions[mediaType][sendrecvType].height *\n statsResults.resolutions[mediaType][sendrecvType].width) /\n 254;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","_constants","getAudioReceiverMqa","exports","_ref","_lastMqaDataSent$medi","_lastMqaDataSent$medi2","_lastMqaDataSent$medi3","_lastMqaDataSent$medi4","_lastMqaDataSent$medi5","_lastMqaDataSent$medi6","_lastMqaDataSent$medi7","_lastMqaDataSent$medi8","audioReceiver","statsResults","lastMqaDataSent","mediaType","sendrecvType","STATS","RECEIVE_DIRECTION","lastPacketsReceived","totalPacketsReceived","lastPacketsLost","totalPacketsLost","lastPacketsDecoded","totalSamplesDecoded","lastSamplesReceived","totalSamplesReceived","lastConcealedSamples","concealedSamples","lastBytesReceived","totalBytesReceived","lastFecPacketsReceived","fecPacketsReceived","lastFecPacketsDiscarded","fecPacketsDiscarded","csi","streams","common","includes","push","direction","isMain","transportType","connectionType","local","transport","rtpPackets","mediaHopByHopLost","rtpHopByHopLost","maxRtpJitter","max","meanRtpJitter","mean","rtpJitter","fecRecovered","rtpEndToEndLost","framesDropped","renderedFrameRate","framesReceived","concealedFrames","receivedBitrate","rtpBitrate","getAudioSenderMqa","_ref2","_lastMqaDataSent$medi9","_lastMqaDataSent$medi10","_lastMqaDataSent$medi11","_lastMqaDataSent$medi12","_lastMqaDataSent$medi13","audioSender","SEND_DIRECTION","lastPacketsSent","totalPacketsSent","totalPacketsLostOnReceiver","lastBytesSent","totalBytesSent","lastFramesEncoded","totalKeyFramesEncoded","lastFirCount","totalFirCount","maxRemoteJitter","meanRemoteJitter","availableBitrate","availableOutgoingBitrate","totalpacketsLostForaMin","remoteLossRate","maxRoundTripTime","meanRoundTripTime","roundTripTime","totalBytesSentInaMin","transmittedBitrate","transmittedKeyFrames","requestedKeyFrames","getVideoReceiverMqa","_ref3","_lastMqaDataSent$medi14","_lastMqaDataSent$medi15","_lastMqaDataSent$medi16","_lastMqaDataSent$medi17","_lastMqaDataSent$medi18","_lastMqaDataSent$medi19","_lastMqaDataSent$medi20","_lastMqaDataSent$medi21","videoReceiver","lastFramesReceived","lastFramesDecoded","framesDecoded","lastFramesDropped","lastKeyFramesDecoded","keyFramesDecoded","lastPliCount","totalPliCount","totalPacketLoss","totalBytesReceivedInaMin","totalFrameReceivedInaMin","totalFrameDecodedInaMin","receivedFrameRate","Math","round","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","getVideoSenderMqa","_ref4","_lastMqaDataSent$medi22","_lastMqaDataSent$medi23","_lastMqaDataSent$medi24","_lastMqaDataSent$medi25","_lastMqaDataSent$medi26","_lastMqaDataSent$medi27","videoSender","lastKeyFramesEncoded","lastFramesSent","framesSent","totalFrameSentInaMin","transmittedFrameRate","transmittedHeight","transmittedWidth","transmittedFrameSize"],"sources":["mqaUtil.ts"],"sourcesContent":["/* eslint-disable no-param-reassign, prefer-destructuring */\n\nimport {mean, max} from 'lodash';\n\nimport {STATS} from '../constants';\n\nexport const getAudioReceiverMqa = ({audioReceiver, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const lastPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsReceived || 0;\n const lastPacketsLost = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLost || 0;\n const lastPacketsDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].totalSamplesDecoded || 0;\n const lastSamplesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalSamplesReceived || 0;\n const lastConcealedSamples = lastMqaDataSent[mediaType]?.[sendrecvType].concealedSamples || 0;\n const lastBytesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesReceived || 0;\n const lastFecPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].fecPacketsReceived || 0;\n const lastFecPacketsDiscarded =\n lastMqaDataSent[mediaType]?.[sendrecvType].fecPacketsDiscarded || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioReceiver.streams[0].common.csi.includes(csi)) {\n audioReceiver.streams[0].common.csi.push(csi);\n }\n\n audioReceiver.common.common.direction = statsResults[mediaType].direction;\n audioReceiver.common.common.isMain = !mediaType.includes('-share');\n audioReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // add rtpPacket info inside common as also for call analyzer\n audioReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n // Hop by hop are numbers and not percentage so we compare on what we sent the last min\n // collect the packets received for the last min\n audioReceiver.streams[0].common.rtpPackets = audioReceiver.common.rtpPackets;\n audioReceiver.common.mediaHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n audioReceiver.common.rtpHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n\n audioReceiver.streams[0].common.maxRtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.meanRtpJitter =\n mean(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.rtpJitter = audioReceiver.streams[0].common.maxRtpJitter;\n\n // Fec packets do come in as part of the FEC only for audio\n const fecRecovered =\n statsResults[mediaType][sendrecvType].fecPacketsReceived -\n lastFecPacketsReceived -\n (statsResults[mediaType][sendrecvType].fecPacketsDiscarded - lastFecPacketsDiscarded);\n\n audioReceiver.streams[0].common.rtpEndToEndLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost - fecRecovered || 0;\n\n audioReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].totalSamplesDecoded - lastPacketsDecoded || 0;\n audioReceiver.streams[0].common.renderedFrameRate =\n (audioReceiver.streams[0].common.framesDropped * 100) / 60 || 0;\n\n audioReceiver.streams[0].common.framesReceived =\n statsResults[mediaType][sendrecvType].totalSamplesReceived - lastSamplesReceived || 0;\n audioReceiver.streams[0].common.concealedFrames =\n statsResults[mediaType][sendrecvType].concealedSamples - lastConcealedSamples || 0;\n audioReceiver.streams[0].common.receivedBitrate =\n ((statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived) * 8) / 60 || 0;\n\n audioReceiver.common.rtpBitrate = audioReceiver.streams[0].common.receivedBitrate;\n};\n\nexport const getAudioSenderMqa = ({audioSender, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 0;\n const lastPacketsLost =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLostOnReceiver || 0;\n const lastBytesSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesSent || 0;\n const lastFramesEncoded = lastMqaDataSent[mediaType]?.[sendrecvType].totalKeyFramesEncoded || 0;\n const lastFirCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalFirCount || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !audioSender.streams[0].common.csi.includes(csi)) {\n audioSender.streams[0].common.csi.push(csi);\n }\n\n audioSender.common.common.direction = statsResults[mediaType].direction;\n audioSender.common.common.isMain = !mediaType.includes('-share');\n audioSender.common.transportType = statsResults.connectionType.local.transport;\n\n audioSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n audioSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n audioSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;\n // From candidate-pair\n audioSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;\n\n audioSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / audioSender.common.rtpPackets\n : 0; // This is the packets sent with in last min || 0;\n\n audioSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;\n\n audioSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n audioSender.common.rtpBitrate = audioSender.streams[0].common.transmittedBitrate;\n\n audioSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastFramesEncoded || 0;\n audioSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;\n};\n\nexport const getVideoReceiverMqa = ({videoReceiver, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n const lastPacketsReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsReceived || 0;\n const lastPacketsLost = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLost || 0;\n const lastBytesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesReceived || 0;\n const lastFramesReceived = lastMqaDataSent[mediaType]?.[sendrecvType].framesReceived || 0;\n const lastFramesDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].framesDecoded || 0;\n const lastFramesDropped = lastMqaDataSent[mediaType]?.[sendrecvType].framesDropped || 0;\n const lastKeyFramesDecoded = lastMqaDataSent[mediaType]?.[sendrecvType].keyFramesDecoded || 0;\n const lastPliCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalPliCount || 0;\n\n const {csi} = statsResults[mediaType];\n if (csi && !videoReceiver.streams[0].common.csi.includes(csi)) {\n videoReceiver.streams[0].common.csi.push(csi);\n }\n\n videoReceiver.common.common.direction = statsResults[mediaType].direction;\n videoReceiver.common.common.isMain = !mediaType.includes('-share');\n videoReceiver.common.transportType = statsResults.connectionType.local.transport;\n\n // collect the packets received for the last min\n videoReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived - lastPacketsReceived || 0;\n videoReceiver.streams[0].common.rtpPackets = videoReceiver.common.rtpPackets;\n\n const totalPacketLoss =\n statsResults[mediaType][sendrecvType].totalPacketsLost - lastPacketsLost || 0;\n\n // Hope by hop are numbers and not percentage so we compare on what we sent the last min\n // this is including packet lost\n videoReceiver.common.mediaHopByHopLost = totalPacketLoss;\n videoReceiver.common.rtpHopByHopLost = totalPacketLoss;\n\n // End to end packetloss is after recovery\n videoReceiver.streams[0].common.rtpEndToEndLost = totalPacketLoss;\n\n // calculate this values\n\n videoReceiver.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoReceiver.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoReceiver.streams[0].common.rtpJitter = videoReceiver.common.maxRemoteJitter;\n\n // Calculate the outgoing bitrate\n const totalBytesReceivedInaMin =\n statsResults[mediaType][sendrecvType].totalBytesReceived - lastBytesReceived;\n\n videoReceiver.streams[0].common.receivedBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n videoReceiver.common.rtpBitrate = videoReceiver.streams[0].common.receivedBitrate;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameReceivedInaMin =\n statsResults[mediaType][sendrecvType].framesReceived - lastFramesReceived;\n const totalFrameDecodedInaMin =\n statsResults[mediaType][sendrecvType].framesDecoded - lastFramesDecoded;\n\n videoReceiver.streams[0].common.receivedFrameRate = Math.round(\n totalFrameReceivedInaMin ? totalFrameReceivedInaMin / 60 : 0\n );\n videoReceiver.streams[0].common.renderedFrameRate = Math.round(\n totalFrameDecodedInaMin ? totalFrameDecodedInaMin / 60 : 0\n );\n\n videoReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].framesDropped - lastFramesDropped;\n videoReceiver.streams[0].receivedHeight = statsResults[mediaType][sendrecvType].height || 0;\n videoReceiver.streams[0].receivedWidth = statsResults[mediaType][sendrecvType].width || 0;\n videoReceiver.streams[0].receivedFrameSize =\n (videoReceiver.streams[0].receivedHeight * videoReceiver.streams[0].receivedWidth) / 256;\n\n videoReceiver.streams[0].receivedKeyFrames =\n statsResults[mediaType][sendrecvType].keyFramesDecoded - lastKeyFramesDecoded || 0;\n videoReceiver.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalPliCount - lastPliCount || 0;\n};\n\nexport const getVideoSenderMqa = ({videoSender, statsResults, lastMqaDataSent, mediaType}) => {\n const sendrecvType = STATS.SEND_DIRECTION;\n\n const lastPacketsSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsSent || 0;\n const lastPacketsLost =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalPacketsLostOnReceiver || 0;\n const lastBytesSent = lastMqaDataSent[mediaType]?.[sendrecvType].totalBytesSent || 0;\n const lastKeyFramesEncoded =\n lastMqaDataSent[mediaType]?.[sendrecvType].totalKeyFramesEncoded || 0;\n const lastFirCount = lastMqaDataSent[mediaType]?.[sendrecvType].totalFirCount || 0;\n const lastFramesSent = lastMqaDataSent[mediaType]?.[sendrecvType].framesSent || 0;\n const {csi} = statsResults[mediaType];\n if (csi && !videoSender.streams[0].common.csi.includes(csi)) {\n videoSender.streams[0].common.csi.push(csi);\n }\n\n videoSender.common.common.direction = statsResults[mediaType].direction;\n videoSender.common.common.isMain = !mediaType.includes('-share');\n videoSender.common.transportType = statsResults.connectionType.local.transport;\n\n // @ts-ignore\n videoSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n videoSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver - lastPacketsLost;\n\n videoSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / (videoSender.common.rtpPackets + totalpacketsLostForaMin)\n : 0; // This is the packets sent with in last min || 0;\n\n videoSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;\n\n videoSender.streams[0].common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent - lastPacketsSent || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin = statsResults[mediaType][sendrecvType].totalBytesSent - lastBytesSent;\n\n videoSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n videoSender.common.rtpBitrate = videoSender.streams[0].common.transmittedBitrate;\n\n videoSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastKeyFramesEncoded || 0;\n videoSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameSentInaMin =\n statsResults[mediaType][sendrecvType].framesSent - (lastFramesSent || 0);\n\n videoSender.streams[0].common.transmittedFrameRate = Math.round(\n totalFrameSentInaMin ? totalFrameSentInaMin / 60 : 0\n );\n videoSender.streams[0].transmittedHeight = statsResults[mediaType][sendrecvType].height || 0;\n videoSender.streams[0].transmittedWidth = statsResults[mediaType][sendrecvType].width || 0;\n videoSender.streams[0].transmittedFrameSize =\n (videoSender.streams[0].transmittedHeight * videoSender.streams[0].transmittedWidth) / 256;\n};\n"],"mappings":"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"}
@@ -25,7 +25,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
25
25
  * @exports
26
26
  * @class Transcription
27
27
  */
28
- var Transcription = /*#__PURE__*/function () {
28
+ var Transcription = exports.default = /*#__PURE__*/function () {
29
29
  /**
30
30
  * @param {string} webSocketUrl
31
31
  * @param {sessionID} sessionId
@@ -203,5 +203,4 @@ var Transcription = /*#__PURE__*/function () {
203
203
  }]);
204
204
  return Transcription;
205
205
  }();
206
- exports.default = Transcription;
207
206
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_uuid","require","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","Transcription","webSocketUrl","sessionId","members","_classCallCheck2","default","_defineProperty2","sessionID","memberCSIs","params","webSocket","WebSocket","concat","_createClass2","key","connect","token","_this","onopen","send","_stringify","id","uuidv4","type","data","trackingId","_now","onCloseSocket","callback","onclose","event","onErrorSocket","onerror","getSpeaker","csis","_this2","_iterator","_step","csi","member","_values","membersCollection","find","participant","status","selfIsSpeaking","_iterator2","_step2","includes","subscribe","_this3","speaker","transcription","onmessage","_data$data","_data$data$voiceaPayl","_data$data2","_data$data2$voiceaPay","JSON","parse","voiceaPayload","messageID","_data$data3","_data$data3$voiceaPay","_speaker","_data","_data$data4","_data$data4$voiceaPay","transcript_id","personID","timestamp","closeSocket","close","exports"],"sources":["index.ts"],"sourcesContent":["import {v4 as uuidv4} from 'uuid';\n\n/**\n * @description Meeting Webex assistance transcription feature.\n * @exports\n * @class Transcription\n */\nexport default class Transcription {\n webSocketUrl: any;\n sessionID: any;\n members: any;\n memberCSIs: any;\n webSocket: any;\n\n /**\n * @param {string} webSocketUrl\n * @param {sessionID} sessionId\n * @param {object} members\n * @constructor\n * @memberof Transcription\n */\n constructor(webSocketUrl: string, sessionId: any, members: object) {\n this.webSocketUrl = webSocketUrl;\n this.sessionID = sessionId;\n this.members = members;\n this.memberCSIs = {};\n\n const params = '?outboundWireFormat=text&bufferStates=true&aliasHttpStatus=true';\n\n this.webSocket = new WebSocket(`${this.webSocketUrl}${params}`);\n }\n\n /**\n * open the Low Latency Mercury connection\n * An event parameter will be send to the callback.\n *\n * @param {string} token\n * @param {string} sessionID\n * @returns {void}\n */\n connect(token: string) {\n this.webSocket.onopen = () => {\n this.webSocket.send(\n JSON.stringify({\n id: uuidv4(),\n type: 'authorization',\n data: {token: `Bearer ${token}`},\n trackingId: `webex-js-sdk_${this.sessionID}${Date.now.toString()}`,\n })\n );\n };\n }\n\n /**\n * Sets callback to invoke when the web socket connection is closed.\n *\n * @param {Function} callback\n * @returns {void}\n */\n onCloseSocket(callback: any) {\n if (callback) {\n this.webSocket.onclose = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Sets callback to invoke when a web socket connection error occurs.\n * An event parameter will be send to the callback.\n *\n * @param {Function} callback\n * @returns {void}\n */\n onErrorSocket(callback: any) {\n if (callback) {\n this.webSocket.onerror = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Get current speaker from the given csis payload and update the global csis map\n *\n * @private\n * @param {object} csis\n * @returns {object}\n */\n private getSpeaker(csis: any) {\n for (const csi of csis) {\n const member = this.memberCSIs[csi];\n\n if (member) {\n return member;\n }\n }\n\n return Object.values(this.members.membersCollection.members).find((member: any) => {\n const memberCSIs = member.participant.status.csis;\n let selfIsSpeaking = false;\n\n for (const csi of csis) {\n if (memberCSIs.includes(csi)) {\n this.memberCSIs[csi] = member;\n selfIsSpeaking = true;\n break;\n }\n }\n\n return selfIsSpeaking;\n });\n }\n\n /**\n * Sends transcription data to given callback as it arrives.\n *\n * @param {Function} callback\n * @returns {void}\n */\n subscribe(callback: any) {\n let data;\n let csis;\n let speaker;\n let transcription;\n\n this.webSocket.onmessage = (event) => {\n data = JSON.parse(event.data);\n csis = data.data?.voiceaPayload?.csis || [];\n speaker = this.getSpeaker(csis);\n transcription = data.data?.voiceaPayload?.data || '';\n\n this.webSocket.send(JSON.stringify({messageID: data.id, type: 'ack'}));\n\n if (transcription) {\n callback({\n id: data.data?.voiceaPayload?.transcript_id,\n personID: speaker?.id,\n transcription,\n timestamp: data.timestamp,\n type: data?.data?.voiceaPayload?.type,\n });\n }\n };\n }\n\n /**\n * Close the LLM web socket connection\n * @returns {void}\n */\n closeSocket() {\n this.webSocket.close();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_uuid","require","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","Transcription","exports","default","webSocketUrl","sessionId","members","_classCallCheck2","_defineProperty2","sessionID","memberCSIs","params","webSocket","WebSocket","concat","_createClass2","key","connect","token","_this","onopen","send","_stringify","id","uuidv4","type","data","trackingId","_now","onCloseSocket","callback","onclose","event","onErrorSocket","onerror","getSpeaker","csis","_this2","_iterator","_step","csi","member","_values","membersCollection","find","participant","status","selfIsSpeaking","_iterator2","_step2","includes","subscribe","_this3","speaker","transcription","onmessage","_data$data","_data$data$voiceaPayl","_data$data2","_data$data2$voiceaPay","JSON","parse","voiceaPayload","messageID","_data$data3","_data$data3$voiceaPay","_speaker","_data","_data$data4","_data$data4$voiceaPay","transcript_id","personID","timestamp","closeSocket","close"],"sources":["index.ts"],"sourcesContent":["import {v4 as uuidv4} from 'uuid';\n\n/**\n * @description Meeting Webex assistance transcription feature.\n * @exports\n * @class Transcription\n */\nexport default class Transcription {\n webSocketUrl: any;\n sessionID: any;\n members: any;\n memberCSIs: any;\n webSocket: any;\n\n /**\n * @param {string} webSocketUrl\n * @param {sessionID} sessionId\n * @param {object} members\n * @constructor\n * @memberof Transcription\n */\n constructor(webSocketUrl: string, sessionId: any, members: object) {\n this.webSocketUrl = webSocketUrl;\n this.sessionID = sessionId;\n this.members = members;\n this.memberCSIs = {};\n\n const params = '?outboundWireFormat=text&bufferStates=true&aliasHttpStatus=true';\n\n this.webSocket = new WebSocket(`${this.webSocketUrl}${params}`);\n }\n\n /**\n * open the Low Latency Mercury connection\n * An event parameter will be send to the callback.\n *\n * @param {string} token\n * @param {string} sessionID\n * @returns {void}\n */\n connect(token: string) {\n this.webSocket.onopen = () => {\n this.webSocket.send(\n JSON.stringify({\n id: uuidv4(),\n type: 'authorization',\n data: {token: `Bearer ${token}`},\n trackingId: `webex-js-sdk_${this.sessionID}${Date.now.toString()}`,\n })\n );\n };\n }\n\n /**\n * Sets callback to invoke when the web socket connection is closed.\n *\n * @param {Function} callback\n * @returns {void}\n */\n onCloseSocket(callback: any) {\n if (callback) {\n this.webSocket.onclose = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Sets callback to invoke when a web socket connection error occurs.\n * An event parameter will be send to the callback.\n *\n * @param {Function} callback\n * @returns {void}\n */\n onErrorSocket(callback: any) {\n if (callback) {\n this.webSocket.onerror = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Get current speaker from the given csis payload and update the global csis map\n *\n * @private\n * @param {object} csis\n * @returns {object}\n */\n private getSpeaker(csis: any) {\n for (const csi of csis) {\n const member = this.memberCSIs[csi];\n\n if (member) {\n return member;\n }\n }\n\n return Object.values(this.members.membersCollection.members).find((member: any) => {\n const memberCSIs = member.participant.status.csis;\n let selfIsSpeaking = false;\n\n for (const csi of csis) {\n if (memberCSIs.includes(csi)) {\n this.memberCSIs[csi] = member;\n selfIsSpeaking = true;\n break;\n }\n }\n\n return selfIsSpeaking;\n });\n }\n\n /**\n * Sends transcription data to given callback as it arrives.\n *\n * @param {Function} callback\n * @returns {void}\n */\n subscribe(callback: any) {\n let data;\n let csis;\n let speaker;\n let transcription;\n\n this.webSocket.onmessage = (event) => {\n data = JSON.parse(event.data);\n csis = data.data?.voiceaPayload?.csis || [];\n speaker = this.getSpeaker(csis);\n transcription = data.data?.voiceaPayload?.data || '';\n\n this.webSocket.send(JSON.stringify({messageID: data.id, type: 'ack'}));\n\n if (transcription) {\n callback({\n id: data.data?.voiceaPayload?.transcript_id,\n personID: speaker?.id,\n transcription,\n timestamp: data.timestamp,\n type: data?.data?.voiceaPayload?.type,\n });\n }\n };\n }\n\n /**\n * Close the LLM web socket connection\n * @returns {void}\n */\n closeSocket() {\n this.webSocket.close();\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ declare class WebinarCollection {
5
+ webinarInfo: any;
6
+ namespace: string;
7
+ mainIndex: string;
8
+ constructor();
9
+ set(id: any, info: any): void;
10
+ /**
11
+ * @param {String} id
12
+ * @returns {Member}
13
+ */
14
+ get(id: string): any;
15
+ }
16
+ export default WebinarCollection;
@@ -0,0 +1,43 @@
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.default = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
12
+ var _constants = require("../constants");
13
+ /*!
14
+ * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
15
+ */
16
+ var WebinarCollection = /*#__PURE__*/function () {
17
+ function WebinarCollection() {
18
+ (0, _classCallCheck2.default)(this, WebinarCollection);
19
+ (0, _defineProperty2.default)(this, "webinarInfo", void 0);
20
+ (0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
21
+ (0, _defineProperty2.default)(this, "mainIndex", 'sessionId');
22
+ this.webinarInfo = {};
23
+ }
24
+ (0, _createClass2.default)(WebinarCollection, [{
25
+ key: "set",
26
+ value: function set(id, info) {
27
+ this.webinarInfo[id] = info;
28
+ }
29
+
30
+ /**
31
+ * @param {String} id
32
+ * @returns {Member}
33
+ */
34
+ }, {
35
+ key: "get",
36
+ value: function get(id) {
37
+ return this.webinarInfo[id];
38
+ }
39
+ }]);
40
+ return WebinarCollection;
41
+ }();
42
+ var _default = exports.default = WebinarCollection;
43
+ //# sourceMappingURL=collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","WebinarCollection","_classCallCheck2","default","_defineProperty2","MEETINGS","webinarInfo","_createClass2","key","value","set","id","info","get","_default","exports"],"sources":["collection.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\nclass WebinarCollection {\n webinarInfo: any;\n\n namespace = MEETINGS;\n\n mainIndex = 'sessionId';\n\n constructor() {\n this.webinarInfo = {};\n }\n\n set(id, info) {\n this.webinarInfo[id] = info;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.webinarInfo[id];\n }\n}\n\nexport default WebinarCollection;\n"],"mappings":";;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAJA;AACA;AACA;AAFA,IAMMC,iBAAiB;EAOrB,SAAAA,kBAAA,EAAc;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,iBAAA;IAAA,IAAAG,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA,qBAJFE,mBAAQ;IAAA,IAAAD,gBAAA,CAAAD,OAAA,qBAER,WAAW;IAGrB,IAAI,CAACG,WAAW,GAAG,CAAC,CAAC;EACvB;EAAC,IAAAC,aAAA,CAAAJ,OAAA,EAAAF,iBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAIC,EAAE,EAAEC,IAAI,EAAE;MACZ,IAAI,CAACN,WAAW,CAACK,EAAE,CAAC,GAAGC,IAAI;IAC7B;;IAEA;AACF;AACA;AACA;EAHE;IAAAJ,GAAA;IAAAC,KAAA,EAIA,SAAAI,IAAIF,EAAU,EAAE;MACd,OAAO,IAAI,CAACL,WAAW,CAACK,EAAE,CAAC;IAC7B;EAAC;EAAA,OAAAV,iBAAA;AAAA;AAAA,IAAAa,QAAA,GAAAC,OAAA,CAAAZ,OAAA,GAGYF,iBAAiB"}