@webex/plugin-meetings 3.0.0-beta.9 → 3.0.0-bnr.0

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 (1033) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +178 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/edit-lock-error.js +52 -0
  8. package/dist/breakouts/edit-lock-error.js.map +1 -0
  9. package/dist/breakouts/index.js +843 -0
  10. package/dist/breakouts/index.js.map +1 -0
  11. package/dist/breakouts/request.js +78 -0
  12. package/dist/breakouts/request.js.map +1 -0
  13. package/dist/breakouts/utils.js +56 -0
  14. package/dist/breakouts/utils.js.map +1 -0
  15. package/dist/common/browser-detection.d.ts +9 -0
  16. package/dist/common/browser-detection.js +1 -20
  17. package/dist/common/browser-detection.js.map +1 -1
  18. package/dist/common/collection.d.ts +48 -0
  19. package/dist/common/collection.js +5 -20
  20. package/dist/common/collection.js.map +1 -1
  21. package/dist/common/config.d.ts +2 -0
  22. package/dist/common/config.js +0 -7
  23. package/dist/common/config.js.map +1 -1
  24. package/dist/common/errors/captcha-error.d.ts +15 -0
  25. package/dist/common/errors/captcha-error.js +5 -26
  26. package/dist/common/errors/captcha-error.js.map +1 -1
  27. package/dist/common/errors/intent-to-join.d.ts +16 -0
  28. package/dist/common/errors/intent-to-join.js +5 -26
  29. package/dist/common/errors/intent-to-join.js.map +1 -1
  30. package/dist/common/errors/join-meeting.d.ts +17 -0
  31. package/dist/common/errors/join-meeting.js +6 -27
  32. package/dist/common/errors/join-meeting.js.map +1 -1
  33. package/dist/common/errors/media.d.ts +15 -0
  34. package/dist/common/errors/media.js +5 -26
  35. package/dist/common/errors/media.js.map +1 -1
  36. package/dist/common/errors/parameter.d.ts +15 -0
  37. package/dist/common/errors/parameter.js +5 -33
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.d.ts +15 -0
  40. package/dist/common/errors/password-error.js +5 -26
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.d.ts +14 -0
  43. package/dist/common/errors/permission.js +4 -25
  44. package/dist/common/errors/permission.js.map +1 -1
  45. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  46. package/dist/common/errors/reconnection-in-progress.js +0 -17
  47. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  48. package/dist/common/errors/reconnection.d.ts +15 -0
  49. package/dist/common/errors/reconnection.js +5 -26
  50. package/dist/common/errors/reconnection.js.map +1 -1
  51. package/dist/common/errors/stats.d.ts +15 -0
  52. package/dist/common/errors/stats.js +5 -26
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/common/errors/webex-errors.d.ts +81 -0
  55. package/dist/common/errors/webex-errors.js +6 -41
  56. package/dist/common/errors/webex-errors.js.map +1 -1
  57. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  58. package/dist/common/errors/webex-meetings-error.js +1 -24
  59. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  60. package/dist/common/events/events-scope.d.ts +17 -0
  61. package/dist/common/events/events-scope.js +0 -22
  62. package/dist/common/events/events-scope.js.map +1 -1
  63. package/dist/common/events/events.d.ts +12 -0
  64. package/dist/common/events/events.js +0 -23
  65. package/dist/common/events/events.js.map +1 -1
  66. package/dist/common/events/trigger-proxy.d.ts +2 -0
  67. package/dist/common/events/trigger-proxy.js +0 -12
  68. package/dist/common/events/trigger-proxy.js.map +1 -1
  69. package/dist/common/events/util.d.ts +2 -0
  70. package/dist/common/events/util.js +0 -15
  71. package/dist/common/events/util.js.map +1 -1
  72. package/dist/common/logs/logger-config.d.ts +2 -0
  73. package/dist/common/logs/logger-config.js +0 -4
  74. package/dist/common/logs/logger-config.js.map +1 -1
  75. package/dist/common/logs/logger-proxy.d.ts +2 -0
  76. package/dist/common/logs/logger-proxy.js +1 -8
  77. package/dist/common/logs/logger-proxy.js.map +1 -1
  78. package/dist/common/logs/request.d.ts +34 -0
  79. package/dist/common/logs/request.js +35 -61
  80. package/dist/common/logs/request.js.map +1 -1
  81. package/dist/common/queue.d.ts +32 -0
  82. package/dist/common/queue.js +4 -14
  83. package/dist/common/queue.js.map +1 -1
  84. package/dist/config.d.ts +73 -0
  85. package/dist/config.js +6 -6
  86. package/dist/config.js.map +1 -1
  87. package/dist/constants.d.ts +924 -0
  88. package/dist/constants.js +143 -52
  89. package/dist/constants.js.map +1 -1
  90. package/dist/controls-options-manager/constants.d.ts +4 -0
  91. package/dist/controls-options-manager/constants.js +14 -0
  92. package/dist/controls-options-manager/constants.js.map +1 -0
  93. package/dist/controls-options-manager/enums.d.ts +5 -0
  94. package/dist/controls-options-manager/enums.js +16 -0
  95. package/dist/controls-options-manager/enums.js.map +1 -0
  96. package/dist/controls-options-manager/index.d.ts +120 -0
  97. package/dist/controls-options-manager/index.js +261 -0
  98. package/dist/controls-options-manager/index.js.map +1 -0
  99. package/dist/controls-options-manager/util.d.ts +7 -0
  100. package/dist/controls-options-manager/util.js +39 -0
  101. package/dist/controls-options-manager/util.js.map +1 -0
  102. package/dist/docs/markdown/index.md +12 -0
  103. package/dist/docs/markdown/plugin-meetings.constants._active_.md +11 -0
  104. package/dist/docs/markdown/plugin-meetings.constants._answer_.md +11 -0
  105. package/dist/docs/markdown/plugin-meetings.constants._call_.md +11 -0
  106. package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +11 -0
  107. package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +11 -0
  108. package/dist/docs/markdown/plugin-meetings.constants._created_.md +11 -0
  109. package/dist/docs/markdown/plugin-meetings.constants._error_.md +11 -0
  110. package/dist/docs/markdown/plugin-meetings.constants._forced_.md +11 -0
  111. package/dist/docs/markdown/plugin-meetings.constants._id_.md +11 -0
  112. package/dist/docs/markdown/plugin-meetings.constants._idle_.md +11 -0
  113. package/dist/docs/markdown/plugin-meetings.constants._in_.md +11 -0
  114. package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +11 -0
  115. package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +11 -0
  116. package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +11 -0
  117. package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +11 -0
  118. package/dist/docs/markdown/plugin-meetings.constants._join_.md +11 -0
  119. package/dist/docs/markdown/plugin-meetings.constants._joined_.md +11 -0
  120. package/dist/docs/markdown/plugin-meetings.constants._left_.md +11 -0
  121. package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +11 -0
  122. package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +11 -0
  123. package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +11 -0
  124. package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +11 -0
  125. package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +11 -0
  126. package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +11 -0
  127. package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +11 -0
  128. package/dist/docs/markdown/plugin-meetings.constants._none_.md +11 -0
  129. package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +11 -0
  130. package/dist/docs/markdown/plugin-meetings.constants._observe_.md +11 -0
  131. package/dist/docs/markdown/plugin-meetings.constants._people_.md +11 -0
  132. package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +11 -0
  133. package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +11 -0
  134. package/dist/docs/markdown/plugin-meetings.constants._remove_.md +11 -0
  135. package/dist/docs/markdown/plugin-meetings.constants._requested_.md +11 -0
  136. package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +11 -0
  137. package/dist/docs/markdown/plugin-meetings.constants._room_.md +11 -0
  138. package/dist/docs/markdown/plugin-meetings.constants._s_line.md +11 -0
  139. package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +11 -0
  140. package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +11 -0
  141. package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +11 -0
  142. package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +11 -0
  143. package/dist/docs/markdown/plugin-meetings.constants._slides_.md +11 -0
  144. package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +11 -0
  145. package/dist/docs/markdown/plugin-meetings.constants._user_.md +11 -0
  146. package/dist/docs/markdown/plugin-meetings.constants._wait_.md +11 -0
  147. package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +11 -0
  148. package/dist/docs/markdown/plugin-meetings.constants.alert.md +11 -0
  149. package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +11 -0
  150. package/dist/docs/markdown/plugin-meetings.constants.answer.md +11 -0
  151. package/dist/docs/markdown/plugin-meetings.constants.api.md +14 -0
  152. package/dist/docs/markdown/plugin-meetings.constants.audio.md +11 -0
  153. package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +11 -0
  154. package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +11 -0
  155. package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +60 -0
  156. package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +16 -0
  157. package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +51 -0
  158. package/dist/docs/markdown/plugin-meetings.constants.calendar.md +11 -0
  159. package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +17 -0
  160. package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +11 -0
  161. package/dist/docs/markdown/plugin-meetings.constants.call.md +11 -0
  162. package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +15 -0
  163. package/dist/docs/markdown/plugin-meetings.constants.claim.md +11 -0
  164. package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +11 -0
  165. package/dist/docs/markdown/plugin-meetings.constants.complete.md +11 -0
  166. package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +18 -0
  167. package/dist/docs/markdown/plugin-meetings.constants.content.md +11 -0
  168. package/dist/docs/markdown/plugin-meetings.constants.controls.md +11 -0
  169. package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +11 -0
  170. package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +11 -0
  171. package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +11 -0
  172. package/dist/docs/markdown/plugin-meetings.constants.decline.md +11 -0
  173. package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +11 -0
  174. package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +13 -0
  175. package/dist/docs/markdown/plugin-meetings.constants.development.md +11 -0
  176. package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +15 -0
  177. package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +51 -0
  178. package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +14 -0
  179. package/dist/docs/markdown/plugin-meetings.constants.end.md +11 -0
  180. package/dist/docs/markdown/plugin-meetings.constants.ended.md +11 -0
  181. package/dist/docs/markdown/plugin-meetings.constants.error.md +11 -0
  182. package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +62 -0
  183. package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +82 -0
  184. package/dist/docs/markdown/plugin-meetings.constants.event_types.md +21 -0
  185. package/dist/docs/markdown/plugin-meetings.constants.events.md +26 -0
  186. package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +15 -0
  187. package/dist/docs/markdown/plugin-meetings.constants.full_state.md +17 -0
  188. package/dist/docs/markdown/plugin-meetings.constants.gathering.md +11 -0
  189. package/dist/docs/markdown/plugin-meetings.constants.hecate.md +11 -0
  190. package/dist/docs/markdown/plugin-meetings.constants.host.md +11 -0
  191. package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +17 -0
  192. package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +11 -0
  193. package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +11 -0
  194. package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +15 -0
  195. package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +18 -0
  196. package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +11 -0
  197. package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +11 -0
  198. package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +11 -0
  199. package/dist/docs/markdown/plugin-meetings.constants.join.md +11 -0
  200. package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +13 -0
  201. package/dist/docs/markdown/plugin-meetings.constants.leave.md +11 -0
  202. package/dist/docs/markdown/plugin-meetings.constants.live.md +11 -0
  203. package/dist/docs/markdown/plugin-meetings.constants.local.md +11 -0
  204. package/dist/docs/markdown/plugin-meetings.constants.loci.md +11 -0
  205. package/dist/docs/markdown/plugin-meetings.constants.locus.md +26 -0
  206. package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +11 -0
  207. package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +33 -0
  208. package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +43 -0
  209. package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +11 -0
  210. package/dist/docs/markdown/plugin-meetings.constants.md +186 -0
  211. package/dist/docs/markdown/plugin-meetings.constants.media.md +11 -0
  212. package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +15 -0
  213. package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +11 -0
  214. package/dist/docs/markdown/plugin-meetings.constants.media_state.md +14 -0
  215. package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +17 -0
  216. package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +14 -0
  217. package/dist/docs/markdown/plugin-meetings.constants.meet.md +11 -0
  218. package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +11 -0
  219. package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +20 -0
  220. package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +14 -0
  221. package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +102 -0
  222. package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +16 -0
  223. package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +19 -0
  224. package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +25 -0
  225. package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +31 -0
  226. package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +20 -0
  227. package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +11 -0
  228. package/dist/docs/markdown/plugin-meetings.constants.meetings.md +11 -0
  229. package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +11 -0
  230. package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +11 -0
  231. package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +11 -0
  232. package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +11 -0
  233. package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +82 -0
  234. package/dist/docs/markdown/plugin-meetings.constants.network_status.md +15 -0
  235. package/dist/docs/markdown/plugin-meetings.constants.network_type.md +16 -0
  236. package/dist/docs/markdown/plugin-meetings.constants.offline.md +11 -0
  237. package/dist/docs/markdown/plugin-meetings.constants.online.md +11 -0
  238. package/dist/docs/markdown/plugin-meetings.constants.participant.md +11 -0
  239. package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +22 -0
  240. package/dist/docs/markdown/plugin-meetings.constants.password_status.md +16 -0
  241. package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +11 -0
  242. package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +14 -0
  243. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +11 -0
  244. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +11 -0
  245. package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +18 -0
  246. package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +19 -0
  247. package/dist/docs/markdown/plugin-meetings.constants.reachability.md +15 -0
  248. package/dist/docs/markdown/plugin-meetings.constants.ready.md +11 -0
  249. package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +19 -0
  250. package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +16 -0
  251. package/dist/docs/markdown/plugin-meetings.constants.remote.md +11 -0
  252. package/dist/docs/markdown/plugin-meetings.constants.resource.md +15 -0
  253. package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +11 -0
  254. package/dist/docs/markdown/plugin-meetings.constants.roap.md +22 -0
  255. package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +14 -0
  256. package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +11 -0
  257. package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +11 -0
  258. package/dist/docs/markdown/plugin-meetings.constants.share.md +11 -0
  259. package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +11 -0
  260. package/dist/docs/markdown/plugin-meetings.constants.share_status.md +16 -0
  261. package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +14 -0
  262. package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +11 -0
  263. package/dist/docs/markdown/plugin-meetings.constants.stats.md +16 -0
  264. package/dist/docs/markdown/plugin-meetings.constants.type.md +11 -0
  265. package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +11 -0
  266. package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +11 -0
  267. package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +11 -0
  268. package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +11 -0
  269. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +11 -0
  270. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +11 -0
  271. package/dist/docs/markdown/plugin-meetings.constants.video.md +11 -0
  272. package/dist/docs/markdown/plugin-meetings.constants.video_input.md +11 -0
  273. package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +24 -0
  274. package/dist/docs/markdown/plugin-meetings.constants.video_status.md +11 -0
  275. package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +11 -0
  276. package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +11 -0
  277. package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +11 -0
  278. package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +11 -0
  279. package/dist/docs/markdown/plugin-meetings.md +28 -0
  280. package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +21 -0
  281. package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +28 -0
  282. package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +28 -0
  283. package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +32 -0
  284. package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +11 -0
  285. package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +11 -0
  286. package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +11 -0
  287. package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +11 -0
  288. package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +30 -0
  289. package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +19 -0
  290. package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +38 -0
  291. package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +13 -0
  292. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +21 -0
  293. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +21 -0
  294. package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +21 -0
  295. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +26 -0
  296. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +19 -0
  297. package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +11 -0
  298. package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +11 -0
  299. package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +11 -0
  300. package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +26 -0
  301. package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +28 -0
  302. package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +11 -0
  303. package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +11 -0
  304. package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +11 -0
  305. package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +11 -0
  306. package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +11 -0
  307. package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +11 -0
  308. package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +11 -0
  309. package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +11 -0
  310. package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +19 -0
  311. package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +11 -0
  312. package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +11 -0
  313. package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +11 -0
  314. package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +21 -0
  315. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +29 -0
  316. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +11 -0
  317. package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +11 -0
  318. package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +29 -0
  319. package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +32 -0
  320. package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +17 -0
  321. package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +13 -0
  322. package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +17 -0
  323. package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +17 -0
  324. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +15 -0
  325. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +15 -0
  326. package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +21 -0
  327. package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +24 -0
  328. package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +24 -0
  329. package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +16 -0
  330. package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +17 -0
  331. package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +11 -0
  332. package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +26 -0
  333. package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +13 -0
  334. package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +11 -0
  335. package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +11 -0
  336. package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +11 -0
  337. package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +11 -0
  338. package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +11 -0
  339. package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +33 -0
  340. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +21 -0
  341. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +21 -0
  342. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +21 -0
  343. package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +11 -0
  344. package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +11 -0
  345. package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +19 -0
  346. package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +11 -0
  347. package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +11 -0
  348. package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +23 -0
  349. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +21 -0
  350. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +21 -0
  351. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +21 -0
  352. package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +28 -0
  353. package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +11 -0
  354. package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +36 -0
  355. package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +11 -0
  356. package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +11 -0
  357. package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +31 -0
  358. package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +21 -0
  359. package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +11 -0
  360. package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +11 -0
  361. package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +11 -0
  362. package/dist/docs/markdown/plugin-meetings.meeting.default.md +227 -0
  363. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +11 -0
  364. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +11 -0
  365. package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +13 -0
  366. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +11 -0
  367. package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +16 -0
  368. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +11 -0
  369. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +11 -0
  370. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +11 -0
  371. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +11 -0
  372. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +11 -0
  373. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +11 -0
  374. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +11 -0
  375. package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +11 -0
  376. package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +28 -0
  377. package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +28 -0
  378. package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +29 -0
  379. package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +21 -0
  380. package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +21 -0
  381. package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +11 -0
  382. package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +11 -0
  383. package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +11 -0
  384. package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +11 -0
  385. package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +11 -0
  386. package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +11 -0
  387. package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +34 -0
  388. package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +11 -0
  389. package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +11 -0
  390. package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +21 -0
  391. package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +11 -0
  392. package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +11 -0
  393. package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +13 -0
  394. package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +33 -0
  395. package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +11 -0
  396. package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +11 -0
  397. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +28 -0
  398. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +11 -0
  399. package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +11 -0
  400. package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +11 -0
  401. package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +21 -0
  402. package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +11 -0
  403. package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +28 -0
  404. package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +11 -0
  405. package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +11 -0
  406. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +11 -0
  407. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +11 -0
  408. package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +21 -0
  409. package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +11 -0
  410. package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +11 -0
  411. package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +11 -0
  412. package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +28 -0
  413. package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +29 -0
  414. package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +26 -0
  415. package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +17 -0
  416. package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +17 -0
  417. package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +17 -0
  418. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +24 -0
  419. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +24 -0
  420. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +28 -0
  421. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +28 -0
  422. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +26 -0
  423. package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +31 -0
  424. package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +21 -0
  425. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +28 -0
  426. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +26 -0
  427. package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +26 -0
  428. package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +26 -0
  429. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +17 -0
  430. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +17 -0
  431. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +17 -0
  432. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +24 -0
  433. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +24 -0
  434. package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +19 -0
  435. package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +11 -0
  436. package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +13 -0
  437. package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +32 -0
  438. package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +11 -0
  439. package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +11 -0
  440. package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +11 -0
  441. package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +11 -0
  442. package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +13 -0
  443. package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +11 -0
  444. package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +21 -0
  445. package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +29 -0
  446. package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +11 -0
  447. package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +11 -0
  448. package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +13 -0
  449. package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +19 -0
  450. package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +21 -0
  451. package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +28 -0
  452. package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +28 -0
  453. package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +28 -0
  454. package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +11 -0
  455. package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +29 -0
  456. package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +11 -0
  457. package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +21 -0
  458. package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +21 -0
  459. package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +21 -0
  460. package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +26 -0
  461. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +21 -0
  462. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +21 -0
  463. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +21 -0
  464. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +26 -0
  465. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +19 -0
  466. package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +34 -0
  467. package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +19 -0
  468. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +32 -0
  469. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +11 -0
  470. package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +35 -0
  471. package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +34 -0
  472. package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +28 -0
  473. package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +28 -0
  474. package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +11 -0
  475. package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +35 -0
  476. package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +11 -0
  477. package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +11 -0
  478. package/dist/docs/markdown/plugin-meetings.meeting.md +18 -0
  479. package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +17 -0
  480. package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +22 -0
  481. package/dist/docs/markdown/plugin-meetings.meetings.create.md +30 -0
  482. package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +19 -0
  483. package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +11 -0
  484. package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +31 -0
  485. package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +19 -0
  486. package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +19 -0
  487. package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +29 -0
  488. package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +21 -0
  489. package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +21 -0
  490. package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +19 -0
  491. package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +11 -0
  492. package/dist/docs/markdown/plugin-meetings.meetings.md +57 -0
  493. package/dist/docs/markdown/plugin-meetings.meetings.media.md +11 -0
  494. package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +11 -0
  495. package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +11 -0
  496. package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +11 -0
  497. package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +11 -0
  498. package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +11 -0
  499. package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +11 -0
  500. package/dist/docs/markdown/plugin-meetings.meetings.register.md +21 -0
  501. package/dist/docs/markdown/plugin-meetings.meetings.registered.md +11 -0
  502. package/dist/docs/markdown/plugin-meetings.meetings.request.md +11 -0
  503. package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +21 -0
  504. package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +21 -0
  505. package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +21 -0
  506. package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +21 -0
  507. package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +34 -0
  508. package/dist/docs/markdown/plugin-meetings.reactions.md +13 -0
  509. package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +11 -0
  510. package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +11 -0
  511. package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +26 -0
  512. package/dist/docs/markdown/plugin-meetings.remotemedia.md +31 -0
  513. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +22 -0
  514. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +13 -0
  515. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +11 -0
  516. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +40 -0
  517. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +13 -0
  518. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +13 -0
  519. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +25 -0
  520. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +13 -0
  521. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +13 -0
  522. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +14 -0
  523. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +11 -0
  524. package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +11 -0
  525. package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +12 -0
  526. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +24 -0
  527. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +26 -0
  528. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +27 -0
  529. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +22 -0
  530. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +28 -0
  531. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +25 -0
  532. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +24 -0
  533. package/dist/docs/markdown/plugin-meetings.triggerproxy.md +11 -0
  534. package/dist/docs/metadata/index.api.json +14144 -0
  535. package/dist/docs/metadata/index.api.md +2075 -0
  536. package/dist/docs/metadata/index.d.ts +5594 -0
  537. package/dist/index.d.ts +4 -0
  538. package/dist/index.js +72 -17
  539. package/dist/index.js.map +1 -1
  540. package/dist/locus-info/controlsUtils.d.ts +2 -0
  541. package/dist/locus-info/controlsUtils.js +31 -29
  542. package/dist/locus-info/controlsUtils.js.map +1 -1
  543. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  544. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  545. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  546. package/dist/locus-info/fullState.d.ts +2 -0
  547. package/dist/locus-info/fullState.js +0 -15
  548. package/dist/locus-info/fullState.js.map +1 -1
  549. package/dist/locus-info/hostUtils.d.ts +2 -0
  550. package/dist/locus-info/hostUtils.js +4 -12
  551. package/dist/locus-info/hostUtils.js.map +1 -1
  552. package/dist/locus-info/index.d.ts +269 -0
  553. package/dist/locus-info/index.js +202 -201
  554. package/dist/locus-info/index.js.map +1 -1
  555. package/dist/locus-info/infoUtils.d.ts +2 -0
  556. package/dist/locus-info/infoUtils.js +3 -37
  557. package/dist/locus-info/infoUtils.js.map +1 -1
  558. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  559. package/dist/locus-info/mediaSharesUtils.js +12 -38
  560. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  561. package/dist/locus-info/parser.d.ts +212 -0
  562. package/dist/locus-info/parser.js +88 -123
  563. package/dist/locus-info/parser.js.map +1 -1
  564. package/dist/locus-info/selfUtils.d.ts +2 -0
  565. package/dist/locus-info/selfUtils.js +80 -89
  566. package/dist/locus-info/selfUtils.js.map +1 -1
  567. package/dist/media/index.d.ts +32 -0
  568. package/dist/media/index.js +56 -146
  569. package/dist/media/index.js.map +1 -1
  570. package/dist/media/properties.d.ts +108 -0
  571. package/dist/media/properties.js +71 -117
  572. package/dist/media/properties.js.map +1 -1
  573. package/dist/media/util.d.ts +2 -0
  574. package/dist/media/util.js +2 -9
  575. package/dist/media/util.js.map +1 -1
  576. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  577. package/dist/mediaQualityMetrics/config.js +505 -495
  578. package/dist/mediaQualityMetrics/config.js.map +1 -1
  579. package/dist/meeting/effectsState.d.ts +42 -0
  580. package/dist/meeting/effectsState.js +118 -192
  581. package/dist/meeting/effectsState.js.map +1 -1
  582. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  583. package/dist/meeting/in-meeting-actions.js +31 -14
  584. package/dist/meeting/in-meeting-actions.js.map +1 -1
  585. package/dist/meeting/index.d.ts +1621 -0
  586. package/dist/meeting/index.js +2175 -2266
  587. package/dist/meeting/index.js.map +1 -1
  588. package/dist/meeting/muteState.d.ts +116 -0
  589. package/dist/meeting/muteState.js +252 -113
  590. package/dist/meeting/muteState.js.map +1 -1
  591. package/dist/meeting/request.d.ts +255 -0
  592. package/dist/meeting/request.js +297 -283
  593. package/dist/meeting/request.js.map +1 -1
  594. package/dist/meeting/request.type.js +7 -0
  595. package/dist/meeting/request.type.js.map +1 -0
  596. package/dist/meeting/state.d.ts +9 -0
  597. package/dist/meeting/state.js +21 -31
  598. package/dist/meeting/state.js.map +1 -1
  599. package/dist/meeting/util.d.ts +2 -0
  600. package/dist/meeting/util.js +63 -217
  601. package/dist/meeting/util.js.map +1 -1
  602. package/dist/meeting-info/collection.d.ts +20 -0
  603. package/dist/meeting-info/collection.js +3 -25
  604. package/dist/meeting-info/collection.js.map +1 -1
  605. package/dist/meeting-info/index.d.ts +57 -0
  606. package/dist/meeting-info/index.js +10 -33
  607. package/dist/meeting-info/index.js.map +1 -1
  608. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  609. package/dist/meeting-info/meeting-info-v2.js +181 -268
  610. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  611. package/dist/meeting-info/request.d.ts +22 -0
  612. package/dist/meeting-info/request.js +1 -16
  613. package/dist/meeting-info/request.js.map +1 -1
  614. package/dist/meeting-info/util.d.ts +2 -0
  615. package/dist/meeting-info/util.js +98 -183
  616. package/dist/meeting-info/util.js.map +1 -1
  617. package/dist/meeting-info/utilv2.d.ts +2 -0
  618. package/dist/meeting-info/utilv2.js +137 -228
  619. package/dist/meeting-info/utilv2.js.map +1 -1
  620. package/dist/meetings/collection.d.ts +23 -0
  621. package/dist/meetings/collection.js +24 -20
  622. package/dist/meetings/collection.js.map +1 -1
  623. package/dist/meetings/index.d.ts +297 -0
  624. package/dist/meetings/index.js +566 -587
  625. package/dist/meetings/index.js.map +1 -1
  626. package/dist/meetings/request.d.ts +27 -0
  627. package/dist/meetings/request.js +23 -42
  628. package/dist/meetings/request.js.map +1 -1
  629. package/dist/meetings/util.d.ts +18 -0
  630. package/dist/meetings/util.js +151 -155
  631. package/dist/meetings/util.js.map +1 -1
  632. package/dist/member/index.d.ts +145 -0
  633. package/dist/member/index.js +80 -88
  634. package/dist/member/index.js.map +1 -1
  635. package/dist/member/types.js +15 -0
  636. package/dist/member/types.js.map +1 -0
  637. package/dist/member/util.d.ts +2 -0
  638. package/dist/member/util.js +90 -69
  639. package/dist/member/util.js.map +1 -1
  640. package/dist/members/collection.d.ts +24 -0
  641. package/dist/members/collection.js +12 -12
  642. package/dist/members/collection.js.map +1 -1
  643. package/dist/members/index.d.ts +298 -0
  644. package/dist/members/index.js +139 -204
  645. package/dist/members/index.js.map +1 -1
  646. package/dist/members/request.d.ts +50 -0
  647. package/dist/members/request.js +41 -55
  648. package/dist/members/request.js.map +1 -1
  649. package/dist/members/types.js +15 -0
  650. package/dist/members/types.js.map +1 -0
  651. package/dist/members/util.d.ts +2 -0
  652. package/dist/members/util.js +76 -46
  653. package/dist/members/util.js.map +1 -1
  654. package/dist/metrics/config.d.ts +169 -0
  655. package/dist/metrics/config.js +4 -14
  656. package/dist/metrics/config.js.map +1 -1
  657. package/dist/metrics/constants.d.ts +57 -0
  658. package/dist/metrics/constants.js +1 -6
  659. package/dist/metrics/constants.js.map +1 -1
  660. package/dist/metrics/index.d.ts +152 -0
  661. package/dist/metrics/index.js +53 -158
  662. package/dist/metrics/index.js.map +1 -1
  663. package/dist/multistream/mediaRequestManager.js +116 -52
  664. package/dist/multistream/mediaRequestManager.js.map +1 -1
  665. package/dist/multistream/receiveSlot.js +58 -65
  666. package/dist/multistream/receiveSlot.js.map +1 -1
  667. package/dist/multistream/receiveSlotManager.js +58 -93
  668. package/dist/multistream/receiveSlotManager.js.map +1 -1
  669. package/dist/multistream/remoteMedia.js +55 -74
  670. package/dist/multistream/remoteMedia.js.map +1 -1
  671. package/dist/multistream/remoteMediaGroup.js +6 -40
  672. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  673. package/dist/multistream/remoteMediaManager.js +466 -442
  674. package/dist/multistream/remoteMediaManager.js.map +1 -1
  675. package/dist/networkQualityMonitor/index.d.ts +70 -0
  676. package/dist/networkQualityMonitor/index.js +32 -59
  677. package/dist/networkQualityMonitor/index.js.map +1 -1
  678. package/dist/peer-connection-manager/index.d.ts +6 -0
  679. package/dist/peer-connection-manager/index.js +671 -0
  680. package/dist/peer-connection-manager/index.js.map +1 -0
  681. package/dist/peer-connection-manager/util.d.ts +6 -0
  682. package/dist/peer-connection-manager/util.js +110 -0
  683. package/dist/peer-connection-manager/util.js.map +1 -0
  684. package/dist/personal-meeting-room/index.d.ts +47 -0
  685. package/dist/personal-meeting-room/index.js +10 -45
  686. package/dist/personal-meeting-room/index.js.map +1 -1
  687. package/dist/personal-meeting-room/request.d.ts +14 -0
  688. package/dist/personal-meeting-room/request.js +2 -33
  689. package/dist/personal-meeting-room/request.js.map +1 -1
  690. package/dist/personal-meeting-room/util.d.ts +2 -0
  691. package/dist/personal-meeting-room/util.js +0 -13
  692. package/dist/personal-meeting-room/util.js.map +1 -1
  693. package/dist/plugin-meetings.d.ts +5399 -0
  694. package/dist/reachability/index.d.ts +139 -0
  695. package/dist/reachability/index.js +190 -199
  696. package/dist/reachability/index.js.map +1 -1
  697. package/dist/reachability/request.d.ts +35 -0
  698. package/dist/reachability/request.js +14 -23
  699. package/dist/reachability/request.js.map +1 -1
  700. package/dist/reactions/constants.js +13 -0
  701. package/dist/reactions/constants.js.map +1 -0
  702. package/dist/reactions/reactions.d.ts +4 -0
  703. package/dist/reactions/reactions.js +109 -0
  704. package/dist/reactions/reactions.js.map +1 -0
  705. package/dist/reactions/reactions.type.d.ts +32 -0
  706. package/dist/reactions/reactions.type.js +36 -0
  707. package/dist/reactions/reactions.type.js.map +1 -0
  708. package/dist/reconnection-manager/index.d.ts +112 -0
  709. package/dist/reconnection-manager/index.js +328 -465
  710. package/dist/reconnection-manager/index.js.map +1 -1
  711. package/dist/recording-controller/enums.d.ts +7 -0
  712. package/dist/recording-controller/enums.js +17 -0
  713. package/dist/recording-controller/enums.js.map +1 -0
  714. package/dist/recording-controller/index.d.ts +193 -0
  715. package/dist/recording-controller/index.js +343 -0
  716. package/dist/recording-controller/index.js.map +1 -0
  717. package/dist/recording-controller/util.d.ts +13 -0
  718. package/dist/recording-controller/util.js +63 -0
  719. package/dist/recording-controller/util.js.map +1 -0
  720. package/dist/roap/collection.d.ts +10 -0
  721. package/dist/roap/collection.js +63 -0
  722. package/dist/roap/collection.js.map +1 -0
  723. package/dist/roap/handler.d.ts +47 -0
  724. package/dist/roap/handler.js +279 -0
  725. package/dist/roap/handler.js.map +1 -0
  726. package/dist/roap/index.d.ts +116 -0
  727. package/dist/roap/index.js +27 -59
  728. package/dist/roap/index.js.map +1 -1
  729. package/dist/roap/request.d.ts +35 -0
  730. package/dist/roap/request.js +143 -134
  731. package/dist/roap/request.js.map +1 -1
  732. package/dist/roap/state.d.ts +9 -0
  733. package/dist/roap/state.js +127 -0
  734. package/dist/roap/state.js.map +1 -0
  735. package/dist/roap/turnDiscovery.d.ts +67 -0
  736. package/dist/roap/turnDiscovery.js +86 -101
  737. package/dist/roap/turnDiscovery.js.map +1 -1
  738. package/dist/roap/util.d.ts +2 -0
  739. package/dist/roap/util.js +76 -0
  740. package/dist/roap/util.js.map +1 -0
  741. package/dist/statsAnalyzer/global.d.ts +126 -0
  742. package/dist/statsAnalyzer/global.js +1 -95
  743. package/dist/statsAnalyzer/global.js.map +1 -1
  744. package/dist/statsAnalyzer/index.d.ts +190 -0
  745. package/dist/statsAnalyzer/index.js +356 -457
  746. package/dist/statsAnalyzer/index.js.map +1 -1
  747. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  748. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  749. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  750. package/dist/transcription/index.d.ts +64 -0
  751. package/dist/transcription/index.js +13 -45
  752. package/dist/transcription/index.js.map +1 -1
  753. package/dist/types/breakouts/breakout.d.ts +8 -0
  754. package/dist/types/breakouts/collection.d.ts +5 -0
  755. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  756. package/dist/types/breakouts/index.d.ts +5 -0
  757. package/dist/types/breakouts/request.d.ts +22 -0
  758. package/dist/types/breakouts/utils.d.ts +8 -0
  759. package/dist/types/common/browser-detection.d.ts +9 -0
  760. package/dist/types/common/collection.d.ts +48 -0
  761. package/dist/types/common/config.d.ts +2 -0
  762. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  763. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  764. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  765. package/dist/types/common/errors/media.d.ts +15 -0
  766. package/dist/types/common/errors/parameter.d.ts +15 -0
  767. package/dist/types/common/errors/password-error.d.ts +15 -0
  768. package/dist/types/common/errors/permission.d.ts +14 -0
  769. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  770. package/dist/types/common/errors/reconnection.d.ts +15 -0
  771. package/dist/types/common/errors/stats.d.ts +15 -0
  772. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  773. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  774. package/dist/types/common/events/events-scope.d.ts +17 -0
  775. package/dist/types/common/events/events.d.ts +12 -0
  776. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  777. package/dist/types/common/events/util.d.ts +2 -0
  778. package/dist/types/common/logs/logger-config.d.ts +2 -0
  779. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  780. package/dist/types/common/logs/request.d.ts +34 -0
  781. package/dist/types/common/queue.d.ts +32 -0
  782. package/dist/types/config.d.ts +77 -0
  783. package/dist/types/constants.d.ts +944 -0
  784. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  785. package/dist/types/controls-options-manager/enums.d.ts +6 -0
  786. package/dist/types/controls-options-manager/index.d.ts +128 -0
  787. package/dist/types/controls-options-manager/util.d.ts +9 -0
  788. package/dist/types/index.d.ts +7 -0
  789. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  790. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  791. package/dist/types/locus-info/fullState.d.ts +2 -0
  792. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  793. package/dist/types/locus-info/index.d.ts +276 -0
  794. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  795. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  796. package/dist/types/locus-info/parser.d.ts +212 -0
  797. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  798. package/dist/types/media/index.d.ts +32 -0
  799. package/dist/types/media/properties.d.ts +108 -0
  800. package/dist/types/media/util.d.ts +2 -0
  801. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  802. package/dist/types/meeting/effectsState.d.ts +42 -0
  803. package/dist/types/meeting/in-meeting-actions.d.ts +101 -0
  804. package/dist/types/meeting/index.d.ts +1723 -0
  805. package/dist/types/meeting/muteState.d.ts +185 -0
  806. package/dist/types/meeting/request.d.ts +271 -0
  807. package/dist/types/meeting/request.type.d.ts +11 -0
  808. package/dist/types/meeting/state.d.ts +9 -0
  809. package/dist/types/meeting/util.d.ts +2 -0
  810. package/dist/types/meeting-info/collection.d.ts +20 -0
  811. package/dist/types/meeting-info/index.d.ts +57 -0
  812. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  813. package/dist/types/meeting-info/request.d.ts +22 -0
  814. package/dist/types/meeting-info/util.d.ts +2 -0
  815. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  816. package/dist/types/meetings/collection.d.ts +31 -0
  817. package/dist/types/meetings/index.d.ts +316 -0
  818. package/dist/types/meetings/request.d.ts +27 -0
  819. package/dist/types/meetings/util.d.ts +18 -0
  820. package/dist/types/member/index.d.ts +156 -0
  821. package/dist/types/member/types.d.ts +21 -0
  822. package/dist/types/member/util.d.ts +2 -0
  823. package/dist/types/members/collection.d.ts +29 -0
  824. package/dist/types/members/index.d.ts +343 -0
  825. package/dist/types/members/request.d.ts +58 -0
  826. package/dist/types/members/types.d.ts +24 -0
  827. package/dist/types/members/util.d.ts +2 -0
  828. package/dist/types/metrics/config.d.ts +171 -0
  829. package/dist/types/metrics/constants.d.ts +53 -0
  830. package/dist/types/metrics/index.d.ts +152 -0
  831. package/dist/types/multistream/mediaRequestManager.d.ts +68 -0
  832. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  833. package/dist/types/multistream/receiveSlotManager.d.ts +49 -0
  834. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  835. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  836. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  837. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  838. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  839. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  840. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  841. package/dist/types/reachability/index.d.ts +152 -0
  842. package/dist/types/reachability/request.d.ts +37 -0
  843. package/dist/types/reactions/constants.d.ts +3 -0
  844. package/dist/types/reactions/reactions.d.ts +4 -0
  845. package/dist/types/reactions/reactions.type.d.ts +52 -0
  846. package/dist/types/reconnection-manager/index.d.ts +126 -0
  847. package/dist/types/recording-controller/enums.d.ts +7 -0
  848. package/dist/types/recording-controller/index.d.ts +193 -0
  849. package/dist/types/recording-controller/util.d.ts +13 -0
  850. package/dist/types/roap/index.d.ts +77 -0
  851. package/dist/types/roap/request.d.ts +38 -0
  852. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  853. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  854. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  855. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  856. package/dist/types/transcription/index.d.ts +64 -0
  857. package/dist/types/tsdoc-metadata.json +11 -0
  858. package/internal-README.md +7 -6
  859. package/package.json +28 -20
  860. package/src/breakouts/README.md +219 -0
  861. package/src/breakouts/breakout.ts +153 -0
  862. package/src/breakouts/collection.ts +19 -0
  863. package/src/breakouts/edit-lock-error.ts +25 -0
  864. package/src/breakouts/index.ts +745 -0
  865. package/src/breakouts/request.ts +55 -0
  866. package/src/breakouts/utils.ts +44 -0
  867. package/src/common/browser-detection.ts +9 -6
  868. package/src/common/collection.ts +3 -1
  869. package/src/common/errors/captcha-error.ts +6 -6
  870. package/src/common/errors/intent-to-join.ts +6 -6
  871. package/src/common/errors/join-meeting.ts +12 -8
  872. package/src/common/errors/media.ts +6 -6
  873. package/src/common/errors/parameter.ts +9 -6
  874. package/src/common/errors/password-error.ts +6 -6
  875. package/src/common/errors/permission.ts +5 -5
  876. package/src/common/errors/reconnection.ts +6 -6
  877. package/src/common/errors/stats.ts +6 -6
  878. package/src/common/errors/webex-errors.ts +7 -5
  879. package/src/common/errors/webex-meetings-error.ts +1 -1
  880. package/src/common/events/events-scope.ts +5 -1
  881. package/src/common/events/events.ts +5 -1
  882. package/src/common/events/trigger-proxy.ts +8 -3
  883. package/src/common/events/util.ts +1 -2
  884. package/src/common/logs/logger-proxy.ts +21 -10
  885. package/src/common/logs/request.ts +11 -8
  886. package/src/config.ts +16 -12
  887. package/src/constants.ts +92 -6
  888. package/src/controls-options-manager/constants.ts +5 -0
  889. package/src/controls-options-manager/enums.ts +7 -0
  890. package/src/controls-options-manager/index.ts +240 -0
  891. package/src/controls-options-manager/util.ts +30 -0
  892. package/src/index.ts +33 -0
  893. package/src/locus-info/controlsUtils.ts +63 -24
  894. package/src/locus-info/fullState.ts +15 -11
  895. package/src/locus-info/hostUtils.ts +4 -3
  896. package/src/locus-info/index.ts +148 -43
  897. package/src/locus-info/infoUtils.ts +16 -4
  898. package/src/locus-info/mediaSharesUtils.ts +4 -4
  899. package/src/locus-info/parser.ts +46 -68
  900. package/src/locus-info/selfUtils.ts +174 -56
  901. package/src/media/index.ts +131 -179
  902. package/src/media/properties.ts +43 -36
  903. package/src/media/util.ts +1 -1
  904. package/src/mediaQualityMetrics/config.ts +380 -378
  905. package/src/meeting/in-meeting-actions.ts +67 -3
  906. package/src/meeting/index.ts +2395 -1523
  907. package/src/meeting/muteState.ts +271 -68
  908. package/src/meeting/request.ts +228 -132
  909. package/src/meeting/request.type.ts +13 -0
  910. package/src/meeting/state.ts +45 -30
  911. package/src/meeting/util.ts +127 -111
  912. package/src/meeting-info/collection.ts +2 -1
  913. package/src/meeting-info/index.ts +32 -30
  914. package/src/meeting-info/meeting-info-v2.ts +108 -108
  915. package/src/meeting-info/request.ts +9 -3
  916. package/src/meeting-info/util.ts +54 -46
  917. package/src/meeting-info/utilv2.ts +59 -53
  918. package/src/meetings/collection.ts +21 -1
  919. package/src/meetings/index.ts +673 -466
  920. package/src/meetings/request.ts +29 -25
  921. package/src/meetings/util.ts +94 -30
  922. package/src/member/index.ts +86 -49
  923. package/src/member/types.ts +24 -0
  924. package/src/member/util.ts +92 -13
  925. package/src/members/collection.ts +8 -1
  926. package/src/members/index.ts +246 -129
  927. package/src/members/request.ts +67 -14
  928. package/src/members/types.ts +28 -0
  929. package/src/members/util.ts +103 -50
  930. package/src/metrics/config.ts +255 -90
  931. package/src/metrics/constants.ts +0 -6
  932. package/src/metrics/index.ts +90 -93
  933. package/src/multistream/mediaRequestManager.ts +144 -40
  934. package/src/multistream/receiveSlot.ts +69 -26
  935. package/src/multistream/receiveSlotManager.ts +50 -38
  936. package/src/multistream/remoteMedia.ts +30 -4
  937. package/src/multistream/remoteMediaGroup.ts +4 -3
  938. package/src/multistream/remoteMediaManager.ts +230 -66
  939. package/src/networkQualityMonitor/index.ts +24 -27
  940. package/src/personal-meeting-room/index.ts +12 -16
  941. package/src/personal-meeting-room/request.ts +10 -3
  942. package/src/personal-meeting-room/util.ts +3 -3
  943. package/src/reachability/index.ts +131 -79
  944. package/src/reachability/request.ts +43 -34
  945. package/src/reactions/constants.ts +4 -0
  946. package/src/reactions/reactions.ts +104 -0
  947. package/src/reactions/reactions.type.ts +62 -0
  948. package/src/reconnection-manager/index.ts +190 -111
  949. package/src/recording-controller/enums.ts +8 -0
  950. package/src/recording-controller/index.ts +315 -0
  951. package/src/recording-controller/util.ts +58 -0
  952. package/src/roap/index.ts +50 -42
  953. package/src/roap/request.ts +86 -53
  954. package/src/roap/turnDiscovery.ts +69 -38
  955. package/src/statsAnalyzer/global.ts +8 -104
  956. package/src/statsAnalyzer/index.ts +593 -376
  957. package/src/statsAnalyzer/mqaUtil.ts +203 -90
  958. package/src/transcription/index.ts +34 -32
  959. package/test/integration/spec/converged-space-meetings.js +176 -0
  960. package/test/integration/spec/journey.js +665 -464
  961. package/test/integration/spec/space-meeting.js +319 -204
  962. package/test/integration/spec/transcription.js +7 -8
  963. package/test/unit/spec/breakouts/breakout.ts +178 -0
  964. package/test/unit/spec/breakouts/collection.ts +15 -0
  965. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  966. package/test/unit/spec/breakouts/index.ts +1252 -0
  967. package/test/unit/spec/breakouts/request.ts +104 -0
  968. package/test/unit/spec/breakouts/utils.js +54 -0
  969. package/test/unit/spec/common/browser-detection.js +9 -28
  970. package/test/unit/spec/controls-options-manager/index.js +204 -0
  971. package/test/unit/spec/controls-options-manager/util.js +86 -0
  972. package/test/unit/spec/fixture/locus.js +92 -90
  973. package/test/unit/spec/locus-info/controlsUtils.js +133 -34
  974. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  975. package/test/unit/spec/locus-info/index.js +303 -2
  976. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  977. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  978. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  979. package/test/unit/spec/locus-info/parser.js +3 -9
  980. package/test/unit/spec/locus-info/selfConstant.js +101 -103
  981. package/test/unit/spec/locus-info/selfUtils.js +165 -12
  982. package/test/unit/spec/media/index.ts +72 -8
  983. package/test/unit/spec/media/properties.ts +9 -9
  984. package/test/unit/spec/meeting/in-meeting-actions.ts +29 -2
  985. package/test/unit/spec/meeting/index.js +2479 -794
  986. package/test/unit/spec/meeting/muteState.js +164 -70
  987. package/test/unit/spec/meeting/request.js +141 -43
  988. package/test/unit/spec/meeting/utils.js +135 -164
  989. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  990. package/test/unit/spec/meeting-info/request.js +7 -9
  991. package/test/unit/spec/meeting-info/util.js +11 -12
  992. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  993. package/test/unit/spec/meetings/collection.js +15 -1
  994. package/test/unit/spec/meetings/index.js +622 -263
  995. package/test/unit/spec/meetings/utils.js +65 -14
  996. package/test/unit/spec/member/index.js +24 -1
  997. package/test/unit/spec/member/util.js +359 -32
  998. package/test/unit/spec/members/index.js +294 -54
  999. package/test/unit/spec/members/request.js +50 -20
  1000. package/test/unit/spec/members/utils.js +147 -4
  1001. package/test/unit/spec/metrics/index.js +16 -21
  1002. package/test/unit/spec/multistream/mediaRequestManager.ts +369 -68
  1003. package/test/unit/spec/multistream/receiveSlot.ts +76 -17
  1004. package/test/unit/spec/multistream/receiveSlotManager.ts +60 -38
  1005. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  1006. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  1007. package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
  1008. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  1009. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  1010. package/test/unit/spec/reachability/index.ts +176 -27
  1011. package/test/unit/spec/reachability/request.js +66 -0
  1012. package/test/unit/spec/reconnection-manager/index.js +58 -31
  1013. package/test/unit/spec/recording-controller/index.js +231 -0
  1014. package/test/unit/spec/recording-controller/util.js +102 -0
  1015. package/test/unit/spec/roap/index.ts +12 -8
  1016. package/test/unit/spec/roap/request.ts +217 -0
  1017. package/test/unit/spec/roap/turnDiscovery.ts +72 -49
  1018. package/test/unit/spec/stats-analyzer/index.js +108 -57
  1019. package/test/utils/cmr.js +44 -42
  1020. package/test/utils/constants.js +9 -0
  1021. package/test/utils/testUtils.js +98 -77
  1022. package/test/utils/webex-config.js +22 -18
  1023. package/test/utils/webex-test-users.js +57 -50
  1024. package/tsconfig.json +6 -0
  1025. package/dist/media/internal-media-core-wrapper.js +0 -22
  1026. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  1027. package/dist/multistream/multistreamMedia.js +0 -116
  1028. package/dist/multistream/multistreamMedia.js.map +0 -1
  1029. package/src/index.js +0 -15
  1030. package/src/media/internal-media-core-wrapper.ts +0 -9
  1031. package/src/meeting/effectsState.ts +0 -211
  1032. package/src/multistream/multistreamMedia.ts +0 -92
  1033. package/test/unit/spec/meeting/effectsState.js +0 -291
@@ -1,55 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
6
  _Object$defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
-
13
9
  exports.StatsAnalyzer = exports.EVENTS = void 0;
14
-
10
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
15
11
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
12
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
18
-
19
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
15
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
24
-
25
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
26
-
27
17
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
28
-
29
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
30
-
31
19
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
32
-
33
20
  var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
34
-
35
21
  var _internalMediaCore = require("@webex/internal-media-core");
36
-
37
22
  var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
38
-
39
23
  var _constants = require("../constants");
40
-
41
- var _config = _interopRequireDefault(require("../mediaQualityMetrics/config"));
42
-
24
+ var _config = require("../mediaQualityMetrics/config");
43
25
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
44
-
45
26
  var _global = _interopRequireDefault(require("./global"));
46
-
47
27
  var _mqaUtil = require("./mqaUtil");
48
-
49
28
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
50
-
51
29
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
52
-
53
30
  var EVENTS = {
54
31
  MEDIA_QUALITY: 'MEDIA_QUALITY',
55
32
  LOCAL_MEDIA_STARTED: 'LOCAL_MEDIA_STARTED',
@@ -57,6 +34,22 @@ var EVENTS = {
57
34
  REMOTE_MEDIA_STARTED: 'REMOTE_MEDIA_STARTED',
58
35
  REMOTE_MEDIA_STOPPED: 'REMOTE_MEDIA_STOPPED'
59
36
  };
37
+ exports.EVENTS = EVENTS;
38
+ var emptySender = {
39
+ trackLabel: '',
40
+ maxPacketLossRatio: 0,
41
+ availableBandwidth: 0,
42
+ bytesSent: 0,
43
+ meanRemoteJitter: [],
44
+ meanRoundTripTime: []
45
+ };
46
+ var emptyReceiver = {
47
+ availableBandwidth: 0,
48
+ bytesReceived: 0,
49
+ meanRtpJitter: [],
50
+ meanRoundTripTime: []
51
+ };
52
+
60
53
  /**
61
54
  * Stats Analyzer class that will emit events based on detected quality
62
55
  *
@@ -64,14 +57,9 @@ var EVENTS = {
64
57
  * @class StatsAnalyzer
65
58
  * @extends {EventsScope}
66
59
  */
67
-
68
- exports.EVENTS = EVENTS;
69
-
70
60
  var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
71
61
  (0, _inherits2.default)(StatsAnalyzer, _EventsScope);
72
-
73
62
  var _super = _createSuper(StatsAnalyzer);
74
-
75
63
  /**
76
64
  * Creates a new instance of StatsAnalyzer
77
65
  * @constructor
@@ -82,7 +70,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
82
70
  */
83
71
  function StatsAnalyzer(config) {
84
72
  var _this;
85
-
86
73
  var networkQualityMonitor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
87
74
  var statsResults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _global.default;
88
75
  (0, _classCallCheck2.default)(this, StatsAnalyzer);
@@ -92,7 +79,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
92
79
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lastEmittedStartStopEvent", void 0);
93
80
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lastMqaDataSent", void 0);
94
81
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lastStatsResults", void 0);
95
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "localMQEStats", void 0);
96
82
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingMediaStatus", void 0);
97
83
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mqaInterval", void 0);
98
84
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mqaSentCount", void 0);
@@ -104,28 +90,28 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
104
90
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "emitStartStopEvents", function (mediaType, previousValue, currentValue, isLocal) {
105
91
  if (mediaType !== 'audio' && mediaType !== 'video' && mediaType !== 'share') {
106
92
  throw new Error("Unsupported mediaType: ".concat(mediaType));
107
- } // eslint-disable-next-line no-param-reassign
108
-
109
-
110
- if (previousValue === undefined) previousValue = 0; // eslint-disable-next-line no-param-reassign
93
+ }
111
94
 
95
+ // eslint-disable-next-line no-param-reassign
96
+ if (previousValue === undefined) previousValue = 0;
97
+ // eslint-disable-next-line no-param-reassign
112
98
  if (currentValue === undefined) currentValue = 0;
99
+ if (!_this.lastEmittedStartStopEvent[mediaType]) {
100
+ _this.lastEmittedStartStopEvent[mediaType] = {};
101
+ }
113
102
  var lastEmittedEvent = isLocal ? _this.lastEmittedStartStopEvent[mediaType].local : _this.lastEmittedStartStopEvent[mediaType].remote;
114
103
  var newEvent;
115
-
116
104
  if (currentValue - previousValue > 0) {
117
105
  newEvent = isLocal ? EVENTS.LOCAL_MEDIA_STARTED : EVENTS.REMOTE_MEDIA_STARTED;
118
106
  } else if (currentValue === previousValue && currentValue > 0) {
119
107
  newEvent = isLocal ? EVENTS.LOCAL_MEDIA_STOPPED : EVENTS.REMOTE_MEDIA_STOPPED;
120
108
  }
121
-
122
109
  if (newEvent && lastEmittedEvent !== newEvent) {
123
110
  if (isLocal) {
124
111
  _this.lastEmittedStartStopEvent[mediaType].local = newEvent;
125
112
  } else {
126
113
  _this.lastEmittedStartStopEvent[mediaType].remote = newEvent;
127
114
  }
128
-
129
115
  _this.emit({
130
116
  file: 'statsAnalyzer/index',
131
117
  function: 'compareLastStatsResult'
@@ -138,7 +124,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
138
124
  if (!result || !result.id) {
139
125
  return;
140
126
  }
141
-
142
127
  var RemoteCandidateType = {};
143
128
  var RemoteTransport = {};
144
129
  var RemoteIpAddress = {};
@@ -146,31 +131,24 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
146
131
  if (!result.id) return;
147
132
  var sendRecvType = isSender ? _constants.STATS.SEND_DIRECTION : _constants.STATS.RECEIVE_DIRECTION;
148
133
  var ipType = isRemote ? _constants.STATS.REMOTE : _constants.STATS.LOCAL;
149
-
150
134
  if (!RemoteCandidateType[result.id]) {
151
135
  RemoteCandidateType[result.id] = [];
152
136
  }
153
-
154
137
  if (!RemoteTransport[result.id]) {
155
138
  RemoteTransport[result.id] = [];
156
139
  }
157
-
158
140
  if (!RemoteIpAddress[result.id]) {
159
141
  RemoteIpAddress[result.id] = [];
160
142
  }
161
-
162
143
  if (!RemoteNetworkType[result.id]) {
163
144
  RemoteNetworkType[result.id] = [];
164
145
  }
165
-
166
146
  if (result.candidateType && RemoteCandidateType[result.id].indexOf(result.candidateType) === -1) {
167
147
  RemoteCandidateType[result.id].push(result.candidateType);
168
148
  }
169
-
170
149
  if (result.protocol && RemoteTransport[result.id].indexOf(result.protocol) === -1) {
171
150
  RemoteTransport[result.id].push(result.protocol.toUpperCase());
172
151
  }
173
-
174
152
  if (result.ip && RemoteIpAddress[result.id].indexOf("".concat(result.ip, ":").concat(result.portNumber)) === -1) {
175
153
  RemoteIpAddress[result.id].push("".concat(result.ip)); // TODO: Add ports
176
154
  }
@@ -178,7 +156,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
178
156
  if (result.networkType && RemoteNetworkType[result.id].indexOf(result.networkType) === -1) {
179
157
  RemoteNetworkType[result.id].push(result.networkType);
180
158
  }
181
-
182
159
  _this.statsResults.internal.candidates[result.id] = {
183
160
  candidateType: RemoteCandidateType[result.id],
184
161
  ipAddress: RemoteIpAddress[result.id],
@@ -203,138 +180,33 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
203
180
  _this.networkQualityMonitor = networkQualityMonitor;
204
181
  _this.correlationId = config.correlationId;
205
182
  _this.mqaSentCount = -1;
206
- _this.lastMqaDataSent = {
207
- resolutions: {
208
- video: {
209
- send: {},
210
- recv: {}
211
- },
212
- audio: {
213
- send: {},
214
- recv: {}
215
- },
216
- share: {
217
- send: {},
218
- recv: {}
219
- }
220
- },
221
- video: {
222
- send: {},
223
- recv: {}
224
- },
225
- audio: {
226
- send: {},
227
- recv: {}
228
- },
229
- share: {
230
- send: {},
231
- recv: {}
232
- }
233
- };
234
- _this.localMQEStats = {
235
- audio: {
236
- RX: {
237
- packetsLost: [],
238
- jitter: [],
239
- latency: [],
240
- bitRate: []
241
- },
242
- TX: {
243
- packetsLost: [],
244
- jitter: [],
245
- latency: [],
246
- bitRate: []
247
- }
248
- },
249
- video: {
250
- RX: {
251
- packetsLost: [],
252
- jitter: [],
253
- latency: [],
254
- bitRate: [],
255
- frameRate: [],
256
- resolutionWidth: [],
257
- resolutionHeight: [],
258
- requestedKeyFrame: [],
259
- receivedKeyFrame: []
260
- },
261
- TX: {
262
- packetsLost: [],
263
- jitter: [],
264
- latency: [],
265
- bitRate: [],
266
- frameRate: [],
267
- resolutionWidth: [],
268
- resolutionHeight: [],
269
- requestedKeyFrame: [],
270
- receivedKeyFrame: []
271
- }
272
- }
273
- };
274
- _this.lastEmittedStartStopEvent = {
275
- audio: {
276
- local: undefined,
277
- remote: undefined
278
- },
279
- video: {
280
- local: undefined,
281
- remote: undefined
282
- },
283
- share: {
284
- local: undefined,
285
- remote: undefined
286
- }
287
- };
183
+ _this.lastMqaDataSent = {};
184
+ _this.lastEmittedStartStopEvent = {};
288
185
  return _this;
289
186
  }
290
187
 
188
+ /**
189
+ * Resets cumulative stats arrays.
190
+ *
191
+ * @public
192
+ * @memberof StatsAnalyzer
193
+ * @returns {void}
194
+ */
291
195
  (0, _createClass2.default)(StatsAnalyzer, [{
292
- key: "populateResults",
293
- value: function populateResults(lastMqa) {
294
- // Audio
295
- this.localMQEStats.audio.RX.packetsLost.push(lastMqa.audioReceive[0].common.mediaHopByHopLost);
296
- this.localMQEStats.audio.RX.jitter.push(lastMqa.audioReceive[0].streams[0].common.rtpJitter);
297
- this.localMQEStats.audio.RX.latency.push(lastMqa.audioReceive[0].common.roundTripTime);
298
- this.localMQEStats.audio.RX.bitRate.push(lastMqa.audioReceive[0].streams[0].common.receivedBitrate);
299
- this.localMQEStats.audio.TX.packetsLost.push(lastMqa.audioTransmit[0].common.remoteLossRate);
300
- this.localMQEStats.audio.TX.jitter.push(lastMqa.audioTransmit[0].common.remoteJitter);
301
- this.localMQEStats.audio.TX.latency.push(lastMqa.audioTransmit[0].common.roundTripTime);
302
- this.localMQEStats.audio.TX.bitRate.push(lastMqa.audioTransmit[0].streams[0].common.transmittedBitrate); // Video
303
-
304
- this.localMQEStats.video.RX.packetsLost.push(lastMqa.videoReceive[0].common.mediaHopByHopLost);
305
- this.localMQEStats.video.RX.jitter.push(lastMqa.videoReceive[0].streams[0].common.rtpJitter);
306
- this.localMQEStats.video.RX.latency.push(lastMqa.videoReceive[0].streams[0].common.roundTripTime);
307
- this.localMQEStats.video.RX.bitRate.push(lastMqa.videoReceive[0].streams[0].common.receivedBitrate);
308
- this.localMQEStats.video.RX.frameRate.push(lastMqa.videoReceive[0].streams[0].common.receivedFrameRate);
309
- this.localMQEStats.video.RX.resolutionWidth.push(lastMqa.videoReceive[0].streams[0].receivedWidth);
310
- this.localMQEStats.video.RX.resolutionHeight.push(lastMqa.videoReceive[0].streams[0].receivedHeight);
311
- this.localMQEStats.video.RX.requestedKeyFrame.push();
312
- this.localMQEStats.video.RX.receivedKeyFrame.push();
313
- this.localMQEStats.video.TX.packetsLost.push(lastMqa.videoTransmit[0].common.remoteLossRate);
314
- this.localMQEStats.video.TX.jitter.push(lastMqa.videoTransmit[0].common.remoteJitter);
315
- this.localMQEStats.video.TX.latency.push(lastMqa.videoTransmit[0].common.roundTripTime);
316
- this.localMQEStats.video.TX.bitRate.push(lastMqa.videoTransmit[0].streams[0].common.transmittedBitrate);
317
- this.localMQEStats.video.TX.frameRate.push(lastMqa.videoTransmit[0].streams[0].common.transmittedFrameRate);
318
- this.localMQEStats.video.TX.resolutionWidth.push(lastMqa.videoTransmit[0].streams[0].transmittedWidth);
319
- this.localMQEStats.video.TX.resolutionHeight.push(lastMqa.videoTransmit[0].streams[0].transmittedHeight);
320
- this.localMQEStats.video.TX.requestedKeyFrame.push(lastMqa.videoTransmit[0].streams[0].requestedKeyFrames);
321
- this.localMQEStats.video.TX.receivedKeyFrame.push();
322
- }
323
- }, {
324
196
  key: "resetStatsResults",
325
197
  value: function resetStatsResults() {
326
- this.statsResults.audio.send.meanRemoteJitter = [];
327
- this.statsResults.video.send.meanRemoteJitter = [];
328
- this.statsResults.share.send.meanRemoteJitter = [];
329
- this.statsResults.audio.recv.meanRtpJitter = []; // TODO: currently no values are present
330
-
331
- this.statsResults.video.recv.meanRtpJitter = [];
332
- this.statsResults.share.recv.meanRtpJitter = []; // Reset the roundTripTime
333
-
334
- this.statsResults.audio.send.meanRoundTripTime = [];
335
- this.statsResults.video.send.meanRoundTripTime = [];
336
- this.statsResults.share.send.meanRoundTripTime = [];
198
+ var _this2 = this;
199
+ (0, _keys.default)(this.statsResults).forEach(function (mediaType) {
200
+ if (mediaType.includes('recv')) {
201
+ _this2.statsResults[mediaType].recv.meanRtpJitter = [];
202
+ }
203
+ if (mediaType.includes('send')) {
204
+ _this2.statsResults[mediaType].send.meanRemoteJitter = [];
205
+ _this2.statsResults[mediaType].send.meanRoundTripTime = [];
206
+ }
207
+ });
337
208
  }
209
+
338
210
  /**
339
211
  * sets mediaStatus status for analyzing metrics
340
212
  *
@@ -343,12 +215,12 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
343
215
  * @memberof StatsAnalyzer
344
216
  * @returns {void}
345
217
  */
346
-
347
218
  }, {
348
219
  key: "updateMediaStatus",
349
220
  value: function updateMediaStatus(status) {
350
221
  this.meetingMediaStatus = status;
351
222
  }
223
+
352
224
  /**
353
225
  * captures MQA data from media connection
354
226
  *
@@ -356,131 +228,129 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
356
228
  * @memberof StatsAnalyzer
357
229
  * @returns {void}
358
230
  */
359
-
360
231
  }, {
361
232
  key: "sendMqaData",
362
233
  value: function sendMqaData() {
363
- var audioReceiver = _config.default.intervals[0].audioReceive[0];
364
- var audioSender = _config.default.intervals[0].audioTransmit[0];
365
- var videoReceiver = _config.default.intervals[0].videoReceive[0];
366
- var videoSender = _config.default.intervals[0].videoTransmit[0];
367
- var shareSender = _config.default.intervals[0].videoTransmit[1];
368
- var shareReceiver = _config.default.intervals[0].videoReceive[1];
369
- (0, _mqaUtil.getAudioSenderMqa)({
370
- audioSender: audioSender,
371
- statsResults: this.statsResults,
372
- lastMqaDataSent: this.lastMqaDataSent
373
- });
374
- (0, _mqaUtil.getAudioReceiverMqa)({
375
- audioReceiver: audioReceiver,
376
- statsResults: this.statsResults,
377
- lastMqaDataSent: this.lastMqaDataSent
378
- });
379
- (0, _mqaUtil.getVideoReceiverMqa)({
380
- videoReceiver: videoReceiver,
381
- statsResults: this.statsResults,
382
- lastMqaDataSent: this.lastMqaDataSent
383
- });
384
- (0, _mqaUtil.getVideoSenderMqa)({
385
- videoSender: videoSender,
386
- statsResults: this.statsResults,
387
- lastMqaDataSent: this.lastMqaDataSent
388
- }); // Capture mqa for share scenario
389
-
390
- (0, _mqaUtil.getVideoSenderMqa)({
391
- videoSender: shareSender,
392
- statsResults: this.statsResults,
393
- lastMqaDataSent: this.lastMqaDataSent,
394
- isShareStream: true
395
- });
396
- (0, _mqaUtil.getVideoReceiverMqa)({
397
- videoReceiver: shareReceiver,
398
- statsResults: this.statsResults,
399
- lastMqaDataSent: this.lastMqaDataSent,
400
- isShareStream: true
234
+ var _this3 = this;
235
+ var newMqa = (0, _cloneDeep2.default)(_config.emptyMqaInterval);
236
+ (0, _keys.default)(this.statsResults).forEach(function (mediaType) {
237
+ if (mediaType.includes('audio-send') || mediaType.includes('audio-share-send')) {
238
+ var audioSender = (0, _cloneDeep2.default)(_config.emptyAudioTransmit);
239
+ (0, _mqaUtil.getAudioSenderMqa)({
240
+ audioSender: audioSender,
241
+ statsResults: _this3.statsResults,
242
+ lastMqaDataSent: _this3.lastMqaDataSent,
243
+ mediaType: mediaType
244
+ });
245
+ newMqa.audioTransmit.push(audioSender);
246
+ } else if (mediaType.includes('audio-recv') || mediaType.includes('audio-share-recv')) {
247
+ var audioReceiver = (0, _cloneDeep2.default)(_config.emptyAudioReceive);
248
+ (0, _mqaUtil.getAudioReceiverMqa)({
249
+ audioReceiver: audioReceiver,
250
+ statsResults: _this3.statsResults,
251
+ lastMqaDataSent: _this3.lastMqaDataSent,
252
+ mediaType: mediaType
253
+ });
254
+ newMqa.audioReceive.push(audioReceiver);
255
+ } else if (mediaType.includes('video-send') || mediaType.includes('video-share-send')) {
256
+ var videoSender = (0, _cloneDeep2.default)(_config.emptyVideoTransmit);
257
+ (0, _mqaUtil.getVideoSenderMqa)({
258
+ videoSender: videoSender,
259
+ statsResults: _this3.statsResults,
260
+ lastMqaDataSent: _this3.lastMqaDataSent,
261
+ mediaType: mediaType
262
+ });
263
+ newMqa.videoTransmit.push(videoSender);
264
+ } else if (mediaType.includes('video-recv') || mediaType.includes('video-share-recv')) {
265
+ var videoReceiver = (0, _cloneDeep2.default)(_config.emptyVideoReceive);
266
+ (0, _mqaUtil.getVideoReceiverMqa)({
267
+ videoReceiver: videoReceiver,
268
+ statsResults: _this3.statsResults,
269
+ lastMqaDataSent: _this3.lastMqaDataSent,
270
+ mediaType: mediaType
271
+ });
272
+ newMqa.videoReceive.push(videoReceiver);
273
+ }
401
274
  });
402
- _config.default.intervals[0].intervalMetadata.peerReflexiveIP = this.statsResults.connectionType.local.ipAddress[0]; // Adding peripheral information
403
-
404
- _config.default.intervals[0].intervalMetadata.peripherals = [];
275
+ newMqa.intervalMetadata.peerReflexiveIP = this.statsResults.connectionType.local.ipAddress[0];
405
276
 
406
- _config.default.intervals[0].intervalMetadata.peripherals.push({
277
+ // Adding peripheral information
278
+ newMqa.intervalMetadata.peripherals = [];
279
+ newMqa.intervalMetadata.peripherals.push({
407
280
  information: _constants._UNKNOWN_,
408
281
  name: _constants.MEDIA_DEVICES.SPEAKER
409
282
  });
410
-
411
- _config.default.intervals[0].intervalMetadata.peripherals.push({
412
- information: this.statsResults[_constants.STATS.AUDIO_CORRELATE][_constants.STATS.SEND_DIRECTION].trackLabel || _constants._UNKNOWN_,
413
- name: _constants.MEDIA_DEVICES.MICROPHONE
414
- });
415
-
416
- _config.default.intervals[0].intervalMetadata.peripherals.push({
417
- information: this.statsResults[_constants.STATS.VIDEO_CORRELATE][_constants.STATS.SEND_DIRECTION].trackLabel || _constants._UNKNOWN_,
418
- name: _constants.MEDIA_DEVICES.CAMERA
419
- }); // @ts-ignore
420
-
421
-
422
- _config.default.networkType = this.statsResults.connectionType.local.networkType;
283
+ if (this.statsResults['audio-send']) {
284
+ var _this$statsResults$au;
285
+ newMqa.intervalMetadata.peripherals.push({
286
+ information: (_this$statsResults$au = this.statsResults['audio-send']) === null || _this$statsResults$au === void 0 ? void 0 : _this$statsResults$au.trackLabel,
287
+ name: _constants.MEDIA_DEVICES.MICROPHONE
288
+ });
289
+ }
290
+ if (this.statsResults['video-send']) {
291
+ var _this$statsResults$vi;
292
+ newMqa.intervalMetadata.peripherals.push({
293
+ information: (_this$statsResults$vi = this.statsResults['video-send']) === null || _this$statsResults$vi === void 0 ? void 0 : _this$statsResults$vi.trackLabel,
294
+ name: _constants.MEDIA_DEVICES.CAMERA
295
+ });
296
+ }
297
+ newMqa.networkType = this.statsResults.connectionType.local.networkType;
423
298
  this.mqaSentCount += 1;
424
- _config.default.intervals[0].intervalNumber = this.mqaSentCount; // DO Deep copy, for some reason it takes the reference all the time rather then old value set
425
-
426
- this.lastMqaDataSent = (0, _cloneDeep2.default)(this.statsResults);
427
- this.populateResults(_config.default.intervals[0]);
299
+ newMqa.intervalNumber = this.mqaSentCount;
428
300
  this.resetStatsResults();
429
301
  this.emit({
430
302
  file: 'statsAnalyzer',
431
303
  function: 'sendMqaData'
432
304
  }, EVENTS.MEDIA_QUALITY, {
433
- data: _config.default.intervals[0],
305
+ data: newMqa,
434
306
  // @ts-ignore
435
- networkType: _config.default.networkType
307
+ networkType: newMqa.networkType
436
308
  });
437
309
  }
310
+
438
311
  /**
439
312
  * updated the media connection when changed
440
313
  *
441
314
  * @private
442
315
  * @memberof StatsAnalyzer
443
- * @param {MC.RoapMediaConnection} mediaConnection
316
+ * @param {RoapMediaConnection} mediaConnection
444
317
  * @returns {void}
445
318
  */
446
-
447
319
  }, {
448
320
  key: "updateMediaConnection",
449
321
  value: function updateMediaConnection(mediaConnection) {
450
322
  this.mediaConnection = mediaConnection;
451
323
  }
324
+
452
325
  /**
453
326
  * Starts the stats analyzer on interval
454
327
  *
455
328
  * @public
456
329
  * @memberof StatsAnalyzer
457
- * @param {MC.RoapMediaConnection} mediaConnection
330
+ * @param {RoapMediaConnection} mediaConnection
458
331
  * @returns {Promise}
459
332
  */
460
-
461
333
  }, {
462
334
  key: "startAnalyzer",
463
335
  value: function startAnalyzer(mediaConnection) {
464
- var _this2 = this;
465
-
336
+ var _this4 = this;
466
337
  if (!this.statsStarted) {
467
338
  this.statsStarted = true;
468
339
  this.mediaConnection = mediaConnection;
469
340
  return this.getStatsAndParse().then(function () {
470
- _this2.statsInterval = setInterval(function () {
471
- _this2.getStatsAndParse();
472
- }, _this2.config.analyzerInterval); // Trigger initial fetch
473
-
474
- _this2.sendMqaData();
475
-
476
- _this2.mqaInterval = setInterval(function () {
477
- _this2.sendMqaData();
341
+ _this4.statsInterval = setInterval(function () {
342
+ _this4.getStatsAndParse();
343
+ }, _this4.config.analyzerInterval);
344
+ // Trigger initial fetch
345
+ _this4.sendMqaData();
346
+ _this4.mqaInterval = setInterval(function () {
347
+ _this4.sendMqaData();
478
348
  }, _constants.MQA_INTEVAL);
479
349
  });
480
350
  }
481
-
482
351
  return _promise.default.resolve();
483
352
  }
353
+
484
354
  /**
485
355
  * Cleans up the analyzer when done
486
356
  *
@@ -488,35 +358,29 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
488
358
  * @memberof StatsAnalyzer
489
359
  * @returns {void}
490
360
  */
491
-
492
361
  }, {
493
362
  key: "stopAnalyzer",
494
363
  value: function stopAnalyzer() {
495
- var _this3 = this;
496
-
364
+ var _this5 = this;
497
365
  var sendOneLastMqa = this.mqaInterval && this.statsInterval;
498
-
499
366
  if (this.statsInterval) {
500
367
  clearInterval(this.statsInterval);
501
368
  this.statsInterval = undefined;
502
369
  }
503
-
504
370
  if (this.mqaInterval) {
505
371
  clearInterval(this.mqaInterval);
506
372
  this.mqaInterval = undefined;
507
373
  }
508
-
509
374
  if (sendOneLastMqa) {
510
375
  return this.getStatsAndParse().then(function () {
511
- _this3.sendMqaData();
512
-
513
- _this3.mediaConnection = null;
376
+ _this5.sendMqaData();
377
+ _this5.mediaConnection = null;
514
378
  });
515
379
  }
516
-
517
380
  this.mediaConnection = null;
518
381
  return _promise.default.resolve();
519
382
  }
383
+
520
384
  /**
521
385
  * Parse a single result of get stats
522
386
  *
@@ -527,7 +391,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
527
391
  * @returns {void}
528
392
  * @memberof StatsAnalyzer
529
393
  */
530
-
531
394
  }, {
532
395
  key: "parseGetStatsResult",
533
396
  value: function parseGetStatsResult(getStatsResult, type, isSender) {
@@ -535,83 +398,105 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
535
398
  return;
536
399
  }
537
400
 
401
+ // Generate empty stats results
402
+ if (!this.statsResults[type]) {
403
+ this.statsResults[type] = {};
404
+ }
405
+ if (isSender && !this.statsResults[type].send) {
406
+ this.statsResults[type].send = (0, _cloneDeep2.default)(emptySender);
407
+ } else if (!isSender && !this.statsResults[type].recv) {
408
+ this.statsResults[type].recv = (0, _cloneDeep2.default)(emptyReceiver);
409
+ }
410
+ if (!this.statsResults.resolutions[type]) {
411
+ this.statsResults.resolutions[type] = {};
412
+ }
413
+ if (isSender && !this.statsResults.resolutions[type].send) {
414
+ this.statsResults.resolutions[type].send = (0, _cloneDeep2.default)(emptySender);
415
+ } else if (!isSender && !this.statsResults.resolutions[type].recv) {
416
+ this.statsResults.resolutions[type].recv = (0, _cloneDeep2.default)(emptyReceiver);
417
+ }
418
+ if (!this.statsResults.internal[type]) {
419
+ this.statsResults.internal[type] = {};
420
+ }
421
+ if (isSender && !this.statsResults.internal[type].send) {
422
+ this.statsResults.internal[type].send = (0, _cloneDeep2.default)(emptySender);
423
+ } else if (!isSender && !this.statsResults.internal[type].recv) {
424
+ this.statsResults.internal[type].recv = (0, _cloneDeep2.default)(emptyReceiver);
425
+ }
538
426
  switch (getStatsResult.type) {
539
427
  case 'outbound-rtp':
540
428
  this.processOutboundRTPResult(getStatsResult, type);
541
429
  break;
542
-
543
430
  case 'inbound-rtp':
544
431
  this.processInboundRTPResult(getStatsResult, type);
545
432
  break;
546
-
547
433
  case 'track':
548
434
  this.processTrackResult(getStatsResult, type);
549
435
  break;
550
-
551
436
  case 'remote-inbound-rtp':
552
437
  case 'remote-outbound-rtp':
553
438
  // @ts-ignore
554
439
  this.compareSentAndReceived(getStatsResult, type, isSender);
555
440
  break;
556
-
557
441
  case 'remotecandidate':
558
442
  case 'remote-candidate':
559
443
  this.parseCandidate(getStatsResult, type, isSender, true);
560
444
  break;
561
-
562
445
  case 'local-candidate':
563
446
  this.parseCandidate(getStatsResult, type, isSender, false);
564
447
  break;
565
-
566
448
  case 'media-source':
567
449
  // @ts-ignore
568
450
  this.parseAudioSource(getStatsResult, type);
569
451
  break;
570
-
571
452
  default:
572
453
  break;
573
454
  }
574
455
  }
456
+
575
457
  /**
576
458
  * Filters the get stats results for types
577
459
  * @private
578
- * @param {Array} getStatsResults
460
+ * @param {Array} statsItem
579
461
  * @param {String} type
580
462
  * @param {boolean} isSender
581
463
  * @returns {void}
582
464
  */
583
-
584
465
  }, {
585
466
  key: "filterAndParseGetStatsResults",
586
- value: function filterAndParseGetStatsResults(getStatsResults, type, isSender) {
587
- var _this4 = this;
588
-
467
+ value: function filterAndParseGetStatsResults(statsItem, type, isSender) {
468
+ var _this6 = this;
589
469
  var types = _constants.DEFAULT_GET_STATS_FILTER.types;
590
- getStatsResults.forEach(function (result) {
470
+ statsItem.report.forEach(function (result) {
591
471
  if (types.includes(result.type)) {
592
- _this4.parseGetStatsResult(result, type, isSender);
472
+ _this6.parseGetStatsResult(result, type, isSender);
593
473
  }
594
474
  });
475
+ if (this.statsResults[type]) {
476
+ this.statsResults[type].direction = statsItem.currentDirection;
477
+ this.statsResults[type].trackLabel = statsItem.localTrackLabel;
478
+ this.statsResults[type].csi = statsItem.csi;
479
+ }
595
480
  }
481
+
596
482
  /**
597
483
  * parse the audio
598
484
  * @param {String} result
599
485
  * @param {boolean} type
600
486
  * @returns {void}
601
487
  */
602
-
603
488
  }, {
604
489
  key: "parseAudioSource",
605
490
  value: function parseAudioSource(result, type) {
606
491
  if (!result) {
607
492
  return;
608
493
  }
609
-
610
- if (type === _constants.STATS.AUDIO_CORRELATE) {
494
+ if (type.includes('audio-send')) {
611
495
  this.statsResults[type].send.audioLevel = result.audioLevel;
612
496
  this.statsResults[type].send.totalAudioEnergy = result.totalAudioEnergy;
613
497
  }
614
498
  }
499
+
615
500
  /**
616
501
  * emits started/stopped events for local/remote media by checking
617
502
  * if given values are increasing or not. The previousValue, currentValue
@@ -626,7 +511,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
626
511
  * @memberof StatsAnalyzer
627
512
  * @returns {void}
628
513
  */
629
-
630
514
  }, {
631
515
  key: "compareLastStatsResult",
632
516
  value:
@@ -638,136 +522,159 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
638
522
  * @returns {void}
639
523
  */
640
524
  function compareLastStatsResult() {
525
+ var _this7 = this;
641
526
  if (this.lastStatsResults !== null && this.meetingMediaStatus) {
642
- // compare audio stats sent
643
- var mediaType = _constants.STATS.AUDIO_CORRELATE;
644
- var currentStats = null;
645
- var previousStats = null;
646
-
647
- if (this.meetingMediaStatus.expected.sendAudio) {
648
- currentStats = this.statsResults[mediaType].send;
649
- previousStats = this.lastStatsResults[mediaType].send;
650
-
527
+ var getCurrentStatsTotals = function getCurrentStatsTotals(keyPrefix, value) {
528
+ return (0, _keys.default)(_this7.statsResults).filter(function (key) {
529
+ return key.startsWith(keyPrefix);
530
+ }).reduce(function (prev, cur) {
531
+ var _this7$statsResults$c;
532
+ return prev + (((_this7$statsResults$c = _this7.statsResults[cur]) === null || _this7$statsResults$c === void 0 ? void 0 : _this7$statsResults$c.recv[value]) || 0);
533
+ }, 0);
534
+ };
535
+ var getPreviousStatsTotals = function getPreviousStatsTotals(keyPrefix, value) {
536
+ return (0, _keys.default)(_this7.statsResults).filter(function (key) {
537
+ return key.startsWith(keyPrefix);
538
+ }).reduce(function (prev, cur) {
539
+ var _this7$lastStatsResul;
540
+ return prev + (((_this7$lastStatsResul = _this7.lastStatsResults[cur]) === null || _this7$lastStatsResul === void 0 ? void 0 : _this7$lastStatsResul.recv[value]) || 0);
541
+ }, 0);
542
+ };
543
+ var getCurrentResolutionsStatsTotals = function getCurrentResolutionsStatsTotals(keyPrefix, value) {
544
+ return (0, _keys.default)(_this7.statsResults).filter(function (key) {
545
+ return key.startsWith(keyPrefix);
546
+ }).reduce(function (prev, cur) {
547
+ var _this7$statsResults$r;
548
+ return prev + (((_this7$statsResults$r = _this7.statsResults.resolutions[cur]) === null || _this7$statsResults$r === void 0 ? void 0 : _this7$statsResults$r.recv[value]) || 0);
549
+ }, 0);
550
+ };
551
+ var getPreviousResolutionsStatsTotals = function getPreviousResolutionsStatsTotals(keyPrefix, value) {
552
+ return (0, _keys.default)(_this7.statsResults).filter(function (key) {
553
+ return key.startsWith(keyPrefix);
554
+ }).reduce(function (prev, cur) {
555
+ var _this7$lastStatsResul2;
556
+ return prev + (((_this7$lastStatsResul2 = _this7.lastStatsResults.resolutions[cur]) === null || _this7$lastStatsResul2 === void 0 ? void 0 : _this7$lastStatsResul2.recv[value]) || 0);
557
+ }, 0);
558
+ };
559
+ if (this.meetingMediaStatus.expected.sendAudio && this.lastStatsResults['audio-send']) {
560
+ // compare audio stats sent
561
+ // NOTE: relies on there being only one sender.
562
+ var currentStats = this.statsResults['audio-send'].send;
563
+ var previousStats = this.lastStatsResults['audio-send'].send;
651
564
  if (currentStats.totalPacketsSent === previousStats.totalPacketsSent || currentStats.totalPacketsSent === 0) {
652
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets sent"));
565
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No audio RTP packets sent");
653
566
  } else {
654
567
  if (currentStats.totalAudioEnergy === previousStats.totalAudioEnergy || currentStats.totalAudioEnergy === 0) {
655
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " Energy present"));
568
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No audio Energy present");
656
569
  }
657
-
658
570
  if (currentStats.audioLevel === 0) {
659
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> ".concat(mediaType, " level is 0 for the user"));
571
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> audio level is 0 for the user");
660
572
  }
661
573
  }
662
-
663
- this.emitStartStopEvents(mediaType, previousStats.totalPacketsSent, currentStats.totalPacketsSent, true);
574
+ this.emitStartStopEvents('audio', previousStats.totalPacketsSent, currentStats.totalPacketsSent, true);
664
575
  }
665
-
666
576
  if (this.meetingMediaStatus.expected.receiveAudio) {
667
577
  // compare audio stats received
668
- currentStats = this.statsResults[mediaType].recv;
669
- previousStats = this.lastStatsResults[mediaType].recv;
670
-
671
- if (currentStats.totalPacketsReceived === previousStats.totalPacketsReceived || currentStats.totalPacketsReceived === 0) {
672
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets received"));
673
- } else if (currentStats.totalSamplesReceived === previousStats.totalSamplesReceived || currentStats.totalSamplesReceived === 0) {
674
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " samples received"));
578
+ var currentPacketsReceived = getCurrentStatsTotals('audio-recv', 'totalPacketsReceived');
579
+ var previousPacketsReceived = getPreviousStatsTotals('audio-recv', 'totalPacketsReceived');
580
+ var currentSamplesReceived = getCurrentStatsTotals('audio-recv', 'totalSamplesReceived');
581
+ var previousSamplesReceived = getPreviousStatsTotals('audio-recv', 'totalSamplesReceived');
582
+ if (currentPacketsReceived === previousPacketsReceived || currentPacketsReceived === 0) {
583
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No audio RTP packets received");
584
+ } else if (currentSamplesReceived === previousSamplesReceived || currentSamplesReceived === 0) {
585
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No audio samples received");
675
586
  }
676
-
677
- this.emitStartStopEvents(mediaType, previousStats.totalPacketsReceived, currentStats.totalPacketsReceived, false);
587
+ this.emitStartStopEvents('audio', previousPacketsReceived, currentPacketsReceived, false);
678
588
  }
679
-
680
- mediaType = _constants.STATS.VIDEO_CORRELATE;
681
-
682
- if (this.meetingMediaStatus.expected.sendVideo) {
589
+ if (this.meetingMediaStatus.expected.sendVideo && this.lastStatsResults['video-send']) {
683
590
  // compare video stats sent
684
- currentStats = this.statsResults[mediaType].send;
685
- previousStats = this.lastStatsResults[mediaType].send;
686
-
687
- if (currentStats.totalPacketsSent === previousStats.totalPacketsSent || currentStats.totalPacketsSent === 0) {
688
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets sent"));
591
+ var _currentStats = this.statsResults['video-send'].send;
592
+ var _previousStats = this.lastStatsResults['video-send'].send;
593
+ if (_currentStats.totalPacketsSent === _previousStats.totalPacketsSent || _currentStats.totalPacketsSent === 0) {
594
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video RTP packets sent");
689
595
  } else {
690
- if (currentStats.framesEncoded === previousStats.framesEncoded || currentStats.framesEncoded === 0) {
691
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " Frames Encoded"));
596
+ if (_currentStats.framesEncoded === _previousStats.framesEncoded || _currentStats.framesEncoded === 0) {
597
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video Frames Encoded");
692
598
  }
693
-
694
- if (this.statsResults.resolutions[mediaType].send.framesSent === this.lastStatsResults.resolutions[mediaType].send.framesSent || this.statsResults.resolutions[mediaType].send.framesSent === 0) {
695
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " Frames sent"));
599
+ if (this.statsResults.resolutions['video-send'].send.framesSent === this.lastStatsResults.resolutions['video-send'].send.framesSent || this.statsResults.resolutions['video-send'].send.framesSent === 0) {
600
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video Frames sent");
696
601
  }
697
602
  }
698
-
699
- this.emitStartStopEvents(mediaType, previousStats.framesSent, currentStats.framesSent, true);
603
+ this.emitStartStopEvents('video', _previousStats.framesSent, _currentStats.framesSent, true);
700
604
  }
701
-
702
605
  if (this.meetingMediaStatus.expected.receiveVideo) {
703
- // compare video stats reveived
704
- currentStats = this.statsResults[mediaType].recv;
705
- previousStats = this.lastStatsResults[mediaType].recv;
706
-
707
- if (currentStats.totalPacketsReceived === previousStats.totalPacketsReceived || currentStats.totalPacketsReceived === 0) {
708
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets received"));
606
+ // compare video stats received
607
+ var _currentPacketsReceived = getCurrentStatsTotals('video-recv', 'totalPacketsReceived');
608
+ var _previousPacketsReceived = getPreviousStatsTotals('video-recv', 'totalPacketsReceived');
609
+ var currentFramesReceived = getCurrentResolutionsStatsTotals('video-recv', 'framesReceived');
610
+ var previousFramesReceived = getPreviousResolutionsStatsTotals('video-recv', 'framesReceived');
611
+ var currentFramesDecoded = getCurrentStatsTotals('video-recv', 'framesDecoded');
612
+ var previousFramesDecoded = getPreviousStatsTotals('video-recv', 'framesDecoded');
613
+ var currentFramesDropped = getCurrentResolutionsStatsTotals('video-recv', 'framesDropped');
614
+ var previousFramesDropped = getPreviousResolutionsStatsTotals('video-recv', 'framesDropped');
615
+ if (_currentPacketsReceived === _previousPacketsReceived || _currentPacketsReceived === 0) {
616
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video RTP packets received");
709
617
  } else {
710
- if (this.statsResults.resolutions[mediaType].recv.framesReceived === this.lastStatsResults.resolutions[mediaType].recv.framesReceived || this.statsResults.resolutions[mediaType].recv.framesReceived === 0) {
711
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames received"));
618
+ if (currentFramesReceived === previousFramesReceived || currentFramesReceived === 0) {
619
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video frames received");
712
620
  }
713
-
714
- if (this.statsResults[mediaType].recv.framesDecoded === this.lastStatsResults[mediaType].recv.framesDecoded || this.statsResults.resolutions[mediaType].send.framesDecoded === 0) {
715
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames decoded"));
621
+ if (currentFramesDecoded === previousFramesDecoded || currentFramesDecoded === 0) {
622
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video frames decoded");
716
623
  }
717
-
718
- if (this.statsResults.resolutions[mediaType].recv.framesDropped - this.lastStatsResults.resolutions[mediaType].recv.framesDropped > 10) {
719
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> ".concat(mediaType, " frames are getting dropped"));
624
+ if (currentFramesDropped - previousFramesDropped > 10) {
625
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> video frames are getting dropped");
720
626
  }
721
627
  }
722
-
723
- this.emitStartStopEvents(mediaType, previousStats.framesDecoded, currentStats.framesDecoded, false);
628
+ this.emitStartStopEvents('video', previousFramesDecoded, currentFramesDecoded, false);
724
629
  }
725
-
726
- mediaType = _constants.STATS.SHARE_CORRELATE;
727
-
728
- if (this.meetingMediaStatus.expected.sendShare) {
630
+ if (this.meetingMediaStatus.expected.sendShare && this.lastStatsResults['video-share-send']) {
729
631
  // compare share stats sent
730
- currentStats = this.statsResults[mediaType].send;
731
- previousStats = this.lastStatsResults[mediaType].send;
732
632
 
733
- if (currentStats.totalPacketsSent === previousStats.totalPacketsSent || currentStats.totalPacketsSent === 0) {
734
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets sent"));
633
+ var _currentStats2 = this.statsResults['video-share-send'].send;
634
+ var _previousStats2 = this.lastStatsResults['video-share-send'].send;
635
+ if (_currentStats2.totalPacketsSent === _previousStats2.totalPacketsSent || _currentStats2.totalPacketsSent === 0) {
636
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets sent");
735
637
  } else {
736
- if (currentStats.framesEncoded === previousStats.framesEncoded || currentStats.framesEncoded === 0) {
737
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames getting encoded"));
638
+ if (_currentStats2.framesEncoded === _previousStats2.framesEncoded || _currentStats2.framesEncoded === 0) {
639
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames getting encoded");
738
640
  }
739
-
740
- if (this.statsResults.resolutions[mediaType].send.framesSent === this.lastStatsResults.resolutions[mediaType].send.framesSent || this.statsResults.resolutions[mediaType].send.framesSent === 0) {
741
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames sent"));
641
+ if (this.statsResults.resolutions['video-share-send'].send.framesSent === this.lastStatsResults.resolutions['video-share-send'].send.framesSent || this.statsResults.resolutions['video-share-send'].send.framesSent === 0) {
642
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames sent");
742
643
  }
743
- } // TODO:need to check receive share value
744
- // compare share stats reveived
745
-
746
-
747
- currentStats = this.statsResults[mediaType].recv;
748
- previousStats = this.lastStatsResults[mediaType].recv;
749
-
750
- if (currentStats.totalPacketsReceived === previousStats.totalPacketsReceived || currentStats.totalPacketsSent === 0) {
751
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets received"));
644
+ }
645
+ }
646
+ if (this.meetingMediaStatus.expected.sendShare) {
647
+ // TODO:need to check receive share value
648
+ // compare share stats received
649
+ var _currentPacketsReceived2 = getCurrentStatsTotals('video-share-recv', 'totalPacketsReceived');
650
+ var _previousPacketsReceived2 = getPreviousStatsTotals('video-share-recv', 'totalPacketsReceived');
651
+ var _currentFramesReceived = getCurrentResolutionsStatsTotals('video-share-recv', 'framesReceived');
652
+ var _previousFramesReceived = getPreviousResolutionsStatsTotals('video-share-recv', 'framesReceived');
653
+ var _currentFramesDecoded = getCurrentStatsTotals('video-share-recv', 'framesDecoded');
654
+ var _previousFramesDecoded = getPreviousStatsTotals('video-share-recv', 'framesDecoded');
655
+ var _currentFramesDropped = getCurrentResolutionsStatsTotals('video-share-recv', 'framesDropped');
656
+ var _previousFramesDropped = getPreviousResolutionsStatsTotals('video-share-recv', 'framesDropped');
657
+ if (_currentPacketsReceived2 === _previousPacketsReceived2 || _currentPacketsReceived2 === 0) {
658
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets received");
752
659
  } else {
753
- if (this.statsResults.resolutions[mediaType].recv.framesReceived === this.lastStatsResults.resolutions[mediaType].recv.framesReceived || this.statsResults.resolutions[mediaType].recv.framesReceived === 0) {
754
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames received"));
660
+ if (_currentFramesReceived === _previousFramesReceived || _currentFramesReceived === 0) {
661
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames received");
755
662
  }
756
-
757
- if (this.statsResults[mediaType].recv.framesDecoded === this.lastStatsResults[mediaType].recv.framesDecoded || this.statsResults.resolutions[mediaType].send.framesDecoded === 0) {
758
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames decoded"));
663
+ if (_currentFramesDecoded === _previousFramesDecoded || _currentFramesDecoded === 0) {
664
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames decoded");
759
665
  }
760
-
761
- if (this.statsResults.resolutions[mediaType].recv.framesDropped - this.lastStatsResults.resolutions[mediaType].recv.framesDropped > 10) {
762
- _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> ".concat(mediaType, " frames are getting dropped"));
666
+ if (_currentFramesDropped - _previousFramesDropped > 10) {
667
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> share frames are getting dropped");
763
668
  }
764
- } // we are not calling emitStartStopEvents() for sending or receiving share because sharing is often started and stopped
669
+ }
670
+
671
+ // we are not calling emitStartStopEvents() for sending or receiving share because sharing is often started and stopped
765
672
  // in meetings and this.meetingMediaStatus.expected values can be out of sync with the actual packet flow
766
673
  // so we would send "sharing stopped" events incorrectly
767
-
768
674
  }
769
675
  }
770
676
  }
677
+
771
678
  /**
772
679
  * Does a `getStats` on all the transceivers and parses the results
773
680
  *
@@ -775,82 +682,92 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
775
682
  * @memberof StatsAnalyzer
776
683
  * @returns {Promise}
777
684
  */
778
-
779
685
  }, {
780
686
  key: "getStatsAndParse",
781
687
  value: function getStatsAndParse() {
782
- var _this5 = this;
783
-
688
+ var _this8 = this;
784
689
  if (!this.mediaConnection) {
785
690
  return _promise.default.resolve();
786
691
  }
787
-
788
- if (this.mediaConnection && this.mediaConnection.getConnectionState() === _internalMediaCore.MediaConnection.ConnectionState.Failed) {
692
+ if (this.mediaConnection && this.mediaConnection.getConnectionState() === _internalMediaCore.ConnectionState.Failed) {
789
693
  _loggerProxy.default.logger.trace('StatsAnalyzer:index#getStatsAndParse --> media connection is in failed state');
790
-
791
694
  return _promise.default.resolve();
792
695
  }
793
-
794
696
  _loggerProxy.default.logger.trace('StatsAnalyzer:index#getStatsAndParse --> Collecting Stats');
795
-
796
697
  return this.mediaConnection.getTransceiverStats().then(function (transceiverStats) {
797
- _this5.filterAndParseGetStatsResults(transceiverStats.video.sender, _constants.STATS.VIDEO_CORRELATE, true);
798
-
799
- _this5.filterAndParseGetStatsResults(transceiverStats.video.receiver, _constants.STATS.VIDEO_CORRELATE, false);
800
-
801
- _this5.filterAndParseGetStatsResults(transceiverStats.audio.sender, _constants.STATS.AUDIO_CORRELATE, true);
802
-
803
- _this5.filterAndParseGetStatsResults(transceiverStats.audio.receiver, _constants.STATS.AUDIO_CORRELATE, false);
804
-
805
- _this5.filterAndParseGetStatsResults(transceiverStats.screenShareVideo.sender, _constants.STATS.SHARE_CORRELATE, true);
806
-
807
- _this5.filterAndParseGetStatsResults(transceiverStats.screenShareVideo.receiver, _constants.STATS.SHARE_CORRELATE, false); // updates the current direction of media
808
-
809
-
810
- _this5.statsResults[_constants.STATS.AUDIO_CORRELATE].direction = transceiverStats.audio.currentDirection;
811
- _this5.statsResults[_constants.STATS.VIDEO_CORRELATE].direction = transceiverStats.video.currentDirection;
812
- _this5.statsResults[_constants.STATS.SHARE_CORRELATE].direction = transceiverStats.screenShareVideo.currentDirection;
813
- _this5.statsResults[_constants.STATS.AUDIO_CORRELATE][_constants.STATS.SEND_DIRECTION].trackLabel = transceiverStats.audio.localTrackLabel;
814
- _this5.statsResults[_constants.STATS.VIDEO_CORRELATE][_constants.STATS.SEND_DIRECTION].trackLabel = transceiverStats.video.localTrackLabel;
698
+ transceiverStats.video.receivers.forEach(function (receiver, i) {
699
+ return _this8.filterAndParseGetStatsResults(receiver, "video-recv-".concat(i), false);
700
+ });
701
+ transceiverStats.audio.receivers.forEach(function (receiver, i) {
702
+ return _this8.filterAndParseGetStatsResults(receiver, "audio-recv-".concat(i), false);
703
+ });
704
+ transceiverStats.screenShareVideo.receivers.forEach(function (receiver, i) {
705
+ return _this8.filterAndParseGetStatsResults(receiver, "video-share-recv-".concat(i), false);
706
+ });
707
+ transceiverStats.screenShareAudio.receivers.forEach(function (receiver, i) {
708
+ return _this8.filterAndParseGetStatsResults(receiver, "audio-share-recv-".concat(i), false);
709
+ });
710
+ transceiverStats.video.senders.forEach(function (sender, i) {
711
+ if (i > 0) {
712
+ throw new Error('Stats Analyzer does not support multiple senders.');
713
+ }
714
+ _this8.filterAndParseGetStatsResults(sender, 'video-send', true);
715
+ });
716
+ transceiverStats.audio.senders.forEach(function (sender, i) {
717
+ if (i > 0) {
718
+ throw new Error('Stats Analyzer does not support multiple senders.');
719
+ }
720
+ _this8.filterAndParseGetStatsResults(sender, 'audio-send', true);
721
+ });
722
+ transceiverStats.screenShareVideo.senders.forEach(function (sender, i) {
723
+ if (i > 0) {
724
+ throw new Error('Stats Analyzer does not support multiple senders.');
725
+ }
726
+ _this8.filterAndParseGetStatsResults(sender, 'video-share-send', true);
727
+ });
728
+ transceiverStats.screenShareAudio.senders.forEach(function (sender, i) {
729
+ if (i > 0) {
730
+ throw new Error('Stats Analyzer does not support multiple senders.');
731
+ }
732
+ _this8.filterAndParseGetStatsResults(sender, 'audio-share-send', true);
733
+ });
734
+ _this8.compareLastStatsResult();
815
735
 
816
- _this5.compareLastStatsResult(); // Save the last results to compare with the current
736
+ // Save the last results to compare with the current
817
737
  // DO Deep copy, for some reason it takes the reference all the time rather then old value set
818
-
819
-
820
- _this5.lastStatsResults = JSON.parse((0, _stringify.default)(_this5.statsResults));
821
-
738
+ _this8.lastStatsResults = JSON.parse((0, _stringify.default)(_this8.statsResults));
822
739
  _loggerProxy.default.logger.trace('StatsAnalyzer:index#getStatsAndParse --> Finished Collecting Stats');
823
740
  });
824
741
  }
742
+
825
743
  /**
826
744
  * Processes OutboundRTP stats result and stores
827
745
  * @private
828
746
  * @param {*} result
829
- * @param {*} type
747
+ * @param {*} mediaType
830
748
  * @returns {void}
831
749
  */
832
-
833
750
  }, {
834
751
  key: "processOutboundRTPResult",
835
- value: function processOutboundRTPResult(result, type) {
836
- var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
752
+ value: function processOutboundRTPResult(result, mediaType) {
837
753
  var sendrecvType = _constants.STATS.SEND_DIRECTION;
838
-
839
754
  if (result.bytesSent) {
840
755
  var kilobytes = 0;
841
-
756
+ if (result.frameWidth && result.frameHeight) {
757
+ this.statsResults.resolutions[mediaType][sendrecvType].width = result.frameWidth;
758
+ this.statsResults.resolutions[mediaType][sendrecvType].height = result.frameHeight;
759
+ this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
760
+ this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
761
+ }
842
762
  if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesSent) {
843
763
  this.statsResults.internal[mediaType][sendrecvType].prevBytesSent = result.bytesSent;
844
764
  }
845
-
846
765
  if (!this.statsResults.internal[mediaType][sendrecvType].framesEncoded) {
847
766
  this.statsResults.internal[mediaType][sendrecvType].framesEncoded = result.framesEncoded;
848
767
  }
849
-
850
768
  if (!this.statsResults.internal[mediaType][sendrecvType].keyFramesEncoded) {
851
769
  this.statsResults.internal[mediaType][sendrecvType].keyFramesEncoded = result.keyFramesEncoded;
852
770
  }
853
-
854
771
  var bytes = result.bytesSent - this.statsResults.internal[mediaType][sendrecvType].prevBytesSent;
855
772
  this.statsResults.internal[mediaType][sendrecvType].prevBytesSent = result.bytesSent;
856
773
  kilobytes = bytes / 1024;
@@ -859,13 +776,13 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
859
776
  this.statsResults[mediaType][sendrecvType].framesEncoded = result.framesEncoded - this.statsResults.internal[mediaType][sendrecvType].framesEncoded;
860
777
  this.statsResults[mediaType][sendrecvType].keyFramesEncoded = result.keyFramesEncoded - this.statsResults.internal[mediaType][sendrecvType].keyFramesEncoded;
861
778
  this.statsResults.internal[mediaType].outboundRtpId = result.id;
862
-
863
779
  if (!this.statsResults.internal[mediaType][sendrecvType].packetsSent) {
864
780
  this.statsResults.internal[mediaType][sendrecvType].packetsSent = result.packetsSent;
865
781
  }
866
-
867
782
  this.statsResults[mediaType][sendrecvType].packetsSent = result.packetsSent - this.statsResults.internal[mediaType][sendrecvType].packetsSent;
868
- this.statsResults.internal[mediaType][sendrecvType].packetsSent = result.packetsSent; // Data saved to send MQA metrics
783
+ this.statsResults.internal[mediaType][sendrecvType].packetsSent = result.packetsSent;
784
+
785
+ // Data saved to send MQA metrics
869
786
 
870
787
  this.statsResults[mediaType][sendrecvType].totalKeyFramesEncoded = result.keyFramesEncoded;
871
788
  this.statsResults[mediaType][sendrecvType].totalNackCount = result.nackCount;
@@ -883,43 +800,40 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
883
800
  this.statsResults[mediaType][sendrecvType].retransmittedBytesSent = result.retransmittedBytesSent;
884
801
  }
885
802
  }
803
+
886
804
  /**
887
805
  * Processes InboundRTP stats result and stores
888
806
  * @private
889
807
  * @param {*} result
890
- * @param {*} type
808
+ * @param {*} mediaType
891
809
  * @returns {void}
892
810
  */
893
-
894
811
  }, {
895
812
  key: "processInboundRTPResult",
896
- value: function processInboundRTPResult(result, type) {
897
- var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
813
+ value: function processInboundRTPResult(result, mediaType) {
898
814
  var sendrecvType = _constants.STATS.RECEIVE_DIRECTION;
899
-
900
815
  if (result.bytesReceived) {
901
816
  var kilobytes = 0;
902
-
817
+ if (result.frameWidth && result.frameHeight) {
818
+ this.statsResults.resolutions[mediaType][sendrecvType].width = result.frameWidth;
819
+ this.statsResults.resolutions[mediaType][sendrecvType].height = result.frameHeight;
820
+ this.statsResults.resolutions[mediaType][sendrecvType].framesReceived = result.framesReceived;
821
+ }
903
822
  if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived) {
904
823
  this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived = result.bytesReceived;
905
824
  }
906
-
907
825
  if (!this.statsResults.internal[mediaType][sendrecvType].pliCount) {
908
826
  this.statsResults.internal[mediaType][sendrecvType].pliCount = result.pliCount;
909
827
  }
910
-
911
828
  if (!this.statsResults.internal[mediaType][sendrecvType].packetsLost) {
912
829
  this.statsResults.internal[mediaType][sendrecvType].packetsLost = result.packetsLost;
913
830
  }
914
-
915
831
  if (!this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived) {
916
832
  this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived = result.packetsReceived;
917
833
  }
918
-
919
834
  if (!this.statsResults.internal[mediaType][sendrecvType].lastPacketReceivedTimestamp) {
920
835
  this.statsResults.internal[mediaType][sendrecvType].lastPacketReceivedTimestamp = result.lastPacketReceivedTimestamp;
921
836
  }
922
-
923
837
  var bytes = result.bytesReceived - this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived;
924
838
  this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived = result.bytesReceived;
925
839
  kilobytes = bytes / 1024;
@@ -927,34 +841,31 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
927
841
  this.statsResults[mediaType].bytesReceived = kilobytes.toFixed(1);
928
842
  this.statsResults[mediaType][sendrecvType].pliCount = result.pliCount - this.statsResults.internal[mediaType][sendrecvType].pliCount;
929
843
  this.statsResults[mediaType][sendrecvType].currentPacketsLost = result.packetsLost - this.statsResults.internal[mediaType][sendrecvType].packetsLost;
930
-
931
844
  if (this.statsResults[mediaType][sendrecvType].currentPacketsLost < 0) {
932
845
  this.statsResults[mediaType][sendrecvType].currentPacketsLost = 0;
933
846
  }
934
-
935
847
  this.statsResults[mediaType][sendrecvType].packetsReceived = result.packetsReceived - this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived;
936
848
  this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived = result.packetsReceived;
937
-
938
849
  if (this.statsResults[mediaType][sendrecvType].packetsReceived === 0) {
939
850
  _loggerProxy.default.logger.info("StatsAnalyzer:index#processInboundRTPResult --> No packets received for ".concat(mediaType, " "), this.statsResults[mediaType][sendrecvType].packetsReceived);
940
- } // Check the over all packet Lost ratio
941
-
851
+ }
942
852
 
853
+ // Check the over all packet Lost ratio
943
854
  this.statsResults[mediaType][sendrecvType].currentPacketLossRatio = this.statsResults[mediaType][sendrecvType].currentPacketsLost > 0 ? this.statsResults[mediaType][sendrecvType].currentPacketsLost / (this.statsResults[mediaType][sendrecvType].packetsReceived + this.statsResults[mediaType][sendrecvType].currentPacketsLost) : 0;
944
-
945
855
  if (this.statsResults[mediaType][sendrecvType].currentPacketLossRatio > 3) {
946
856
  _loggerProxy.default.logger.info('StatsAnalyzer:index#processInboundRTPResult --> Packets getting lost from the receiver ', this.statsResults[mediaType][sendrecvType].currentPacketLossRatio);
947
- } // TODO: check the packet loss value is negative values here
857
+ }
948
858
 
859
+ // TODO: check the packet loss value is negative values here
949
860
 
950
861
  if (result.packetsLost) {
951
862
  this.statsResults[mediaType][sendrecvType].totalPacketsLost = result.packetsLost > 0 ? result.packetsLost : -result.packetsLost;
952
863
  } else {
953
864
  this.statsResults[mediaType][sendrecvType].totalPacketsLost = 0;
954
865
  }
866
+ this.statsResults[mediaType][sendrecvType].lastPacketReceivedTimestamp = result.lastPacketReceivedTimestamp;
955
867
 
956
- this.statsResults[mediaType][sendrecvType].lastPacketReceivedTimestamp = result.lastPacketReceivedTimestamp; // From Thin
957
-
868
+ // From Thin
958
869
  this.statsResults[mediaType][sendrecvType].totalNackCount = result.nackCount;
959
870
  this.statsResults[mediaType][sendrecvType].totalPliCount = result.pliCount;
960
871
  this.statsResults[mediaType][sendrecvType].framesDecoded = result.framesDecoded;
@@ -965,7 +876,9 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
965
876
  this.statsResults[mediaType][sendrecvType].fecPacketsReceived = result.fecPacketsReceived;
966
877
  this.statsResults[mediaType][sendrecvType].totalBytesReceived = result.bytesReceived;
967
878
  this.statsResults[mediaType][sendrecvType].headerBytesReceived = result.headerBytesReceived;
968
- this.statsResults[mediaType][sendrecvType].meanRtpJitter.push(result.jitter); // Audio stats
879
+ this.statsResults[mediaType][sendrecvType].meanRtpJitter.push(result.jitter);
880
+
881
+ // Audio stats
969
882
 
970
883
  this.statsResults[mediaType][sendrecvType].audioLevel = result.audioLevel;
971
884
  this.statsResults[mediaType][sendrecvType].totalAudioEnergy = result.totalAudioEnergy;
@@ -974,6 +887,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
974
887
  this.statsResults[mediaType][sendrecvType].concealedSamples = result.concealedSamples || 0;
975
888
  }
976
889
  }
890
+
977
891
  /**
978
892
  * Processes remote and local candidate result and stores
979
893
  * @private
@@ -984,7 +898,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
984
898
  *
985
899
  * @returns {void}
986
900
  */
987
-
988
901
  }, {
989
902
  key: "processTrackResult",
990
903
  value:
@@ -1001,33 +914,24 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
1001
914
  if (!result || result.type !== 'track') {
1002
915
  return;
1003
916
  }
1004
-
1005
- if (result.type !== 'track') return;
1006
917
  var sendrecvType = result.remoteSource === true ? _constants.STATS.RECEIVE_DIRECTION : _constants.STATS.SEND_DIRECTION;
1007
-
1008
- if (result.frameWidth && result.frameHeight) {
1009
- this.statsResults.resolutions[mediaType][sendrecvType].width = result.frameWidth;
1010
- this.statsResults.resolutions[mediaType][sendrecvType].height = result.frameHeight;
1011
- this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
1012
- this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
1013
- }
1014
-
1015
918
  if (sendrecvType === _constants.STATS.RECEIVE_DIRECTION) {
1016
919
  this.statsResults.resolutions[mediaType][sendrecvType].framesReceived = result.framesReceived;
1017
920
  this.statsResults.resolutions[mediaType][sendrecvType].framesDecoded = result.framesDecoded;
1018
921
  this.statsResults.resolutions[mediaType][sendrecvType].framesDropped = result.framesDropped;
1019
922
  }
1020
-
1021
- if (result.trackIdentifier && mediaType !== _constants.STATS.AUDIO_CORRELATE) {
923
+ if (result.trackIdentifier && !mediaType.includes('audio')) {
1022
924
  this.statsResults.resolutions[mediaType][sendrecvType].trackIdentifier = result.trackIdentifier;
1023
925
  var jitterBufferDelay = result && result.jitterBufferDelay;
1024
926
  var jitterBufferEmittedCount = result && result.jitterBufferEmittedCount;
1025
- this.statsResults.resolutions[mediaType][sendrecvType].avgJitterDelay = jitterBufferEmittedCount && +jitterBufferDelay / +jitterBufferEmittedCount; // Used to calculate the jitter
927
+ this.statsResults.resolutions[mediaType][sendrecvType].avgJitterDelay = jitterBufferEmittedCount && +jitterBufferDelay / +jitterBufferEmittedCount;
1026
928
 
929
+ // Used to calculate the jitter
1027
930
  this.statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay = result.jitterBufferDelay;
1028
931
  this.statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount = result.jitterBufferEmittedCount;
1029
932
  }
1030
933
  }
934
+
1031
935
  /**
1032
936
  *
1033
937
  * @private
@@ -1036,20 +940,17 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
1036
940
  * @returns {void}
1037
941
  * @memberof StatsAnalyzer
1038
942
  */
1039
-
1040
943
  }, {
1041
944
  key: "compareSentAndReceived",
1042
945
  value: function compareSentAndReceived(result, type) {
1043
- if (!type) {
946
+ // Don't compare on transceivers without a sender.
947
+ if (!type || !this.statsResults.internal[type].send) {
1044
948
  return;
1045
949
  }
1046
-
1047
950
  var mediaType = type;
1048
-
1049
951
  if (!this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver) {
1050
952
  this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
1051
953
  }
1052
-
1053
954
  var currentPacketLoss = result.packetsLost - this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver;
1054
955
  this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
1055
956
  this.statsResults[mediaType].send.packetsLostOnReceiver = currentPacketLoss;
@@ -1058,15 +959,14 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
1058
959
  this.statsResults[mediaType].send.meanRoundTripTime.push(result.roundTripTime);
1059
960
  this.statsResults[mediaType].send.timestamp = result.timestamp;
1060
961
  this.statsResults[mediaType].send.ssrc = result.ssrc;
1061
- this.statsResults[mediaType].send.reportsReceived = result.reportsReceived; // Total packloss ratio on this video section of the call
962
+ this.statsResults[mediaType].send.reportsReceived = result.reportsReceived;
1062
963
 
964
+ // Total packloss ratio on this video section of the call
1063
965
  this.statsResults[mediaType].send.overAllPacketLossRatio = this.statsResults[mediaType].send.totalPacketsLostOnReceiver > 0 ? this.statsResults[mediaType].send.totalPacketsLostOnReceiver / this.statsResults[mediaType].send.totalPacketsSent : 0;
1064
966
  this.statsResults[mediaType].send.currentPacketLossRatio = this.statsResults[mediaType].send.packetsLostOnReceiver > 0 ? this.statsResults[mediaType].send.packetsLostOnReceiver * 100 / (this.statsResults[mediaType].send.packetsSent + this.statsResults[mediaType].send.packetsLostOnReceiver) : 0;
1065
-
1066
967
  if (this.statsResults[mediaType].send.maxPacketLossRatio < this.statsResults[mediaType].send.currentPacketLossRatio) {
1067
968
  this.statsResults[mediaType].send.maxPacketLossRatio = this.statsResults[mediaType].send.currentPacketLossRatio;
1068
969
  }
1069
-
1070
970
  if (result.type === 'remote-inbound-rtp') {
1071
971
  this.networkQualityMonitor.determineUplinkNetworkQuality({
1072
972
  mediaType: mediaType,
@@ -1078,6 +978,5 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
1078
978
  }]);
1079
979
  return StatsAnalyzer;
1080
980
  }(_eventsScope.default);
1081
-
1082
981
  exports.StatsAnalyzer = StatsAnalyzer;
1083
982
  //# sourceMappingURL=index.js.map