fcr-ui-scene 3.6.4 → 3.7.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 (468) hide show
  1. package/lib/creator.d.ts +4 -3
  2. package/lib/creator.js +146 -111
  3. package/lib/electron/app.js +1 -1
  4. package/lib/electron/bootstrap-sdk.js +49 -4
  5. package/lib/electron/injections.d.ts +5 -1
  6. package/lib/electron/injections.js +14 -2
  7. package/lib/electron/ipc/type.d.ts +8 -4
  8. package/lib/electron/ipc/type.js +10 -4
  9. package/lib/electron/logger.js +1 -1
  10. package/lib/electron/main.js +5 -2
  11. package/lib/electron/preload.js +34 -5
  12. package/lib/fragments/annotation/index.d.ts +2 -2
  13. package/lib/fragments/annotation/index.js +38 -28
  14. package/lib/fragments/annotation/libs.d.ts +2 -2
  15. package/lib/fragments/annotation/store.d.ts +21 -4
  16. package/lib/fragments/annotation/store.js +281 -84
  17. package/lib/fragments/annotation/style.css +9 -0
  18. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/item.js +1 -1
  19. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/pen-panel/index.js +1 -1
  20. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/store.d.ts +26 -2
  21. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/store.js +57 -8
  22. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/view.js +36 -3
  23. package/lib/fragments/annotation/view.d.ts +1 -0
  24. package/lib/fragments/annotation/view.js +52 -10
  25. package/lib/modules/action-bar/components/apps/index.js +54 -38
  26. package/lib/modules/action-bar/components/chat/index.js +13 -34
  27. package/lib/modules/action-bar/components/collapse/index.js +1 -1
  28. package/lib/modules/action-bar/components/leave/index.js +9 -9
  29. package/lib/modules/action-bar/components/more/index.js +26 -27
  30. package/lib/modules/action-bar/components/participants/index.js +23 -39
  31. package/lib/modules/action-bar/components/record/index.js +7 -13
  32. package/lib/modules/action-bar/components/screen-share/index.js +4 -24
  33. package/lib/modules/action-bar/components/security/index.js +29 -34
  34. package/lib/modules/action-bar/components/settings/index.js +13 -19
  35. package/lib/modules/action-bar/index.d.ts +4 -0
  36. package/lib/modules/action-bar/index.js +3 -1
  37. package/lib/modules/action-bar/store.d.ts +16 -6
  38. package/lib/modules/action-bar/store.js +63 -25
  39. package/lib/modules/action-bar/types.d.ts +3 -3
  40. package/lib/modules/action-bar/view.js +2 -3
  41. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  42. package/lib/modules/annotation/annotation-index.js +80 -0
  43. package/lib/modules/annotation/annotation-toolbar-store.d.ts +82 -0
  44. package/lib/modules/annotation/annotation-toolbar-store.js +501 -0
  45. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  46. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  47. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  48. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  49. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  50. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  51. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  52. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  53. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  54. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  55. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  56. package/lib/modules/annotation/components/expansion/index.js +100 -0
  57. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  58. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  59. package/lib/modules/annotation/components/history.d.ts +2 -0
  60. package/lib/modules/annotation/components/history.js +78 -0
  61. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  62. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  63. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  64. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  65. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  66. package/lib/modules/annotation/components/item/index.js +43 -0
  67. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  68. package/lib/modules/annotation/components/move-handle.js +134 -0
  69. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/pen-picker.js +155 -0
  71. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  72. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  73. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  74. package/lib/modules/annotation/components/shape-picker.js +210 -0
  75. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  76. package/lib/modules/annotation/hooks/index.js +292 -0
  77. package/lib/modules/annotation/index.d.ts +4 -1
  78. package/lib/modules/annotation/index.js +20 -22
  79. package/lib/modules/annotation/store.d.ts +59 -18
  80. package/lib/modules/annotation/store.js +503 -263
  81. package/lib/modules/annotation/style.css +10 -0
  82. package/lib/modules/annotation/view.js +9 -11
  83. package/lib/modules/chat/chat-room-store.js +5 -2
  84. package/lib/modules/chat/components/chat-select/index.js +1 -1
  85. package/lib/modules/chat/components/chat-select/select-item/index.js +10 -3
  86. package/lib/modules/chat/components/message-list/message-item/index.js +4 -2
  87. package/lib/modules/chat/index.d.ts +2 -0
  88. package/lib/modules/chat/index.js +13 -3
  89. package/lib/modules/chat/store.d.ts +3 -0
  90. package/lib/modules/chat/store.js +12 -6
  91. package/lib/modules/chat/types.d.ts +1 -0
  92. package/lib/modules/chat/types.js +2 -1
  93. package/lib/modules/chat/util.js +2 -1
  94. package/lib/modules/chat/view.js +6 -3
  95. package/lib/modules/{action-bar/components → components}/apps/app-item/index.d.ts +1 -1
  96. package/lib/modules/components/apps/app-list.d.ts +3 -0
  97. package/lib/modules/{action-bar/components → components}/apps/app-list.js +2 -4
  98. package/lib/modules/components/apps/types.d.ts +14 -0
  99. package/lib/modules/components/apps/types.js +6 -0
  100. package/lib/modules/components/device-control/components/carmera/index.js +71 -68
  101. package/lib/modules/components/device-control/components/microphone/index.js +99 -97
  102. package/lib/modules/components/device-control/store.d.ts +1 -1
  103. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +7 -7
  104. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +0 -2
  105. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -7
  106. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -1
  107. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +19 -36
  108. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +1 -0
  109. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +9 -2
  110. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +0 -3
  111. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +15 -11
  112. package/lib/modules/components/member-window/components/member-actions/index.js +10 -2
  113. package/lib/modules/components/member-window/components/member-actions/libs/index.js +2 -2
  114. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.d.ts +12 -0
  115. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +75 -0
  116. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +1 -7
  117. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +7 -47
  118. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.d.ts +12 -0
  119. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.js +68 -0
  120. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +1 -9
  121. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +7 -49
  122. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.d.ts +15 -0
  123. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +255 -0
  124. package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
  125. package/lib/modules/components/member-window/components/video-player/index.js +8 -2
  126. package/lib/modules/components/member-window/index.css +16 -6
  127. package/lib/modules/components/member-window/index.d.ts +1 -1
  128. package/lib/modules/components/member-window/index.js +12 -4
  129. package/lib/modules/components/member-window/types.d.ts +2 -0
  130. package/lib/modules/components/security-menu/index.js +6 -5
  131. package/lib/modules/control-bar/components/annotation-button/index.js +21 -8
  132. package/lib/modules/control-bar/components/more-actions/index.css +13 -0
  133. package/lib/modules/control-bar/components/more-actions/index.js +1 -1
  134. package/lib/modules/control-bar/components/share-audio/index.css +90 -0
  135. package/lib/modules/control-bar/components/share-audio/index.d.ts +15 -0
  136. package/lib/modules/control-bar/components/share-audio/index.js +173 -0
  137. package/lib/modules/control-bar/components/share-state-nav/index.css +5 -0
  138. package/lib/modules/control-bar/components/share-state-nav/index.js +14 -2
  139. package/lib/modules/control-bar/index.d.ts +2 -0
  140. package/lib/modules/control-bar/index.js +9 -1
  141. package/lib/modules/control-bar/store.d.ts +16 -7
  142. package/lib/modules/control-bar/store.js +36 -12
  143. package/lib/modules/control-bar/view.d.ts +4 -0
  144. package/lib/modules/control-bar/view.js +180 -90
  145. package/lib/modules/device-pretest/store.d.ts +1 -1
  146. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -1
  147. package/lib/modules/dialog/components/dialog-container/index.css +1 -0
  148. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -1
  149. package/lib/modules/dialog/components/dialog-container/index.js +27 -10
  150. package/lib/modules/dialog/components/host-area-container/index.js +4 -4
  151. package/lib/modules/dialog/components/normal-window/index.d.ts +19 -0
  152. package/lib/modules/dialog/components/normal-window/index.js +69 -0
  153. package/lib/modules/dialog/{components → dialogs}/annotation-tool/index.js +17 -15
  154. package/lib/modules/dialog/dialogs/chat/components/actions.d.ts +1 -0
  155. package/lib/modules/dialog/dialogs/chat/components/actions.js +33 -0
  156. package/lib/modules/dialog/{components → dialogs}/chat/index.d.ts +1 -1
  157. package/lib/modules/dialog/dialogs/chat/index.js +59 -0
  158. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +6 -0
  159. package/lib/modules/dialog/{components → dialogs}/confirm-leave-meeting/index.js +13 -37
  160. package/lib/modules/dialog/{components → dialogs}/connection-gateway/index.js +19 -12
  161. package/lib/modules/dialog/{components → dialogs}/control-bar/index.js +2 -2
  162. package/lib/modules/dialog/{components → dialogs}/device-setting/index.js +20 -13
  163. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +12 -0
  164. package/lib/modules/dialog/dialogs/end-meeting/index.js +45 -0
  165. package/lib/modules/dialog/{components/interpreter/electron.js → dialogs/interpreter/index.js} +17 -11
  166. package/lib/modules/dialog/dialogs/invite/index.d.ts +3 -0
  167. package/lib/modules/dialog/{components → dialogs}/invite/index.js +9 -25
  168. package/lib/modules/dialog/dialogs/live-streaming/index.d.ts +2 -0
  169. package/lib/modules/dialog/{components → dialogs}/live-streaming/index.js +11 -34
  170. package/lib/modules/dialog/dialogs/participant/components/actions.d.ts +1 -0
  171. package/lib/modules/dialog/dialogs/participant/components/actions.js +32 -0
  172. package/lib/modules/dialog/dialogs/participant/components/title.d.ts +1 -0
  173. package/lib/modules/dialog/dialogs/participant/components/title.js +19 -0
  174. package/lib/modules/dialog/dialogs/participant/index.d.ts +2 -0
  175. package/lib/modules/dialog/dialogs/participant/index.js +53 -0
  176. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  177. package/lib/modules/dialog/dialogs/rename/index.js +35 -0
  178. package/lib/modules/dialog/{components → dialogs}/share-screen-selection/index.js +1 -1
  179. package/lib/modules/dialog/{components → dialogs}/video-window/index.js +11 -8
  180. package/lib/modules/dialog/{components → dialogs}/whiteboard/index.js +2 -3
  181. package/lib/modules/dialog/{components → dialogs}/widget/electron.js +1 -1
  182. package/lib/modules/dialog/{components → dialogs}/widget/index.js +1 -1
  183. package/lib/modules/dialog/hooks/use-web-drag.d.ts +8 -0
  184. package/lib/modules/dialog/hooks/use-web-drag.js +73 -0
  185. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -7
  186. package/lib/modules/dialog/hooks/useElectron.js +46 -156
  187. package/lib/modules/dialog/index.d.ts +4 -0
  188. package/lib/modules/dialog/index.js +4 -2
  189. package/lib/modules/dialog/level-config.d.ts +11 -0
  190. package/lib/modules/dialog/level-config.js +21 -0
  191. package/lib/modules/dialog/store.d.ts +15 -6
  192. package/lib/modules/dialog/store.js +40 -54
  193. package/lib/modules/dialog/type.d.ts +15 -12
  194. package/lib/modules/event-confirm/components/window/index.d.ts +1 -4
  195. package/lib/modules/event-confirm/components/window/index.js +34 -23
  196. package/lib/modules/event-confirm/index.d.ts +2 -0
  197. package/lib/modules/event-confirm/index.js +3 -2
  198. package/lib/modules/event-confirm/store.d.ts +9 -1
  199. package/lib/modules/event-confirm/store.js +24 -16
  200. package/lib/modules/event-confirm/view.js +11 -22
  201. package/lib/modules/event-sound/index.d.ts +2 -0
  202. package/lib/modules/event-sound/index.js +8 -1
  203. package/lib/modules/event-toast/index.css +10 -0
  204. package/lib/modules/event-toast/store.d.ts +1 -1
  205. package/lib/modules/event-toast/store.js +17 -15
  206. package/lib/modules/event-toast/view.js +2 -1
  207. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +4 -2
  208. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -1
  209. package/lib/modules/interpreter/store.d.ts +1 -0
  210. package/lib/modules/interpreter/store.js +12 -5
  211. package/lib/modules/interpreter/view.js +7 -1
  212. package/lib/modules/layout/components/Aside.js +4 -0
  213. package/lib/modules/layout/components/Carousel.js +3 -1
  214. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +3 -1
  215. package/lib/modules/layout/components/CommonVideoRenderer.js +13 -9
  216. package/lib/modules/layout/components/Gallery.js +11 -3
  217. package/lib/modules/layout/index.css +1 -0
  218. package/lib/modules/layout/index.d.ts +2 -0
  219. package/lib/modules/layout/index.js +4 -3
  220. package/lib/modules/layout/store.d.ts +9 -5
  221. package/lib/modules/layout/store.js +38 -46
  222. package/lib/modules/participant/components/confirm-input/index.css +4 -0
  223. package/lib/modules/participant/components/confirm-input/index.d.ts +1 -0
  224. package/lib/modules/participant/components/confirm-input/index.js +2 -1
  225. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +2 -1
  226. package/lib/modules/participant/components/participants/components/participants/index.js +11 -3
  227. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +7 -3
  228. package/lib/modules/participant/components/participants/types.d.ts +1 -0
  229. package/lib/modules/participant/store.d.ts +2 -1
  230. package/lib/modules/participant/store.js +23 -9
  231. package/lib/modules/phone-audio-connect/store.d.ts +4 -4
  232. package/lib/modules/setting/audio-settings/audio-settings.js +6 -17
  233. package/lib/modules/setting/config.d.ts +16 -0
  234. package/lib/modules/setting/config.js +17 -1
  235. package/lib/modules/setting/index.d.ts +2 -4
  236. package/lib/modules/setting/index.js +7 -16
  237. package/lib/modules/setting/minutes-settings/minutes-settings.js +0 -4
  238. package/lib/modules/setting/state/index.js +5 -5
  239. package/lib/modules/setting/store.d.ts +37 -33
  240. package/lib/modules/setting/store.js +275 -261
  241. package/lib/modules/setting/translate-settings/language-select.js +0 -2
  242. package/lib/modules/setting/video-settings/video-settings-basic.js +6 -6
  243. package/lib/modules/setting/video-settings/video-settings.js +2 -2
  244. package/lib/modules/setting/view.js +1 -1
  245. package/lib/modules/share-screen/components/control-bar/index.css +75 -0
  246. package/lib/modules/share-screen/components/control-bar/index.d.ts +3 -0
  247. package/lib/modules/share-screen/components/control-bar/index.js +88 -0
  248. package/lib/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.d.ts +8 -0
  249. package/lib/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.js +46 -0
  250. package/lib/modules/share-screen/components/control-bar/items/full-container-btn/index.d.ts +6 -0
  251. package/lib/modules/share-screen/components/control-bar/items/full-container-btn/index.js +32 -0
  252. package/lib/modules/share-screen/components/control-bar/items/original-size-btn/index.d.ts +6 -0
  253. package/lib/modules/share-screen/components/control-bar/items/original-size-btn/index.js +32 -0
  254. package/lib/modules/share-screen/components/control-bar/items/zoom-in-btn/index.d.ts +6 -0
  255. package/lib/modules/share-screen/components/control-bar/items/zoom-in-btn/index.js +32 -0
  256. package/lib/modules/share-screen/components/control-bar/items/zoom-out-btn/index.d.ts +6 -0
  257. package/lib/modules/share-screen/components/control-bar/items/zoom-out-btn/index.js +32 -0
  258. package/lib/modules/share-screen/components/selection/index.js +28 -14
  259. package/lib/modules/share-screen/components/share-scenario/index.d.ts +5 -0
  260. package/lib/modules/share-screen/components/share-scenario/index.js +47 -0
  261. package/lib/modules/share-screen/index.d.ts +4 -2
  262. package/lib/modules/share-screen/index.js +11 -2
  263. package/lib/modules/share-screen/store.d.ts +32 -11
  264. package/lib/modules/share-screen/store.js +273 -192
  265. package/lib/modules/share-screen/view.js +2 -2
  266. package/lib/modules/state-bar/index.js +2 -3
  267. package/lib/modules/state-bar/layout-config.d.ts +2 -4
  268. package/lib/modules/state-bar/layout-config.js +10 -5
  269. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  270. package/lib/modules/state-bar/store.d.ts +7 -7
  271. package/lib/modules/state-bar/store.js +17 -15
  272. package/lib/modules/state-bar/view.js +19 -23
  273. package/lib/modules/video-window/components/members/index.js +3 -2
  274. package/lib/modules/video-window/index.js +0 -3
  275. package/lib/modules/waiting-room-layout/index.css +3 -3
  276. package/lib/modules/waiting-room-layout/index.js +2 -2
  277. package/lib/modules/waiting-room-layout/view.js +1 -0
  278. package/lib/modules/whiteboard/components/control-bar/index.js +2 -2
  279. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -1
  280. package/lib/modules/whiteboard/components/control-bar/store.js +4 -2
  281. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +4 -4
  282. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +0 -14
  283. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +4 -155
  284. package/lib/modules/whiteboard/components/toolbar/store.d.ts +4 -2
  285. package/lib/modules/whiteboard/components/toolbar/store.js +37 -25
  286. package/lib/modules/whiteboard/components/toolbar/style.css +1 -0
  287. package/lib/modules/whiteboard/index.d.ts +3 -1
  288. package/lib/modules/whiteboard/index.js +26 -23
  289. package/lib/modules/widget/view.js +4 -0
  290. package/lib/providers/ability-provider.d.ts +2 -0
  291. package/lib/providers/annotation-provider.d.ts +43 -47
  292. package/lib/providers/annotation-provider.js +94 -142
  293. package/lib/providers/app-list-provider.d.ts +98 -0
  294. package/lib/providers/app-list-provider.js +251 -0
  295. package/lib/providers/device-provider.d.ts +31 -23
  296. package/lib/providers/device-provider.js +493 -444
  297. package/lib/providers/device-stream-provider.js +2 -2
  298. package/lib/providers/event-provider.d.ts +0 -4
  299. package/lib/providers/event-provider.js +0 -10
  300. package/lib/providers/interpreter-provider.js +10 -7
  301. package/lib/providers/privilege-provider.d.ts +1 -1
  302. package/lib/providers/privilege-provider.js +3 -2
  303. package/lib/providers/renderer-provider.d.ts +1 -0
  304. package/lib/providers/renderer-provider.js +7 -2
  305. package/lib/providers/room-provider.d.ts +3 -1
  306. package/lib/providers/room-provider.js +40 -14
  307. package/lib/providers/screen-share-provider.d.ts +73 -17
  308. package/lib/providers/screen-share-provider.js +222 -100
  309. package/lib/providers/sharing-provider.d.ts +0 -1
  310. package/lib/providers/sharing-provider.js +3 -9
  311. package/lib/providers/user-setting-storage-provider.d.ts +1 -0
  312. package/lib/providers/user-setting-storage-provider.js +5 -12
  313. package/lib/providers/widget-provider.d.ts +19 -0
  314. package/lib/providers/widget-provider.js +28 -2
  315. package/lib/runtime.d.ts +10 -1
  316. package/lib/scenes/main-scene.d.ts +12 -2
  317. package/lib/scenes/main-scene.js +54 -28
  318. package/lib/scenes/waiting-scene.d.ts +11 -0
  319. package/lib/scenes/waiting-scene.js +34 -8
  320. package/lib/schema.d.ts +6 -0
  321. package/lib/schema.js +5 -1
  322. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  323. package/lib/shared-data-source/annotation-data.js +110 -0
  324. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  325. package/lib/shared-data-source/app-list-data.js +133 -0
  326. package/lib/shared-data-source/config.d.ts +26 -7
  327. package/lib/shared-data-source/config.js +29 -11
  328. package/lib/shared-data-source/confirm-data.d.ts +25 -0
  329. package/lib/shared-data-source/confirm-data.js +97 -0
  330. package/lib/shared-data-source/interpreter.d.ts +1 -0
  331. package/lib/shared-data-source/layout-data.d.ts +2 -0
  332. package/lib/shared-data-source/layout-data.js +14 -3
  333. package/lib/shared-data-source/meeting-time.d.ts +23 -1
  334. package/lib/shared-data-source/meeting-time.js +160 -43
  335. package/lib/shared-data-source/member-data.d.ts +10 -9
  336. package/lib/shared-data-source/member-data.js +55 -48
  337. package/lib/shared-data-source/screen-share-data.d.ts +100 -17
  338. package/lib/shared-data-source/screen-share-data.js +142 -22
  339. package/lib/shared-data-source/setting.d.ts +36 -4
  340. package/lib/shared-data-source/setting.js +92 -57
  341. package/lib/shared-data-source/video-window.d.ts +3 -0
  342. package/lib/shared-data-source/video-window.js +52 -30
  343. package/lib/shared-data-source/waiting-room.js +4 -2
  344. package/lib/translations/enUS.d.ts +62 -7
  345. package/lib/translations/enUS.js +71 -14
  346. package/lib/translations/zhCN.d.ts +62 -7
  347. package/lib/translations/zhCN.js +73 -16
  348. package/lib/type.d.ts +23 -5
  349. package/lib/type.js +6 -2
  350. package/lib/ui-manager.d.ts +5 -16
  351. package/lib/ui-manager.js +15 -57
  352. package/lib/ui-scene.d.ts +31 -6
  353. package/lib/ui-scene.js +180 -169
  354. package/lib/utilities/constant.d.ts +67 -63
  355. package/lib/utilities/constant.js +65 -61
  356. package/lib/utilities/dialog-utils.d.ts +66 -0
  357. package/lib/utilities/dialog-utils.js +188 -0
  358. package/lib/utilities/logger.js +3 -3
  359. package/lib/utilities/meeting-detail.js +1 -1
  360. package/lib/utilities/parameters.d.ts +1 -0
  361. package/lib/utilities/parameters.js +5 -1
  362. package/lib/utilities/renderer-event.d.ts +1 -1
  363. package/lib/utilities/screen-capture-permission.d.ts +1 -0
  364. package/lib/utilities/screen-capture-permission.js +9 -1
  365. package/lib/utilities/tools.d.ts +0 -66
  366. package/lib/utilities/tools.js +9 -186
  367. package/package.json +5 -6
  368. package/public/index.html +11 -1
  369. package/lib/modules/action-bar/components/apps/app-list.d.ts +0 -3
  370. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +0 -17
  371. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -30
  372. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +0 -10
  373. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +0 -36
  374. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +0 -14
  375. package/lib/modules/action-bar/components/apps/useInterpreter.js +0 -37
  376. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +0 -16
  377. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +0 -41
  378. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +0 -10
  379. package/lib/modules/action-bar/components/apps/useWidgetList.js +0 -39
  380. package/lib/modules/annotation/components/control-bar/index.css +0 -48
  381. package/lib/modules/annotation/components/control-bar/index.d.ts +0 -3
  382. package/lib/modules/annotation/components/control-bar/index.js +0 -142
  383. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  384. package/lib/modules/annotation/components/toolbar/index.js +0 -1
  385. package/lib/modules/dialog/components/chat/electron.d.ts +0 -2
  386. package/lib/modules/dialog/components/chat/electron.js +0 -35
  387. package/lib/modules/dialog/components/chat/index.js +0 -67
  388. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +0 -6
  389. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +0 -5
  390. package/lib/modules/dialog/components/connection-gateway/electron.js +0 -33
  391. package/lib/modules/dialog/components/device-setting/electron.d.ts +0 -2
  392. package/lib/modules/dialog/components/device-setting/electron.js +0 -37
  393. package/lib/modules/dialog/components/interpreter/electron.d.ts +0 -2
  394. package/lib/modules/dialog/components/interpreter/index.js +0 -33
  395. package/lib/modules/dialog/components/invite/index.d.ts +0 -3
  396. package/lib/modules/dialog/components/live-streaming/index.d.ts +0 -4
  397. package/lib/modules/dialog/components/participant/electron.d.ts +0 -2
  398. package/lib/modules/dialog/components/participant/electron.js +0 -35
  399. package/lib/modules/dialog/components/participant/index.d.ts +0 -2
  400. package/lib/modules/dialog/components/participant/index.js +0 -65
  401. package/lib/modules/dialog/components/pre-setting/electron.d.ts +0 -2
  402. package/lib/modules/dialog/components/pre-setting/electron.js +0 -51
  403. package/lib/modules/dialog/components/pre-setting/index.js +0 -38
  404. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +0 -8
  405. package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -78
  406. package/lib/modules/dialog/components/pre-setting-container/index.css +0 -82
  407. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +0 -18
  408. package/lib/modules/dialog/components/pre-setting-container/index.js +0 -116
  409. package/lib/modules/dialog/components/rename/index.js +0 -72
  410. package/lib/modules/dialog/dialogs.d.ts +0 -3
  411. package/lib/modules/dialog/dialogs.js +0 -28
  412. package/lib/utilities/setting-config-storage.d.ts +0 -18
  413. package/lib/utilities/setting-config-storage.js +0 -133
  414. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/color-panel/index.d.ts +0 -0
  415. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/color-panel/index.js +0 -0
  416. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/index.d.ts +0 -0
  417. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/index.js +0 -0
  418. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/index.d.ts +0 -0
  419. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/index.js +0 -0
  420. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +0 -0
  421. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/libs.js +0 -0
  422. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/index.d.ts +0 -0
  423. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/index.js +0 -0
  424. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/item.d.ts +0 -0
  425. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/style.css +0 -0
  426. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/index.d.ts +0 -0
  427. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/index.js +0 -0
  428. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/style.css +0 -0
  429. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/index.d.ts +0 -0
  430. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/index.js +0 -0
  431. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/pen-panel/index.d.ts +0 -0
  432. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/index.d.ts +0 -0
  433. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/index.js +0 -0
  434. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/style.css +0 -0
  435. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/style.css +0 -0
  436. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/view.d.ts +0 -0
  437. /package/lib/modules/{action-bar/components → components}/apps/app-item/index.css +0 -0
  438. /package/lib/modules/{action-bar/components → components}/apps/app-item/index.js +0 -0
  439. /package/lib/modules/{action-bar/components → components}/apps/index.css +0 -0
  440. /package/lib/modules/dialog/{components → dialogs}/annotation-tool/index.d.ts +0 -0
  441. /package/lib/modules/dialog/{components → dialogs}/confirm/index.d.ts +0 -0
  442. /package/lib/modules/dialog/{components → dialogs}/confirm/index.js +0 -0
  443. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/index.d.ts +0 -0
  444. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/tabs.d.ts +0 -0
  445. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/tabs.js +0 -0
  446. /package/lib/modules/dialog/{components → dialogs}/control-bar/index.d.ts +0 -0
  447. /package/lib/modules/dialog/{components → dialogs}/device-setting/index.css +0 -0
  448. /package/lib/modules/dialog/{components → dialogs}/device-setting/index.d.ts +0 -0
  449. /package/lib/modules/dialog/{components → dialogs}/interpreter/index.css +0 -0
  450. /package/lib/modules/dialog/{components → dialogs}/interpreter/index.d.ts +0 -0
  451. /package/lib/modules/dialog/{components → dialogs}/pre-setting/index.css +0 -0
  452. /package/lib/modules/dialog/{components → dialogs}/pre-setting/index.d.ts +0 -0
  453. /package/lib/modules/dialog/{components → dialogs}/rename/index.d.ts +0 -0
  454. /package/lib/modules/dialog/{components → dialogs}/share-screen-selection/index.d.ts +0 -0
  455. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/bg1.png +0 -0
  456. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/bg2.png +0 -0
  457. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/fcr_png_host.png +0 -0
  458. /package/lib/modules/dialog/{components → dialogs}/system-preference/electron.d.ts +0 -0
  459. /package/lib/modules/dialog/{components → dialogs}/system-preference/electron.js +0 -0
  460. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.css +0 -0
  461. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.d.ts +0 -0
  462. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.js +0 -0
  463. /package/lib/modules/dialog/{components → dialogs}/toast/index.d.ts +0 -0
  464. /package/lib/modules/dialog/{components → dialogs}/toast/index.js +0 -0
  465. /package/lib/modules/dialog/{components → dialogs}/video-window/index.d.ts +0 -0
  466. /package/lib/modules/dialog/{components → dialogs}/whiteboard/index.d.ts +0 -0
  467. /package/lib/modules/dialog/{components → dialogs}/widget/electron.d.ts +0 -0
  468. /package/lib/modules/dialog/{components → dialogs}/widget/index.d.ts +0 -0
@@ -8,7 +8,6 @@ require("core-js/modules/es.error.to-string.js");
8
8
  require("core-js/modules/es.array.is-array.js");
9
9
  require("core-js/modules/es.array.iterator.js");
10
10
  require("core-js/modules/es.date.to-primitive.js");
11
- require("core-js/modules/es.function.bind.js");
12
11
  require("core-js/modules/es.function.name.js");
13
12
  require("core-js/modules/es.map.js");
14
13
  require("core-js/modules/es.number.constructor.js");
@@ -46,6 +45,7 @@ require("core-js/modules/es.array.includes.js");
46
45
  require("core-js/modules/es.array.push.js");
47
46
  require("core-js/modules/es.array.some.js");
48
47
  require("core-js/modules/es.date.to-json.js");
48
+ require("core-js/modules/es.function.bind.js");
49
49
  require("core-js/modules/es.json.stringify.js");
50
50
  require("core-js/modules/es.object.to-string.js");
51
51
  require("core-js/modules/es.promise.js");
@@ -64,23 +64,24 @@ var _base = require("../base");
64
64
  var _mobx = require("mobx");
65
65
  var _env = require("agora-foundation/lib/utilities/env");
66
66
  var _logger = require("../utilities/logger");
67
- var _type = require("agora-rte-sdk/lib/type");
67
+ var _imports = require("fcr-core/lib/imports");
68
68
  var _decorator = require("agora-foundation/lib/decorator");
69
69
  var _types = require("fcr-core/lib/room-control/whiteboard-control/types");
70
+ var _type = require("agora-rte-sdk/lib/core/rtc/type");
70
71
  var _rendererEvent = require("../utilities/renderer-event");
71
72
  var _tools = require("../utilities/tools");
72
- var _imports = require("fcr-core/lib/imports");
73
73
  var _i18n = require("agora-ui-foundation/lib/i18n");
74
74
  var _constant = require("../utilities/constant");
75
75
  var _lodash = require("lodash");
76
+ var _config = require("../modules/setting/config");
76
77
  var _FcrUIScreenShareProviderImpl;
77
- var _initProto, _handleScreenCaptureStateUpdatedDecs, _handleShareStopWithAudioDecs, _replaceScreenShareDecs, _handleStreamUpdateDecs, _handleStreamPublicDecs, _releaseDecs, _startShareScreenDecs, _handleShareStartWithAudioDecs, _ref;
78
+ var _initProto, _zoomOutDecs, _zoomInDecs, _fullContainerDecs, _setOriginScalcDecs, _handleScreenCaptureStateUpdatedDecs, _handleShareStopWithAudioDecs, _replaceScreenShareDecs, _handleRemoteVideoStatsUpdatedDecs, _handleStreamUpdateDecs, _syncScreenShareStreamInfosDecs, _releaseDecs, _startShareScreenDecs, _handleShareStartWithAudioDecs, _ref;
78
79
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
79
80
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
80
81
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
81
82
  function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
82
83
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
83
- _ref = (_handleScreenCaptureStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleShareStopWithAudioDecs = [_mobx.action, _mobx.action.bound], _replaceScreenShareDecs = [_mobx.action, _mobx.action.bound], _handleStreamUpdateDecs = [_mobx.action, _mobx.action.bound], _handleStreamPublicDecs = [_mobx.action, _mobx.action.bound], _releaseDecs = [_mobx.action, _mobx.action.bound], _startShareScreenDecs = [_mobx.action, _mobx.action.bound], _handleShareStartWithAudioDecs = [_mobx.action, _mobx.action.bound], "logger");
84
+ _ref = (_zoomOutDecs = [_mobx.action, _mobx.action.bound], _zoomInDecs = [_mobx.action, _mobx.action.bound], _fullContainerDecs = [_mobx.action, _mobx.action.bound], _setOriginScalcDecs = [_mobx.action, _mobx.action.bound], _handleScreenCaptureStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleShareStopWithAudioDecs = [_mobx.action, _mobx.action.bound], _replaceScreenShareDecs = [_mobx.action, _mobx.action.bound], _handleRemoteVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleStreamUpdateDecs = [_mobx.action, _mobx.action.bound], _syncScreenShareStreamInfosDecs = [_mobx.action, _mobx.action.bound], _releaseDecs = [_mobx.action, _mobx.action.bound], _startShareScreenDecs = [_mobx.action, _mobx.action.bound], _handleShareStartWithAudioDecs = [_mobx.action, _mobx.action.bound], "logger");
84
85
  var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__PURE__*/function () {
85
86
  function FcrUIScreenShareProviderImpl(_deviceProvider, _eventProvider, _roomProvider, _sharingProvider, _sharedScreenShareSharedDataSource, _sharedMemberDataSource) {
86
87
  var _this = this,
@@ -93,6 +94,11 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
93
94
  })));
94
95
  (0, _defineProperty2["default"])(this, "shareLock", false);
95
96
  (0, _defineProperty2["default"])(this, "_previewDom", null);
97
+ (0, _defineProperty2["default"])(this, "_prevFullScalc", {
98
+ width: document.body.offsetWidth,
99
+ height: document.body.offsetHeight,
100
+ scalc: 1
101
+ });
96
102
  (0, _defineProperty2["default"])(this, "_observable", new _observable.AgoraObservable());
97
103
  (0, _defineProperty2["default"])(this, "_streamObserver", {
98
104
  onStreamsAdded: function onStreamsAdded(_, events) {
@@ -103,12 +109,17 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
103
109
  },
104
110
  onStreamsUpdated: function onStreamsUpdated(_, events) {
105
111
  return _this._handleStreamUpdate('update', events);
106
- }
112
+ },
113
+ onRemoteVideoStatsUpdated: this._handleRemoteVideoStatsUpdated.bind(this)
107
114
  });
108
115
  (0, _defineProperty2["default"])(this, "_screenCaptureObserver", {
109
116
  onScreenCaptureStateUpdated: (0, _env.isElectron)() ? this._handleScreenCaptureStateUpdated : this._handleWebScreenCaptureStateUpdated
110
117
  });
118
+ (0, _defineProperty2["default"])(this, "_maxScalcValue", 4);
119
+ (0, _defineProperty2["default"])(this, "_minScalcValue", 1);
120
+ (0, _defineProperty2["default"])(this, "_diffScalcValue", 0.5);
111
121
  (0, _defineProperty2["default"])(this, "_hasStop", false);
122
+ (0, _defineProperty2["default"])(this, "_isReplaceScreen", false);
112
123
  this._deviceProvider = _deviceProvider;
113
124
  this._eventProvider = _eventProvider;
114
125
  this._roomProvider = _roomProvider;
@@ -118,6 +129,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
118
129
  this._sharingControl = (_this$_roomProvider$c = this._roomProvider.currentRoomControl) === null || _this$_roomProvider$c === void 0 ? void 0 : _this$_roomProvider$c.getSharingControl();
119
130
  this._streamControl = (_this$_roomProvider$c2 = this._roomProvider.currentRoomControl) === null || _this$_roomProvider$c2 === void 0 ? void 0 : _this$_roomProvider$c2.getStreamControl();
120
131
  (_this$_streamControl = this._streamControl) === null || _this$_streamControl === void 0 || _this$_streamControl.addObserver(this._streamObserver);
132
+ this._syncScreenShareStreamInfos();
121
133
  this._addEventListeners();
122
134
  this._syncShareStreamState();
123
135
  }
@@ -132,8 +144,80 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
132
144
  return this._deviceProvider.speakerId;
133
145
  }
134
146
  }, {
135
- key: "getCurrentScreenSharingOwner",
136
- value: function getCurrentScreenSharingOwner() {
147
+ key: "screenShareScalcValue",
148
+ get: function get() {
149
+ return this._sharedScreenShareSharedDataSource.screenShareScalcValue;
150
+ }
151
+ }, {
152
+ key: "screenShareVideoRatio",
153
+ get: function get() {
154
+ return this._sharedScreenShareSharedDataSource.screenShareVideoRatio;
155
+ }
156
+ }, {
157
+ key: "screenShareSpeakerViewSize",
158
+ get: function get() {
159
+ return this._sharedScreenShareSharedDataSource.screenShareSpeakerViewSize;
160
+ }
161
+ }, {
162
+ key: "screenShareScenarioType",
163
+ get: function get() {
164
+ return this._sharedScreenShareSharedDataSource.screenShareScenarioType;
165
+ }
166
+ }, {
167
+ key: "setSharingInReplace",
168
+ value: function setSharingInReplace(isInReplace) {
169
+ this._sharedScreenShareSharedDataSource.setSharingInReplace(isInReplace);
170
+ }
171
+ }, {
172
+ key: "zoomOut",
173
+ value: function zoomOut() {
174
+ if (this.screenShareScalcValue < this._maxScalcValue) {
175
+ this._sharedScreenShareSharedDataSource.setScreenShareScalcValue(this.screenShareScalcValue + this._diffScalcValue);
176
+ }
177
+ }
178
+ }, {
179
+ key: "zoomIn",
180
+ value: function zoomIn() {
181
+ if (this.screenShareScalcValue > this._minScalcValue) {
182
+ this._sharedScreenShareSharedDataSource.setScreenShareScalcValue(this.screenShareScalcValue - this._diffScalcValue);
183
+ }
184
+ }
185
+ }, {
186
+ key: "fullContainer",
187
+ value: function fullContainer() {
188
+ // = 外层容器的宽/(外层容器的高 * 屏幕共享的宽高比)
189
+ var _this$screenShareSpea = this.screenShareSpeakerViewSize,
190
+ width = _this$screenShareSpea.width,
191
+ height = _this$screenShareSpea.height;
192
+ var scalc = width / (height * this.screenShareVideoRatio);
193
+ this._prevFullScalc = {
194
+ width: width,
195
+ height: height,
196
+ scalc: scalc
197
+ };
198
+ this._sharedScreenShareSharedDataSource.setScreenShareScalcValue(scalc);
199
+ }
200
+ }, {
201
+ key: "isAspectRatioPreserved",
202
+ get: function get() {
203
+ var _this$screenShareSpea2 = this.screenShareSpeakerViewSize,
204
+ width = _this$screenShareSpea2.width,
205
+ height = _this$screenShareSpea2.height;
206
+ var _this$_prevFullScalc = this._prevFullScalc,
207
+ prevWidth = _this$_prevFullScalc.width,
208
+ prevHeight = _this$_prevFullScalc.height,
209
+ prevScalc = _this$_prevFullScalc.scalc;
210
+ var isAspectRatio = width === prevWidth && height === prevHeight && this.screenShareScalcValue == prevScalc;
211
+ return isAspectRatio;
212
+ }
213
+ }, {
214
+ key: "setOriginScalc",
215
+ value: function setOriginScalc() {
216
+ this._sharedScreenShareSharedDataSource.setScreenShareScalcValue(this._minScalcValue);
217
+ }
218
+ }, {
219
+ key: "currentScreenSharingOwner",
220
+ get: function get() {
137
221
  var _this$_streamControl2;
138
222
  var allStreams = (_this$_streamControl2 = this._streamControl) === null || _this$_streamControl2 === void 0 ? void 0 : _this$_streamControl2.getStreamList();
139
223
  var screenShareStream = allStreams === null || allStreams === void 0 ? void 0 : allStreams.find(function (stream) {
@@ -145,12 +229,18 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
145
229
  return null;
146
230
  }
147
231
  }
232
+ }, {
233
+ key: "currentScreenSharingOwnerIsMySelf",
234
+ get: function get() {
235
+ var _this$currentScreenSh;
236
+ return ((_this$currentScreenSh = this.currentScreenSharingOwner) === null || _this$currentScreenSh === void 0 ? void 0 : _this$currentScreenSh.userId) === this._sharedMemberDataSource.localUserId;
237
+ }
148
238
  }, {
149
239
  key: "stop",
150
240
  value: function stop() {
151
241
  if (!this._hasStop) {
152
- this._observable.notifyObservers('onScreenCaptureStopped');
153
242
  this._hasStop = true;
243
+ this._observable.notifyObservers('onScreenCaptureStopped');
154
244
  }
155
245
  }
156
246
  }, {
@@ -167,7 +257,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
167
257
  return _regenerator["default"].wrap(function (_context) {
168
258
  while (1) switch (_context.prev = _context.next) {
169
259
  case 0:
170
- this._sharedScreenShareSharedDataSource.setScreenSharingState(state);
260
+ this._sharedScreenShareSharedDataSource.setLocalUserScreenSharingState(state);
171
261
  if (!(state === _fcrCore.FcrMediaSourceState.OPEN)) {
172
262
  _context.next = 2;
173
263
  break;
@@ -182,12 +272,13 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
182
272
  case 2:
183
273
  if (state === _fcrCore.FcrMediaSourceState.CLOSE) {
184
274
  (_this$screenTrack = this.screenTrack) === null || _this$screenTrack === void 0 || _this$screenTrack.removeObserver(this._screenCaptureObserver);
185
- this.isReplaceScreen ? this._screenTrackStop() : this.stop();
186
- this.logger.info("[Annotation][web]: _handleScreenCaptureStateUpdated: CLOSE, set replaceScreen to: ".concat(this.isReplaceScreen));
275
+ this._isReplaceScreen ? this._stopScreenTrack() : this.stop();
276
+ this.logger.info("[Annotation][web]: _handleScreenCaptureStateUpdated: CLOSE, set replaceScreen to: ".concat(this._isReplaceScreen));
187
277
  }
188
278
  if (state === _fcrCore.FcrMediaSourceState.ERROR) {
279
+ this.stop();
189
280
  this.setShareLock(false);
190
- this._setIsReplaceScreen(false);
281
+ this._isReplaceScreen = false;
191
282
  }
192
283
  case 3:
193
284
  case "end":
@@ -207,18 +298,19 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
207
298
  if (state === _fcrCore.FcrMediaSourceState.CLOSE) {
208
299
  var _this$screenTrack2;
209
300
  this.stopRenderSharePreview(this.screenTrack);
301
+ if (!this._isReplaceScreen) {
302
+ this.stop();
303
+ }
210
304
  (_this$screenTrack2 = this.screenTrack) === null || _this$screenTrack2 === void 0 || _this$screenTrack2.removeObserver(this._screenCaptureObserver);
211
- this.isReplaceScreen ? this._screenTrackStop() : this.stop();
212
- // this._setIsReplaceScreen(false); // 如果是替换的逻辑,暂时不把是否是替换屏幕的值设置为false,改为在结束屏幕共享时重置
213
- this.logger.info("[Annotation][electron]: _handleScreenCaptureStateUpdated: CLOSE, set replaceScreen to: ".concat(this.isReplaceScreen));
305
+ this.logger.info("[Annotation][electron]: _handleScreenCaptureStateUpdated: CLOSE, set replaceScreen to: ".concat(this._isReplaceScreen));
214
306
  }
215
307
  if (state === _fcrCore.FcrMediaSourceState.ERROR) {
216
308
  this.stop();
217
- this._sharedScreenShareSharedDataSource.setScreenSharingState(_fcrCore.FcrMediaSourceState.CLOSE);
218
- this._setIsReplaceScreen(false);
309
+ this._sharedScreenShareSharedDataSource.setLocalUserScreenSharingState(_fcrCore.FcrMediaSourceState.CLOSE);
310
+ this._isReplaceScreen = false;
219
311
  return;
220
312
  }
221
- this._sharedScreenShareSharedDataSource.setScreenSharingState(state);
313
+ this._sharedScreenShareSharedDataSource.setLocalUserScreenSharingState(state);
222
314
  }
223
315
  }, {
224
316
  key: "_handleShareStopWithAudio",
@@ -227,6 +319,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
227
319
  return;
228
320
  }
229
321
  if (this._deviceProvider.isCapabilitySupported(_fcrCore.FcrCapability.LOOPBACK_CAPTURE)) {
322
+ this.logger.info('[screen-share-provider][handleShareStopWithAudio] shareAudioTrack.stop');
230
323
  this.shareAudioTrack.stop();
231
324
  }
232
325
  }
@@ -237,7 +330,8 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
237
330
  this.logger.info('screen-share-provider: replaceScreenShare start');
238
331
  var shareWithAudio = (0, _lodash.isBoolean)(withAudio) ? withAudio : this._sharedScreenShareSharedDataSource.shareWithAudio;
239
332
  this.toggleScreenshareWithAudio(shareWithAudio);
240
- this._sharedScreenShareSharedDataSource.setIsReplaceScreen(true);
333
+ this._isReplaceScreen = true;
334
+ this.setSharingInReplace(true);
241
335
  if (this.screenTrack) {
242
336
  this.screenTrack.removeObserver(this._screenCaptureObserver);
243
337
  var _observer = {
@@ -277,19 +371,26 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
277
371
  }()
278
372
  };
279
373
  this.screenTrack.addObserver(_observer);
280
- this._screenTrackStop();
374
+ this._stopScreenTrack();
281
375
  this.stopRenderSharePreview(this.screenTrack);
282
376
  }
283
377
  }
284
378
  }, {
285
- key: "_setIsReplaceScreen",
286
- value: function _setIsReplaceScreen(isReplace) {
287
- this._sharedScreenShareSharedDataSource.setIsReplaceScreen(isReplace);
288
- }
289
- }, {
290
- key: "isReplaceScreen",
291
- get: function get() {
292
- return this._sharedScreenShareSharedDataSource.isReplaceScreen;
379
+ key: "_handleRemoteVideoStatsUpdated",
380
+ value: function _handleRemoteVideoStatsUpdated(roomId, streamId, videoStats) {
381
+ var _this$_streamControl3;
382
+ var stream = (_this$_streamControl3 = this._streamControl) === null || _this$_streamControl3 === void 0 ? void 0 : _this$_streamControl3.getStreamByStreamId(streamId);
383
+ if ((stream === null || stream === void 0 ? void 0 : stream.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN) {
384
+ var _videoStats$dimension = videoStats.dimensions,
385
+ width = _videoStats$dimension.width,
386
+ height = _videoStats$dimension.height;
387
+ if (width !== 0 && height !== 0) {
388
+ var shareScreenVideoRatio = width / height;
389
+ var shareScreenVideoSize = videoStats.dimensions;
390
+ this._sharedScreenShareSharedDataSource.setScreenShareVideoRatio(shareScreenVideoRatio);
391
+ this._sharedScreenShareSharedDataSource.setScreenShareVideoSize(shareScreenVideoSize);
392
+ }
393
+ }
293
394
  }
294
395
  }, {
295
396
  key: "localUserId",
@@ -335,16 +436,18 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
335
436
  key: "createScreenShareWithSelectionId",
336
437
  value: function () {
337
438
  var _createScreenShareWithSelectionId = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(videoSourceId, bounds) {
338
- var audioSourceId, _this$_sharingControl, streamId;
439
+ var audioSourceId, _this$_sharingControl, targetEncoderConfig, streamId;
339
440
  return _regenerator["default"].wrap(function (_context3) {
340
441
  while (1) switch (_context3.prev = _context3.next) {
341
442
  case 0:
342
443
  this.logger.info("screen-share-provider: createScreenShareWithSelectionId: ".concat(videoSourceId, ", annotation-use-bounds-width: ").concat(bounds.width, ", annotation-use-bounds-height: ").concat(bounds.height));
343
444
  audioSourceId = this.loopbackAudioSourceId;
344
- if (!this._sharingControl) {
445
+ if (!(this._sharingControl && this._streamControl)) {
345
446
  _context3.next = 2;
346
447
  break;
347
448
  }
449
+ targetEncoderConfig = this.screenShareScenarioType === _imports.FcrScreenScenarioType.CLEARITY ? _config.clearityEncoderConfig : _config.smoothEncoderConfig;
450
+ this._streamControl.setScreenScenario(this.screenShareScenarioType);
348
451
  _context3.next = 1;
349
452
  return (_this$_sharingControl = this._sharingControl) === null || _this$_sharingControl === void 0 ? void 0 : _this$_sharingControl.startScreenSharing({
350
453
  streamType: _imports.AgoraRteMediaStreamType.BOTH,
@@ -353,6 +456,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
353
456
  }, bounds);
354
457
  case 1:
355
458
  streamId = _context3.sent;
459
+ this._streamControl.setVideoEncoderConfig(streamId, targetEncoderConfig, _type.AgoraRtcVideoStreamType.HIGH_STREAM);
356
460
  return _context3.abrupt("return", Promise.resolve(streamId));
357
461
  case 2:
358
462
  return _context3.abrupt("return", Promise.reject());
@@ -389,33 +493,35 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
389
493
  }, {
390
494
  key: "_syncShareStreamState",
391
495
  value: function _syncShareStreamState() {
392
- var _this$_streamControl3,
393
- _this4 = this;
394
- var currentShareStreamId = this.currentShareStreamId || ((_this$_streamControl3 = this._streamControl) === null || _this$_streamControl3 === void 0 || (_this$_streamControl3 = _this$_streamControl3.getStreamList().find(function (stream) {
395
- return stream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && stream.owner.userId === _this4.localUserId;
396
- })) === null || _this$_streamControl3 === void 0 ? void 0 : _this$_streamControl3.streamId);
397
- if (this._sharedScreenShareSharedDataSource.screenSharingState !== _fcrCore.FcrMediaSourceState.OPEN && currentShareStreamId) {
496
+ if (this._sharedScreenShareSharedDataSource.localUserScreenSharingState !== _fcrCore.FcrMediaSourceState.OPEN) {
497
+ this._hasStop = false;
398
498
  this.stop();
399
499
  }
400
500
  }
401
501
  }, {
402
502
  key: "_handleStreamUpdate",
403
503
  value: function _handleStreamUpdate(process, events) {
404
- var _this5 = this;
405
- this._handleStreamPublic();
504
+ var _seizeStream$operator,
505
+ _this4 = this;
506
+ this._syncScreenShareStreamInfos();
406
507
  var isClosedByOther = this._isStoppedFor(events, _types.FcrBoardInactiveReason.CLOSE);
407
508
  var isSeizedByOther = this._isStoppedFor(events, _types.FcrBoardInactiveReason.SEIZE);
408
509
  var operatorUser = (isSeizedByOther === null || isSeizedByOther === void 0 ? void 0 : isSeizedByOther.operatorUser) || (isClosedByOther === null || isClosedByOther === void 0 ? void 0 : isClosedByOther.operatorUser);
409
510
  var ownerUser = (isSeizedByOther === null || isSeizedByOther === void 0 ? void 0 : isSeizedByOther.modifiedStream.owner) || (isClosedByOther === null || isClosedByOther === void 0 ? void 0 : isClosedByOther.modifiedStream.owner);
410
511
  var selfOperated = (operatorUser === null || operatorUser === void 0 ? void 0 : operatorUser.userId) === this.localUserId;
411
512
  var isMyOwnShare = this.localUserId === (ownerUser === null || ownerUser === void 0 ? void 0 : ownerUser.userId);
412
- if ((isSeizedByOther || isClosedByOther) && !selfOperated) {
413
- this._screenTrackStop();
414
- }
415
513
  isClosedByOther && !selfOperated && isMyOwnShare && this._eventProvider.sendEvent(_constant.FcrUIAction.SHOW_TOAST, {
416
514
  type: 'info',
417
515
  message: (0, _i18n.transI18n)('fmt_share_tips_sharingdisabled')
418
516
  });
517
+ if ((isSeizedByOther || isClosedByOther) && !selfOperated) {
518
+ if ((0, _env.isElectron)()) {
519
+ this.stop();
520
+ } else {
521
+ this._stopScreenTrack();
522
+ }
523
+ return;
524
+ }
419
525
  switch (process) {
420
526
  case 'add':
421
527
  // 抢占流添加时,不设置抢占流状态,因为抢占发生时,会触发 remove 事件,此时判断 reason===seize 的结果设置抢占流状态
@@ -427,22 +533,26 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
427
533
  // this._sharedScreenShareSharedDataSource.setIsSeizeStream(isSeizeStreamAdd);
428
534
  break;
429
535
  case 'remove':
430
- var isSeizeStreamRemove = events.some(function (event) {
536
+ var seizeStream = events.find(function (event) {
431
537
  var _event$cause2, _event$operatorUser;
432
- return event.modifiedStream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && ((_event$cause2 = event.cause) === null || _event$cause2 === void 0 || (_event$cause2 = _event$cause2.data) === null || _event$cause2 === void 0 ? void 0 : _event$cause2.reason) === _types.FcrBoardInactiveReason.SEIZE && ((_event$operatorUser = event.operatorUser) === null || _event$operatorUser === void 0 ? void 0 : _event$operatorUser.userId) !== event.modifiedStream.owner.userId;
538
+ return event.modifiedStream.videoSourceType === _imports.AgoraRteVideoSourceType.SCREEN && ((_event$cause2 = event.cause) === null || _event$cause2 === void 0 || (_event$cause2 = _event$cause2.data) === null || _event$cause2 === void 0 ? void 0 : _event$cause2.reason) === _types.FcrBoardInactiveReason.SEIZE && ((_event$operatorUser = event.operatorUser) === null || _event$operatorUser === void 0 ? void 0 : _event$operatorUser.userId) !== event.modifiedStream.owner.userId;
433
539
  });
434
- this._sharedScreenShareSharedDataSource.setIsSeizeStream(isSeizeStreamRemove);
435
- this.logger.info('stream update remove', isSeizeStreamRemove);
436
- if (events.some(function (event) {
437
- return event.modifiedStream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && event.modifiedStream.owner.userId === _this5.localUserId;
438
- })) {
439
- if (!(0, _env.isElectron)() && this.isReplaceScreen) {
540
+ if ((seizeStream === null || seizeStream === void 0 || (_seizeStream$operator = seizeStream.operatorUser) === null || _seizeStream$operator === void 0 ? void 0 : _seizeStream$operator.userId) !== this.localUserId && (seizeStream === null || seizeStream === void 0 ? void 0 : seizeStream.modifiedStream.owner.userId) === this.localUserId) {
541
+ this._observable.notifyObservers('onScreenShareSeize');
542
+ this._sharedScreenShareSharedDataSource.setIsSeizeStream(true);
543
+ }
544
+ var mySharingScreenRemoved = events.some(function (event) {
545
+ return event.modifiedStream.videoSourceType === _imports.AgoraRteVideoSourceType.SCREEN && event.modifiedStream.owner.userId === _this4.localUserId;
546
+ });
547
+ if (mySharingScreenRemoved) {
548
+ this.setSharingInReplace(false);
549
+ if (!(0, _env.isElectron)() && this._isReplaceScreen) {
440
550
  // web下的替换流不需要停止采集
441
- this._setIsReplaceScreen(false);
551
+ this._isReplaceScreen = false;
442
552
  return;
443
553
  }
444
554
  this.logger.info('screen-share-provider: current user stream remove');
445
- this._screenTrackStop();
555
+ this._stopScreenTrack();
446
556
  }
447
557
  break;
448
558
  }
@@ -469,16 +579,16 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
469
579
  this._previewDom && (screenTrack === null || screenTrack === void 0 ? void 0 : screenTrack.stopPreview(this._previewDom));
470
580
  }
471
581
  }, {
472
- key: "_handleStreamPublic",
473
- value: function _handleStreamPublic() {
582
+ key: "_syncScreenShareStreamInfos",
583
+ value: function _syncScreenShareStreamInfos() {
474
584
  var _this$_roomProvider$c3, _streams$find;
475
585
  var streams = (_this$_roomProvider$c3 = this._roomProvider.currentRoomControl) === null || _this$_roomProvider$c3 === void 0 ? void 0 : _this$_roomProvider$c3.getStreamControl().getStreamList();
476
586
  var isSharingScreen = streams === null || streams === void 0 ? void 0 : streams.some(function (stream) {
477
- return stream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN;
587
+ return stream.videoSourceType === _imports.AgoraRteVideoSourceType.SCREEN;
478
588
  });
479
589
  this._sharedScreenShareSharedDataSource.setIsSharingScreen(!!isSharingScreen);
480
590
  var screenSharingOwner = streams === null || streams === void 0 || (_streams$find = streams.find(function (stream) {
481
- return stream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN;
591
+ return stream.videoSourceType === _imports.AgoraRteVideoSourceType.SCREEN;
482
592
  })) === null || _streams$find === void 0 ? void 0 : _streams$find.owner;
483
593
  this._sharedScreenShareSharedDataSource.setScreenSharingOwner(screenSharingOwner);
484
594
  }
@@ -503,16 +613,13 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
503
613
  var _this$_sharingProvide;
504
614
  (_this$_sharingProvide = this._sharingProvider) === null || _this$_sharingProvide === void 0 || _this$_sharingProvide.startWhiteboard();
505
615
  }
506
- }, {
507
- key: "stopShareWhiteboard",
508
- value: function stopShareWhiteboard() {
509
- var _this$_sharingProvide2;
510
- (_this$_sharingProvide2 = this._sharingProvider) === null || _this$_sharingProvide2 === void 0 || _this$_sharingProvide2.stop();
511
- }
512
616
  }, {
513
617
  key: "release",
514
618
  value: function release() {
515
619
  var _this$_streamControl4;
620
+ this.logger.info('[screen-share-provider] in release');
621
+ this._hasStop = false;
622
+ this.stop();
516
623
  (_this$_streamControl4 = this._streamControl) === null || _this$_streamControl4 === void 0 || _this$_streamControl4.removeObserver(this._streamObserver);
517
624
  this._removeEventListeners();
518
625
  }
@@ -520,69 +627,65 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
520
627
  key: "startShareScreen",
521
628
  value: function () {
522
629
  var _startShareScreen = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(id, type, withAudio, isReplace) {
523
- var _this$screenTrack3, _this$screenTrack4, streamId, screenTrack, _t, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
630
+ var _this$screenTrack3, _this$screenTrack4, frameRate, excludeWindows, streamId, screenTrack, _t, _t2;
524
631
  return _regenerator["default"].wrap(function (_context4) {
525
632
  while (1) switch (_context4.prev = _context4.next) {
526
633
  case 0:
527
634
  this.setShareLock(true);
528
635
  _context4.prev = 1;
529
636
  this.logger.info('screen-share-provider: enter startShareScreen');
530
- if (!((0, _env.isElectron)() && !isReplace)) {
637
+ frameRate = this._sharedScreenShareSharedDataSource.screenShareScenarioType === _imports.FcrScreenScenarioType.SMOOTH ? 25 : 15;
638
+ if (!(0, _env.isElectron)()) {
531
639
  _context4.next = 3;
532
640
  break;
533
641
  }
534
642
  _context4.next = 2;
535
- return this.createScreenShareWithSelectionId(id, this.currentSelectionBounds);
643
+ return this._getExcludeWindows();
536
644
  case 2:
645
+ _t = _context4.sent;
646
+ _context4.next = 4;
647
+ break;
648
+ case 3:
649
+ _t = undefined;
650
+ case 4:
651
+ excludeWindows = _t;
652
+ if (!((0, _env.isElectron)() && !isReplace)) {
653
+ _context4.next = 6;
654
+ break;
655
+ }
656
+ _context4.next = 5;
657
+ return this.createScreenShareWithSelectionId(id, this.currentSelectionBounds);
658
+ case 5:
537
659
  streamId = _context4.sent;
538
660
  if (streamId) {
539
661
  this._sharedScreenShareSharedDataSource.setCurrentShareStreamId(streamId);
540
662
  }
541
- case 3:
663
+ case 6:
542
664
  this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
543
665
  this.toggleScreenshareWithAudio(withAudio);
544
666
  screenTrack = this._deviceProvider.getScreenTrack(id);
545
667
  this.setScreenTrack(screenTrack);
546
668
  this.logger.info('screen-share-provider: start share screen with track start');
547
669
  (_this$screenTrack3 = this.screenTrack) === null || _this$screenTrack3 === void 0 || _this$screenTrack3.addObserver(this._screenCaptureObserver);
548
- _t = (_this$screenTrack4 = this.screenTrack) === null || _this$screenTrack4 === void 0;
549
- if (_t) {
550
- _context4.next = 7;
551
- break;
552
- }
553
- _t2 = _this$screenTrack4;
554
- _t3 = type;
555
- _t4 = withAudio;
556
- if (!(0, _env.isElectron)()) {
557
- _context4.next = 5;
558
- break;
559
- }
560
- _context4.next = 4;
561
- return this._getExcludeWindows();
562
- case 4:
563
- _t5 = _context4.sent;
564
- _context4.next = 6;
670
+ (_this$screenTrack4 = this.screenTrack) === null || _this$screenTrack4 === void 0 || _this$screenTrack4.start(type, {
671
+ withAudio: withAudio,
672
+ excludeWindows: excludeWindows,
673
+ frameRate: frameRate
674
+ });
675
+ _context4.next = 8;
565
676
  break;
566
- case 5:
567
- _t5 = undefined;
568
- case 6:
569
- _t6 = _t5;
570
- _t7 = {
571
- withAudio: _t4,
572
- excludeWindows: _t6
573
- };
574
- _t2.start.call(_t2, _t3, _t7);
575
677
  case 7:
576
- return _context4.abrupt("return", Promise.resolve(this.screenTrack));
678
+ _context4.prev = 7;
679
+ _t2 = _context4["catch"](1);
680
+ return _context4.abrupt("return", null);
577
681
  case 8:
578
682
  _context4.prev = 8;
579
- _t8 = _context4["catch"](1);
580
- return _context4.abrupt("return", Promise.reject(_t8));
683
+ return _context4.abrupt("return", this.screenTrack);
581
684
  case 9:
582
685
  case "end":
583
686
  return _context4.stop();
584
687
  }
585
- }, _callee4, this, [[1, 8]]);
688
+ }, _callee4, this, [[1, 7, 8, 9]]);
586
689
  }));
587
690
  function startShareScreen(_x7, _x8, _x9, _x0) {
588
691
  return _startShareScreen.apply(this, arguments);
@@ -594,9 +697,20 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
594
697
  value: function stopShareScreen(targetScreenTrack) {
595
698
  this.logger.info('screen-share-provider: stopShareScreen');
596
699
  var screenTrack = targetScreenTrack !== null && targetScreenTrack !== void 0 ? targetScreenTrack : this.screenTrack;
700
+ this._handleShareStopWithAudio();
701
+ this._cleanShareWithAudioDataSource();
597
702
  this.stopRenderSharePreview(screenTrack);
598
703
  this.removeScreenStream();
599
- this._screenTrackStop();
704
+ this._stopScreenTrack();
705
+ }
706
+ }, {
707
+ key: "stopShareScreenByExitRoom",
708
+ value: function stopShareScreenByExitRoom(targetScreenTrack) {
709
+ this.logger.info('screen-share-provider: stopShareScreenByExitRoom');
710
+ var screenTrack = targetScreenTrack !== null && targetScreenTrack !== void 0 ? targetScreenTrack : this.screenTrack;
711
+ this.stopRenderSharePreview(screenTrack);
712
+ this._stopScreenTrack();
713
+ this._cleanShareWithAudioDataSource();
600
714
  }
601
715
  }, {
602
716
  key: "_handleShareStartWithAudio",
@@ -611,6 +725,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
611
725
  key: "toggleScreenshareWithAudio",
612
726
  value: function toggleScreenshareWithAudio(withAudio) {
613
727
  this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
728
+ this.logger.info("[screen-share-provider] current-share with audio: ".concat(withAudio));
614
729
  if (this.currentShareStreamId && this._streamControl) {
615
730
  this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, this.currentShareStreamId, {
616
731
  audioPrivilege: withAudio ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
@@ -694,16 +809,23 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
694
809
  }
695
810
  }
696
811
  }, {
697
- key: "_screenTrackStop",
698
- value: function _screenTrackStop() {
812
+ key: "_stopScreenTrack",
813
+ value: function _stopScreenTrack() {
699
814
  var _this$screenTrack5;
700
815
  this.logger.info('screen-share-provider: current screen track stop');
701
816
  (_this$screenTrack5 = this.screenTrack) === null || _this$screenTrack5 === void 0 || _this$screenTrack5.stop();
702
817
  this.setShareLock(false);
703
818
  }
819
+ }, {
820
+ key: "_cleanShareWithAudioDataSource",
821
+ value: function _cleanShareWithAudioDataSource() {
822
+ this.logger.info('[screen-share-provider][cleanShareWithAudioDataSource] reset done !');
823
+ this._sharedScreenShareSharedDataSource.setShareWithAudioTrack(null);
824
+ this._sharedScreenShareSharedDataSource.setShareWithAudio(!(0, _env.isElectron)());
825
+ }
704
826
  }]);
705
827
  }();
706
828
  _FcrUIScreenShareProviderImpl = FcrUIScreenShareProviderImpl;
707
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.bound, 2, "getCurrentScreenSharingOwner"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "bootstrap"], [_decorator.bound, 2, "_handleWebScreenCaptureStateUpdated"], [_handleScreenCaptureStateUpdatedDecs, 18, "_handleScreenCaptureStateUpdated"], [_handleShareStopWithAudioDecs, 18, "_handleShareStopWithAudio"], [_replaceScreenShareDecs, 18, "replaceScreenShare"], [_decorator.bound, 2, "_syncShareStreamState"], [_handleStreamUpdateDecs, 18, "_handleStreamUpdate"], [_decorator.bound, 2, "startRenderSharePreview"], [_decorator.bound, 2, "stopRenderSharePreview"], [_handleStreamPublicDecs, 18, "_handleStreamPublic"], [_releaseDecs, 18, "release"], [_startShareScreenDecs, 18, "startShareScreen"], [_handleShareStartWithAudioDecs, 18, "_handleShareStartWithAudio"], [_decorator.bound, 2, "_getExcludeWindows"], [_decorator.bound, 2, "_screenTrackStop"]], []).e, 1);
829
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.bound, 2, "setSharingInReplace"], [_zoomOutDecs, 18, "zoomOut"], [_zoomInDecs, 18, "zoomIn"], [_fullContainerDecs, 18, "fullContainer"], [_mobx.computed, 3, "isAspectRatioPreserved"], [_setOriginScalcDecs, 18, "setOriginScalc"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "bootstrap"], [_decorator.bound, 2, "_handleWebScreenCaptureStateUpdated"], [_handleScreenCaptureStateUpdatedDecs, 18, "_handleScreenCaptureStateUpdated"], [_handleShareStopWithAudioDecs, 18, "_handleShareStopWithAudio"], [_replaceScreenShareDecs, 18, "replaceScreenShare"], [_handleRemoteVideoStatsUpdatedDecs, 18, "_handleRemoteVideoStatsUpdated"], [_decorator.bound, 2, "_syncShareStreamState"], [_handleStreamUpdateDecs, 18, "_handleStreamUpdate"], [_decorator.bound, 2, "startRenderSharePreview"], [_decorator.bound, 2, "stopRenderSharePreview"], [_syncScreenShareStreamInfosDecs, 18, "_syncScreenShareStreamInfos"], [_releaseDecs, 18, "release"], [_startShareScreenDecs, 18, "startShareScreen"], [_decorator.bound, 2, "stopShareScreen"], [_decorator.bound, 2, "stopShareScreenByExitRoom"], [_handleShareStartWithAudioDecs, 18, "_handleShareStartWithAudio"], [_decorator.bound, 2, "toggleScreenshareWithAudio"], [_decorator.bound, 2, "_getExcludeWindows"], [_decorator.bound, 2, "removeScreenStream"], [_decorator.bound, 2, "_stopScreenTrack"], [_decorator.bound, 2, "_cleanShareWithAudioDataSource"]], []).e, 1);
708
830
  _initProto = _applyDecs$e[0];
709
831
  (0, _base.registerDependency)('screenShareProvider');
@@ -23,7 +23,6 @@ export declare class FcrUISharingProviderImpl implements FcrUISharingProvider {
23
23
  accessor whiteboardOwnerId: string;
24
24
  accessor screenSharingState: FcrScreenSharingState;
25
25
  accessor whiteboardState: FcrWhiteboardState;
26
- get isReplaceScreen(): boolean;
27
26
  get isSeizeStream(): boolean;
28
27
  constructor(_sharingControl: FcrSharingControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource);
29
28
  startScreenSharing(config: FcrScreenStreamCreateConfig): void;