fcr-ui-scene 3.7.5 → 3.7.7

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 (401) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +15 -7
  4. package/lib/creator/provider-initializer.browser.js +13 -4
  5. package/lib/creator/provider-initializer.electron.js +22 -10
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +90 -6
  9. package/lib/electron/injections.d.ts +1 -0
  10. package/lib/electron/injections.js +5 -1
  11. package/lib/electron/ipc/type.d.ts +1 -0
  12. package/lib/electron/ipc/type.js +1 -0
  13. package/lib/electron/preload.js +1 -0
  14. package/lib/electron/sdk-helper.d.ts +3 -0
  15. package/lib/electron/sdk-helper.js +53 -19
  16. package/lib/electron/struct.d.ts +7 -1
  17. package/lib/electron/struct.js +8 -1
  18. package/lib/electron/until.d.ts +7 -1
  19. package/lib/electron/until.js +11 -2
  20. package/lib/fragments/annotation/store.js +2 -0
  21. package/lib/modules/action-bar/components/item/index.js +1 -0
  22. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  23. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  24. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  25. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  26. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  27. package/lib/modules/action-bar/index.d.ts +55 -14
  28. package/lib/modules/action-bar/index.dev.js +94 -0
  29. package/lib/modules/action-bar/index.js +78 -32
  30. package/lib/modules/action-bar/store.d.ts +259 -0
  31. package/lib/modules/action-bar/store.js +1529 -0
  32. package/lib/modules/action-bar/types.d.ts +90 -0
  33. package/lib/modules/action-bar/types.js +6 -0
  34. package/lib/modules/action-bar/view.d.ts +1 -1
  35. package/lib/modules/action-bar/view.js +2 -2
  36. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  37. package/lib/modules/annotation/annotation-index.js +80 -0
  38. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  39. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  40. package/lib/modules/annotation/board-cursor.css +77 -0
  41. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  42. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  43. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  44. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  45. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  46. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  47. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  48. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  49. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  50. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  51. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  52. package/lib/modules/annotation/components/expansion/index.js +100 -0
  53. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  54. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  55. package/lib/modules/annotation/components/history.d.ts +2 -0
  56. package/lib/modules/annotation/components/history.js +78 -0
  57. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  58. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  59. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  60. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  61. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  62. package/lib/modules/annotation/components/item/index.js +43 -0
  63. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  64. package/lib/modules/annotation/components/move-handle.js +134 -0
  65. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  66. package/lib/modules/annotation/components/pen-picker.js +155 -0
  67. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  68. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  69. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/shape-picker.js +210 -0
  71. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  72. package/lib/modules/annotation/hooks/index.js +292 -0
  73. package/lib/modules/annotation/index.d.ts +45 -0
  74. package/lib/modules/annotation/index.js +168 -0
  75. package/lib/modules/annotation/store.d.ts +98 -0
  76. package/lib/modules/annotation/store.js +620 -0
  77. package/lib/modules/annotation/style.css +36 -0
  78. package/lib/modules/annotation/view.d.ts +3 -0
  79. package/lib/modules/annotation/view.js +44 -0
  80. package/lib/modules/audio-stream/index.js +4 -2
  81. package/lib/modules/chat/index.css +8 -0
  82. package/lib/modules/chat/view.js +7 -1
  83. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  84. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  85. package/lib/modules/components/control-bar/index.css +0 -2
  86. package/lib/modules/components/control-bar/index.d.ts +1 -0
  87. package/lib/modules/components/control-bar/index.js +51 -15
  88. package/lib/modules/components/device-control/store.d.ts +42 -0
  89. package/lib/modules/components/device-control/store.js +241 -0
  90. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  91. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  92. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  93. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  94. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  95. package/lib/modules/components/leave-meeting/store.js +270 -0
  96. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  97. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  98. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  99. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  100. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  101. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  102. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  103. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  104. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  105. package/lib/modules/components/toolbar/index.js +6 -24
  106. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  107. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  108. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  109. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  110. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  111. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  112. package/lib/modules/control-bar/hooks.js +2 -1
  113. package/lib/modules/control-bar/store.d.ts +1 -0
  114. package/lib/modules/control-bar/store.js +21 -7
  115. package/lib/modules/control-bar/types.d.ts +5 -16
  116. package/lib/modules/control-bar/view.js +96 -28
  117. package/lib/modules/dialog/components/confirm/index.js +6 -24
  118. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  119. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  120. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  121. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  122. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  123. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  124. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  125. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  126. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  127. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  128. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  129. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  130. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  131. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  132. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  133. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  134. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  135. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  136. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +3 -3
  137. package/lib/modules/dialog/dialogs/pre-setting/index.js +25 -20
  138. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  139. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  140. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  141. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  142. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  143. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  144. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  145. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  146. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  147. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  148. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -3
  149. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  150. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  151. package/lib/modules/dialog/index.css +6 -2
  152. package/lib/modules/dialog/level-config.d.ts +1 -0
  153. package/lib/modules/dialog/level-config.js +2 -1
  154. package/lib/modules/dialog/store.base.d.ts +2 -0
  155. package/lib/modules/dialog/store.browser.d.ts +2 -0
  156. package/lib/modules/dialog/store.browser.js +6 -1
  157. package/lib/modules/dialog/store.d.ts +135 -0
  158. package/lib/modules/dialog/store.electron.d.ts +9 -1
  159. package/lib/modules/dialog/store.electron.js +64 -4
  160. package/lib/modules/dialog/store.js +616 -0
  161. package/lib/modules/dialog/type.d.ts +3 -0
  162. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  163. package/lib/modules/event-confirm/components/window/index.js +221 -0
  164. package/lib/modules/event-confirm/index.css +24 -0
  165. package/lib/modules/event-confirm/index.d.ts +27 -0
  166. package/lib/modules/event-confirm/index.js +76 -0
  167. package/lib/modules/event-confirm/store.d.ts +50 -0
  168. package/lib/modules/event-confirm/store.js +394 -0
  169. package/lib/modules/event-confirm/view.d.ts +2 -0
  170. package/lib/modules/event-confirm/view.js +55 -0
  171. package/lib/modules/event-toast/index.css +0 -1
  172. package/lib/modules/event-toast/index.js +1 -0
  173. package/lib/modules/event-toast/store.base.d.ts +2 -0
  174. package/lib/modules/event-toast/store.base.js +40 -21
  175. package/lib/modules/event-toast/store.d.ts +9 -5
  176. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  177. package/lib/modules/event-toast/store.electron.js +19 -9
  178. package/lib/modules/event-toast/store.js +57 -39
  179. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  180. package/lib/modules/layout/store.d.ts +176 -0
  181. package/lib/modules/layout/store.electron.js +1 -1
  182. package/lib/modules/layout/store.js +1452 -0
  183. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  184. package/lib/modules/participant/store.base.d.ts +30 -3
  185. package/lib/modules/participant/store.base.js +249 -96
  186. package/lib/modules/participant/store.browser.js +4 -3
  187. package/lib/modules/participant/store.d.ts +222 -0
  188. package/lib/modules/participant/store.electron.js +5 -3
  189. package/lib/modules/participant/store.js +1929 -0
  190. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  191. package/lib/modules/pc-audio-connect/index.js +67 -0
  192. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  193. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  194. package/lib/modules/pc-audio-connect/store.js +304 -0
  195. package/lib/modules/secondary-window/store.d.ts +1 -1
  196. package/lib/modules/secondary-window/store.js +14 -22
  197. package/lib/modules/secondary-window/view.js +10 -10
  198. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  199. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  200. package/lib/modules/setting/dialog-wrapper.js +110 -0
  201. package/lib/modules/setting/index.js +1 -1
  202. package/lib/modules/setting/state/index.js +1 -1
  203. package/lib/modules/setting/store.base.d.ts +5 -2
  204. package/lib/modules/setting/store.base.js +72 -26
  205. package/lib/modules/setting/store.d.ts +261 -0
  206. package/lib/modules/setting/store.js +1321 -0
  207. package/lib/modules/share-screen/components/selection/index.css +4 -0
  208. package/lib/modules/share-screen/store.base.js +17 -4
  209. package/lib/modules/share-screen/store.d.ts +148 -0
  210. package/lib/modules/share-screen/store.electron.js +5 -2
  211. package/lib/modules/share-screen/store.js +960 -0
  212. package/lib/modules/share-screen/types.d.ts +26 -0
  213. package/lib/modules/share-screen/types.js +6 -0
  214. package/lib/modules/state-bar/layout-config.js +6 -0
  215. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  216. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  217. package/lib/modules/state-bar/store.d.ts +124 -0
  218. package/lib/modules/state-bar/store.js +664 -0
  219. package/lib/modules/video-window/index.css +6 -0
  220. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  221. package/lib/modules/video-window/popover-watcher.js +34 -31
  222. package/lib/modules/video-window/store.d.ts +32 -5
  223. package/lib/modules/video-window/store.js +156 -63
  224. package/lib/modules/video-window/view.js +50 -1
  225. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  226. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  227. package/lib/modules/whiteboard/index.d.ts +1 -1
  228. package/lib/modules/whiteboard/index.js +1 -1
  229. package/lib/modules/whiteboard/store.d.ts +3 -0
  230. package/lib/modules/whiteboard/store.js +31 -2
  231. package/lib/modules/whiteboard/view.js +10 -1
  232. package/lib/modules/widget/sdk.js +1 -1
  233. package/lib/modules/widget/store.base.d.ts +1 -0
  234. package/lib/modules/widget/store.browser.d.ts +1 -0
  235. package/lib/modules/widget/store.browser.js +60 -4
  236. package/lib/modules/widget/store.d.ts +5 -8
  237. package/lib/modules/widget/store.electron.d.ts +1 -0
  238. package/lib/modules/widget/store.electron.js +59 -2
  239. package/lib/modules/widget/store.js +4 -47
  240. package/lib/modules/widget/type.d.ts +3 -2
  241. package/lib/modules/widget/view.js +9 -4
  242. package/lib/modules/widget/web-widget.d.ts +2 -1
  243. package/lib/modules/widget/web-widget.js +7 -5
  244. package/lib/object-manager.d.ts +2 -2
  245. package/lib/object-manager.js +1 -1
  246. package/lib/providers/annotation-provider.d.ts +124 -0
  247. package/lib/providers/annotation-provider.js +369 -0
  248. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  249. package/lib/providers/board-share/bar-control/base.js +37 -28
  250. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  251. package/lib/providers/board-share/bar-control/electron.js +19 -16
  252. package/lib/providers/board-share/provider.base.d.ts +8 -1
  253. package/lib/providers/board-share/provider.base.js +12 -2
  254. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  255. package/lib/providers/board-share/provider.browser.js +21 -3
  256. package/lib/providers/device-provider.d.ts +16 -2
  257. package/lib/providers/device-provider.js +53 -60
  258. package/lib/providers/dialog/provider.base.d.ts +1 -0
  259. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  260. package/lib/providers/dialog/provider.browser.js +7 -2
  261. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  262. package/lib/providers/dialog/provider.electron.js +94 -2
  263. package/lib/providers/dialog/type.d.ts +7 -0
  264. package/lib/providers/dialog-provider.d.ts +137 -0
  265. package/lib/providers/dialog-provider.js +194 -0
  266. package/lib/providers/message-provider.d.ts +69 -0
  267. package/lib/providers/message-provider.js +140 -0
  268. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  269. package/lib/providers/mouse-detect/provider.js +119 -5
  270. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  271. package/lib/providers/mouse-detect/struct.js +1 -0
  272. package/lib/providers/mouse-detect/type.d.ts +2 -0
  273. package/lib/providers/multi-display-provider.d.ts +3 -5
  274. package/lib/providers/multi-display-provider.js +0 -9
  275. package/lib/providers/renderer-provider.d.ts +5 -0
  276. package/lib/providers/renderer-provider.js +5 -0
  277. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  278. package/lib/providers/room-provider/room-provider.js +28 -39
  279. package/lib/providers/room-provider.d.ts +194 -0
  280. package/lib/providers/room-provider.js +916 -0
  281. package/lib/providers/screen-share/provider.base.js +3 -11
  282. package/lib/providers/screen-share/provider.browser.js +23 -14
  283. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  284. package/lib/providers/screen-share/provider.electron.js +44 -17
  285. package/lib/providers/screen-share/strategy/browser.js +16 -13
  286. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  287. package/lib/providers/screen-share/strategy/electron.js +15 -10
  288. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  289. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  290. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  291. package/lib/providers/screen-share/struct.d.ts +9 -7
  292. package/lib/providers/screen-share/struct.js +11 -8
  293. package/lib/providers/screen-share/type.d.ts +7 -1
  294. package/lib/providers/screen-share-provider.d.ts +245 -0
  295. package/lib/providers/screen-share-provider.js +850 -0
  296. package/lib/providers/sharing-provider.d.ts +42 -0
  297. package/lib/providers/sharing-provider.js +228 -0
  298. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  299. package/lib/providers/user-setting-storage-provider.js +65 -0
  300. package/lib/providers/whiteboard-provider.d.ts +2 -4
  301. package/lib/providers/whiteboard-provider.js +4 -7
  302. package/lib/providers/widget-provider.d.ts +5 -3
  303. package/lib/providers/widget-provider.js +12 -18
  304. package/lib/providers/window/main-window.d.ts +0 -5
  305. package/lib/providers/window/main-window.js +3 -44
  306. package/lib/providers/window/renderer-window.d.ts +1 -0
  307. package/lib/providers/window/renderer-window.js +13 -2
  308. package/lib/runtime.d.ts +1 -0
  309. package/lib/runtime.js +2 -1
  310. package/lib/scenes/main-scene.js +5 -0
  311. package/lib/shared-context/board-context.d.ts +2 -0
  312. package/lib/shared-context/board-context.js +2 -0
  313. package/lib/shared-data/member-data.d.ts +0 -8
  314. package/lib/shared-data/member-data.js +26 -78
  315. package/lib/shared-data/widget-data.d.ts +13 -0
  316. package/lib/shared-data/widget-data.js +50 -0
  317. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  318. package/lib/{modules/action-bar/store.base.js → shared-data-source/annotation-data.js} +34 -41
  319. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  320. package/lib/shared-data-source/app-list-data.js +133 -0
  321. package/lib/shared-data-source/chat-data.d.ts +25 -0
  322. package/lib/shared-data-source/chat-data.js +139 -0
  323. package/lib/shared-data-source/config.d.ts +35 -0
  324. package/lib/shared-data-source/config.js +40 -0
  325. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  326. package/lib/shared-data-source/confirm-data.js +201 -0
  327. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  328. package/lib/shared-data-source/device-privilege-data.js +25 -0
  329. package/lib/shared-data-source/interpreter.d.ts +77 -0
  330. package/lib/shared-data-source/interpreter.js +247 -0
  331. package/lib/shared-data-source/layout-data.d.ts +31 -0
  332. package/lib/shared-data-source/layout-data.js +189 -0
  333. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  334. package/lib/shared-data-source/meeting-time.js +416 -0
  335. package/lib/shared-data-source/member-data.d.ts +139 -0
  336. package/lib/shared-data-source/member-data.js +517 -0
  337. package/lib/shared-data-source/pin-data.d.ts +13 -0
  338. package/lib/{modules/action-bar/waiting-scene/store.js → shared-data-source/pin-data.js} +55 -35
  339. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  340. package/lib/shared-data-source/screen-share-data.js +513 -0
  341. package/lib/shared-data-source/security-data.d.ts +39 -0
  342. package/lib/shared-data-source/security-data.js +156 -0
  343. package/lib/shared-data-source/setting.d.ts +67 -0
  344. package/lib/shared-data-source/setting.js +220 -0
  345. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  346. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  347. package/lib/shared-data-source/video-window.d.ts +165 -0
  348. package/lib/shared-data-source/video-window.js +1266 -0
  349. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  350. package/lib/shared-data-source/waiting-room.js +222 -0
  351. package/lib/{shared-data → shared-data-source}/whiteboard-data.d.ts +2 -2
  352. package/lib/{shared-data → shared-data-source}/whiteboard-data.js +23 -17
  353. package/lib/translations/enUS.d.ts +0 -2
  354. package/lib/translations/enUS.js +4 -6
  355. package/lib/translations/zhCN.d.ts +0 -2
  356. package/lib/translations/zhCN.js +4 -6
  357. package/lib/type.d.ts +5 -0
  358. package/lib/ui-scene.d.ts +2 -4
  359. package/lib/ui-scene.js +31 -42
  360. package/lib/utilities/board-context.d.ts +4 -0
  361. package/lib/utilities/board-context.js +12 -0
  362. package/lib/utilities/constant.d.ts +3 -1
  363. package/lib/utilities/constant.js +5 -2
  364. package/lib/utilities/copyText.d.ts +2 -0
  365. package/lib/utilities/copyText.js +48 -0
  366. package/lib/utilities/default-config.d.ts +18 -0
  367. package/lib/utilities/default-config.js +19 -1
  368. package/lib/utilities/focus-helper.js +10 -3
  369. package/lib/utilities/logger.js +3 -1
  370. package/lib/utilities/renderer-event.d.ts +10 -0
  371. package/lib/utilities/renderer-event.js +95 -0
  372. package/lib/utilities/renderer.d.ts +1 -0
  373. package/lib/utilities/renderer.js +7 -1
  374. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  375. package/lib/utilities/screen-capture-permission.js +24 -0
  376. package/lib/utilities/screen.d.ts +3 -0
  377. package/lib/utilities/screen.js +53 -0
  378. package/lib/utilities/video-track-render-context.d.ts +6 -0
  379. package/lib/utilities/video-track-render-context.js +9 -0
  380. package/lib/waiting-room-control-manager.d.ts +28 -0
  381. package/lib/waiting-room-control-manager.js +230 -0
  382. package/package.json +5 -5
  383. package/public/index.html +35 -4
  384. package/lib/modules/action-bar/store.base.d.ts +0 -15
  385. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  386. package/lib/providers/board-share/bar-control.d.ts +0 -51
  387. package/lib/providers/board-share/bar-control.js +0 -390
  388. package/lib/providers/board-share/provider.d.ts +0 -66
  389. package/lib/providers/board-share/provider.js +0 -456
  390. package/lib/providers/screen-share/provider.d.ts +0 -69
  391. package/lib/providers/screen-share/provider.js +0 -615
  392. package/lib/providers/window/browser-window-proxy.js +0 -1
  393. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  394. package/lib/providers/window/ipc-protocol.js +0 -1
  395. package/lib/providers/window/main-process-handler.d.ts +0 -0
  396. package/lib/providers/window/main-process-handler.js +0 -1
  397. package/lib/providers/window/main-process-integration.d.ts +0 -0
  398. package/lib/providers/window/main-process-integration.js +0 -1
  399. package/lib/utilities/ipc-protocol.d.ts +0 -91
  400. package/lib/utilities/ipc-protocol.js +0 -61
  401. /package/lib/{providers/window/browser-window-proxy.d.ts → modules/action-bar/index.dev.d.ts} +0 -0
@@ -66,7 +66,6 @@ var _struct = require("./struct");
66
66
  var _observable = require("agora-foundation/lib/utilities/observable");
67
67
  var _decorator = require("agora-foundation/lib/decorator");
68
68
  var _mobx = require("mobx");
69
- var _type2 = require("agora-rte-sdk/lib/core/rtc/type");
70
69
  var _get = _interopRequireDefault(require("lodash/get"));
71
70
  var _FcrUIScreenShareProviderBase;
72
71
  var _initProto, _init__isLocalUserScreenSharing, _init__isRemoteUserScreenSharing, _init__isSharingWithAudio, _init__isSharingInSmoothMode, _init__isSharingInStereoAudioMode, _init__shareStreamId, _init__sharingUser, _enableScreenShareAudioDecs, _disableScreenShareAudioDecs, _enableSmoothModeDecs, _disableSmoothModeDecs, _enableStereoAudioModeDecs, _disableStereoAudioModeDecs, _findSharingUserDecs, _handleStreamUpdatedDecs, _ref;
@@ -183,7 +182,7 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
183
182
  _this.observable.notifyObservers('onScreenShareStarted', _this.strategy.getScreenTrack());
184
183
  }
185
184
  });
186
- this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onScreenShareErrorOccurred', 'onScreenShareStarted', 'onScreenShareStopped', 'onShareSourceReplaced', 'onPrepreScreenCapture']));
185
+ this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onScreenShareErrorOccurred', 'onAudioShareErrorOccurred', 'onScreenShareStarted', 'onScreenShareStopped', 'onShareSourceReplaced', 'onPrepreScreenCapture']));
187
186
  }
188
187
  return (0, _createClass2["default"])(FcrUIScreenShareProviderBase, [{
189
188
  key: "_isLocalUserScreenSharing",
@@ -328,12 +327,6 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
328
327
  _context.next = 1;
329
328
  break;
330
329
  }
331
- // this.observable.notifyObservers(
332
- // 'onScreenShareErrorOccurred',
333
- // FcrUIScreenShareErrorCode.CANNOT_START_LOOPBACK_CAPTURE,
334
- // );
335
-
336
- // throw new Error('cannot start screen share audio: no screen stream created');
337
330
  this.logger.info('local screen stream not yet created, skip updating stream for audio');
338
331
  return _context.abrupt("return");
339
332
  case 1:
@@ -352,7 +345,7 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
352
345
  _context.prev = 4;
353
346
  _t = _context["catch"](1);
354
347
  this.logger.warn('failed to start screen share audio', _t);
355
- this.observable.notifyObservers('onScreenShareErrorOccurred', _struct.FcrUIScreenShareErrorCode.CANNOT_START_LOOPBACK_CAPTURE);
348
+ this.observable.notifyObservers('onAudioShareErrorOccurred', _struct.FcrUIAudioShareErrorCode.CANNOT_UPDATE_STREAM);
356
349
  throw new Error("cannot start screen share audio, error: ".concat(_t));
357
350
  case 5:
358
351
  case "end":
@@ -394,6 +387,7 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
394
387
  _context2.prev = 4;
395
388
  _t2 = _context2["catch"](1);
396
389
  this.logger.warn('failed to update stream when stopping share audio', _t2);
390
+ throw new Error("cannot update screen stream, error: ".concat(_t2));
397
391
  case 5:
398
392
  case "end":
399
393
  return _context2.stop();
@@ -409,13 +403,11 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
409
403
  key: "enableSmoothMode",
410
404
  value: function enableSmoothMode() {
411
405
  this._isSharingInSmoothMode = true;
412
- this._streamControl.setScreenScenario(_type2.AgoraRtcScreenScenarioType.SMOOTH);
413
406
  }
414
407
  }, {
415
408
  key: "disableSmoothMode",
416
409
  value: function disableSmoothMode() {
417
410
  this._isSharingInSmoothMode = false;
418
- this._streamControl.setScreenScenario(_type2.AgoraRtcScreenScenarioType.CLEARITY);
419
411
  }
420
412
  }, {
421
413
  key: "enableStereoAudioMode",
@@ -57,6 +57,7 @@ var _provider = require("./provider.base");
57
57
  var _browser = require("./strategy/browser");
58
58
  var _struct = require("./struct");
59
59
  var _decorator = require("agora-foundation/lib/decorator");
60
+ var _defaultConfig = require("../../utilities/default-config");
60
61
  var _FcrUIScreenShareProviderImpl;
61
62
  var _initProto;
62
63
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -116,7 +117,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
116
117
  key: "startShare",
117
118
  value: function () {
118
119
  var _startShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref) {
119
- var videoSourceId, _ref$captureType, captureType, _ref$excludeWindows, excludeWindows, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, _t, _t2;
120
+ var videoSourceId, _ref$captureType, captureType, _ref$excludeWindows, excludeWindows, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, encoderConfig, dimensions, frameRate, bitrate, _t, _t2;
120
121
  return _regenerator["default"].wrap(function (_context3) {
121
122
  while (1) switch (_context3.prev = _context3.next) {
122
123
  case 0:
@@ -162,12 +163,24 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
162
163
  if (audioSourceId) {
163
164
  createConfig.audioSourceId = audioSourceId;
164
165
  }
166
+
167
+ // first set screen scenario
168
+ if (this.isSharingInSmoothMode) {
169
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
170
+ } else {
171
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
172
+ }
173
+ encoderConfig = _defaultConfig.screenCaptureHighStreamEncoderConfig;
174
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
165
175
  _context3.prev = 5;
166
176
  _context3.next = 6;
167
177
  return this.strategy.startScreenCapture({
168
178
  sourceId: videoSourceId,
169
179
  captureType: captureType,
170
- excludeWindows: excludeWindows
180
+ excludeWindows: excludeWindows,
181
+ dimensions: dimensions,
182
+ frameRate: frameRate,
183
+ bitrate: bitrate
171
184
  });
172
185
  case 6:
173
186
  _context3.next = 8;
@@ -190,10 +203,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
190
203
  case 10:
191
204
  _context3.prev = 10;
192
205
  _context3.next = 11;
193
- return this._screenStreamSync.startScreenStream(createConfig, {
194
- width: 0,
195
- height: 0
196
- });
206
+ return this._screenStreamSync.startScreenStream(createConfig, encoderConfig);
197
207
  case 11:
198
208
  _context3.next = 13;
199
209
  break;
@@ -203,12 +213,6 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
203
213
  this.observable.notifyObservers('onScreenShareErrorOccurred', _struct.FcrUIScreenShareErrorCode.CANNOT_CREATE_STREAM);
204
214
  throw new Error("cannot create screen stream, error: ".concat(_t2));
205
215
  case 13:
206
- if (this.isSharingInSmoothMode) {
207
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
208
- } else {
209
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
210
- }
211
- case 14:
212
216
  case "end":
213
217
  return _context3.stop();
214
218
  }
@@ -246,16 +250,21 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
246
250
  key: "replaceShare",
247
251
  value: function () {
248
252
  var _replaceShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref2) {
249
- var videoSourceId, captureType, excludeWindows;
253
+ var videoSourceId, captureType, excludeWindows, encoderConfig, dimensions, frameRate, bitrate;
250
254
  return _regenerator["default"].wrap(function (_context5) {
251
255
  while (1) switch (_context5.prev = _context5.next) {
252
256
  case 0:
253
257
  videoSourceId = _ref2.videoSourceId, captureType = _ref2.captureType, excludeWindows = _ref2.excludeWindows;
258
+ encoderConfig = _defaultConfig.screenCaptureHighStreamEncoderConfig;
259
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
254
260
  _context5.next = 1;
255
261
  return this.strategy.replaceScreenCaptureSource({
256
262
  sourceId: videoSourceId,
257
263
  captureType: captureType,
258
- excludeWindows: excludeWindows
264
+ excludeWindows: excludeWindows,
265
+ dimensions: dimensions,
266
+ frameRate: frameRate,
267
+ bitrate: bitrate
259
268
  });
260
269
  case 1:
261
270
  case "end":
@@ -14,4 +14,5 @@ export declare class FcrUIScreenShareProviderImpl extends FcrUIScreenShareProvid
14
14
  findSharingDisplayBounds(): Electron.Rectangle;
15
15
  createStrategy(): FcrUIScreenShareStrategy;
16
16
  private _getExcludeWindows;
17
+ private _getEncoderConfig;
17
18
  }
@@ -41,6 +41,7 @@ exports.FcrUIScreenShareProviderImpl = void 0;
41
41
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
42
42
  require("core-js/modules/es.error.cause.js");
43
43
  require("core-js/modules/es.error.to-string.js");
44
+ require("core-js/modules/es.array.concat.js");
44
45
  require("core-js/modules/es.array.filter.js");
45
46
  require("core-js/modules/es.array.for-each.js");
46
47
  require("core-js/modules/es.array.includes.js");
@@ -54,6 +55,7 @@ require("core-js/modules/esnext.iterator.for-each.js");
54
55
  require("core-js/modules/esnext.iterator.map.js");
55
56
  require("core-js/modules/web.dom-collections.for-each.js");
56
57
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
58
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
57
59
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
58
60
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
59
61
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -71,6 +73,8 @@ var _struct = require("./struct");
71
73
  var _decorator = require("agora-foundation/lib/decorator");
72
74
  var _misc = require("agora-foundation/lib/utilities/misc");
73
75
  var _tools = require("../../utilities/tools");
76
+ var _constant = require("../../utilities/constant");
77
+ var _defaultConfig = require("../../utilities/default-config");
74
78
  var _FcrUIScreenShareProviderImpl;
75
79
  var _initProto;
76
80
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -135,7 +139,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
135
139
  return this._mediaControl.getWindowList();
136
140
  case 1:
137
141
  this._windowList = _context2.sent.filter(function (item) {
138
- return !['AgoraHighLighter', 'Toast', 'Confirm', 'Annotation tool bar', 'Annotation', 'Video Window', 'Control Bar', _this2._currentWindow.getTitle()].includes(item.title);
142
+ return ![].concat((0, _toConsumableArray2["default"])(_constant.ExcludeWIndows), [_this2._currentWindow.getTitle()]).includes(item.title);
139
143
  }).map(function (item) {
140
144
  return {
141
145
  id: item.id,
@@ -162,7 +166,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
162
166
  key: "startShare",
163
167
  value: function () {
164
168
  var _startShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref) {
165
- var videoSourceId, _ref$captureType, captureType, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, excludeWindows, _t, _t2;
169
+ var videoSourceId, _ref$captureType, captureType, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, encoderConfig, excludeWindows, dimensions, frameRate, bitrate, _t, _t2;
166
170
  return _regenerator["default"].wrap(function (_context3) {
167
171
  while (1) switch (_context3.prev = _context3.next) {
168
172
  case 0:
@@ -210,14 +214,10 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
210
214
  }
211
215
  this._sharingDisplayBounds = this.findSharingDisplayBounds();
212
216
  this.observable.notifyObservers('onPrepreScreenCapture');
213
-
214
- // create screen stream
217
+ encoderConfig = this._getEncoderConfig(); // create screen stream
215
218
  _context3.prev = 5;
216
219
  _context3.next = 6;
217
- return this._screenStreamSync.startScreenStream(createConfig, {
218
- width: 0,
219
- height: 0
220
- });
220
+ return this._screenStreamSync.startScreenStream(createConfig, encoderConfig);
221
221
  case 6:
222
222
  _context3.next = 8;
223
223
  break;
@@ -232,11 +232,15 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
232
232
  return this._getExcludeWindows();
233
233
  case 9:
234
234
  excludeWindows = _context3.sent;
235
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
235
236
  _context3.next = 10;
236
237
  return this.strategy.startScreenCapture({
237
238
  sourceId: videoSourceId,
238
239
  captureType: captureType,
239
- excludeWindows: excludeWindows
240
+ excludeWindows: excludeWindows,
241
+ dimensions: dimensions,
242
+ frameRate: frameRate,
243
+ bitrate: bitrate
240
244
  });
241
245
  case 10:
242
246
  _context3.next = 12;
@@ -254,12 +258,6 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
254
258
  _context3.next = 13;
255
259
  return this.strategy.startLoopbackCapture({});
256
260
  case 13:
257
- if (this.isSharingInSmoothMode) {
258
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
259
- } else {
260
- this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
261
- }
262
- case 14:
263
261
  case "end":
264
262
  return _context3.stop();
265
263
  }
@@ -300,7 +298,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
300
298
  key: "replaceShare",
301
299
  value: function () {
302
300
  var _replaceShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref2) {
303
- var videoSourceId, captureType, screenTrack, excludeWindows, _t3;
301
+ var videoSourceId, captureType, screenTrack, excludeWindows, encoderConfig, dimensions, frameRate, bitrate, _t3;
304
302
  return _regenerator["default"].wrap(function (_context5) {
305
303
  while (1) switch (_context5.prev = _context5.next) {
306
304
  case 0:
@@ -325,11 +323,16 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
325
323
  return this._getExcludeWindows();
326
324
  case 3:
327
325
  excludeWindows = _context5.sent;
326
+ encoderConfig = this._getEncoderConfig();
327
+ dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
328
328
  _context5.next = 4;
329
329
  return this.strategy.replaceScreenCaptureSource({
330
330
  sourceId: videoSourceId,
331
331
  captureType: captureType,
332
- excludeWindows: excludeWindows
332
+ excludeWindows: excludeWindows,
333
+ dimensions: dimensions,
334
+ frameRate: frameRate,
335
+ bitrate: bitrate
333
336
  });
334
337
  case 4:
335
338
  if (!this._isSharingWithAudio) {
@@ -416,6 +419,30 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
416
419
  }
417
420
  return _getExcludeWindows;
418
421
  }()
422
+ }, {
423
+ key: "_getEncoderConfig",
424
+ value: function _getEncoderConfig() {
425
+ var dimensions;
426
+ var frameRate;
427
+ var bitrate;
428
+ if (this.isSharingInSmoothMode) {
429
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.SMOOTH);
430
+ dimensions = _defaultConfig.screenCaptureSmoothConfig.dimensions;
431
+ frameRate = _defaultConfig.screenCaptureSmoothConfig.frameRate;
432
+ bitrate = _defaultConfig.screenCaptureSmoothConfig.bitrate;
433
+ } else {
434
+ this._streamControl.setScreenScenario(_type.AgoraRtcScreenScenarioType.CLEARITY);
435
+ dimensions = _defaultConfig.screenCaptureClearityConfig.dimensions;
436
+ frameRate = _defaultConfig.screenCaptureClearityConfig.frameRate;
437
+ bitrate = _defaultConfig.screenCaptureClearityConfig.bitrate;
438
+ }
439
+ return {
440
+ dimensions: dimensions,
441
+ frameRate: frameRate,
442
+ bitrate: bitrate,
443
+ isMirror: false
444
+ };
445
+ }
419
446
  }]);
420
447
  }(_provider.FcrUIScreenShareProviderBase);
421
448
  _FcrUIScreenShareProviderImpl = FcrUIScreenShareProviderImpl;
@@ -49,20 +49,12 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
49
49
  }
50
50
  if (state === _fcrCore.FcrMediaSourceState.CLOSE) {
51
51
  _this._screenTrack = null;
52
-
53
- // this.observable.notifyObservers('onScreenCaptureStopped', sourceId);
54
-
55
52
  if (!_this._isReplacing) {
56
53
  _this.observable.notifyObservers('onScreenCaptureStopped', sourceId);
57
54
  }
58
55
  }
59
56
  if (state === _fcrCore.FcrMediaSourceState.OPEN) {
60
- // this.observable.notifyObservers('onScreenCaptureStarted', sourceId);
61
-
62
- if (_this._isReplacing) {
63
- _this._isReplacing = false;
64
- _this.observable.notifyObservers('onScreenCaptureReplaced', sourceId);
65
- } else {
57
+ if (!_this._isReplacing) {
66
58
  _this.observable.notifyObservers('onScreenCaptureStarted', sourceId);
67
59
  }
68
60
  }
@@ -95,7 +87,7 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
95
87
  key: "replaceScreenCaptureSource",
96
88
  value: function () {
97
89
  var _replaceScreenCaptureSource = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
98
- var sourceId, screenTrack;
90
+ var sourceId, screenTrack, _t;
99
91
  return _regenerator["default"].wrap(function (_context) {
100
92
  while (1) switch (_context.prev = _context.next) {
101
93
  case 0:
@@ -116,13 +108,24 @@ var FcrUIBrowserScreenShareStrategy = exports.FcrUIBrowserScreenShareStrategy =
116
108
  return this._stopTrackAndWaitUntilSuccess(screenTrack);
117
109
  case 2:
118
110
  screenTrack = this._mediaControl.getScreenTrack(sourceId);
119
- _context.next = 3;
111
+ _context.prev = 3;
112
+ _context.next = 4;
120
113
  return this._startTrackAndWaitUntilSuccess(screenTrack);
121
- case 3:
114
+ case 4:
115
+ this.observable.notifyObservers('onScreenCaptureReplaced', sourceId);
116
+ _context.next = 6;
117
+ break;
118
+ case 5:
119
+ _context.prev = 5;
120
+ _t = _context["catch"](3);
121
+ this.observable.notifyObservers('onScreenCaptureStopped', sourceId);
122
+ case 6:
123
+ this._isReplacing = false;
124
+ case 7:
122
125
  case "end":
123
126
  return _context.stop();
124
127
  }
125
- }, _callee, this);
128
+ }, _callee, this, [[3, 5]]);
126
129
  }));
127
130
  function replaceScreenCaptureSource(_x) {
128
131
  return _replaceScreenCaptureSource.apply(this, arguments);
@@ -10,13 +10,13 @@ export declare class FcrUIElectronScreenShareStrategy extends FcrUIScreenShareSt
10
10
  private _mediaControl;
11
11
  private _isReplacing;
12
12
  constructor(_objectManager: FcrUIObjectManager);
13
- startScreenCapture({ sourceId, captureType, excludeWindows, }: FcrUIScreenCaptureStartParams): Promise<void>;
13
+ startScreenCapture({ sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, }: FcrUIScreenCaptureStartParams): Promise<void>;
14
14
  stopScreenCapture(): Promise<void>;
15
15
  startLoopbackCapture(params: FcrUIScreenLoopbackCaptureStartParams): Promise<void>;
16
16
  stopLoopbackCapture(): Promise<void>;
17
17
  getScreenTrack(): FcrScreenTrack | null;
18
18
  getLoopbackDeviceId(): string | null;
19
- replaceScreenCaptureSource({ sourceId, captureType, excludeWindows, }: FcrUIScreenCaptureStartParams): Promise<void>;
19
+ replaceScreenCaptureSource({ sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, }: FcrUIScreenCaptureStartParams): Promise<void>;
20
20
  private _startTrackAndWaitUntilSuccess;
21
21
  private _stopTrackAndWaitUntilSuccess;
22
22
  }
@@ -24,7 +24,6 @@ var _logger = require("../../../utilities/logger");
24
24
  var _type = require("./type");
25
25
  var _objectManager2 = require("../../../object-manager");
26
26
  var _fcrCore = require("fcr-core");
27
- var _defaultConfig = require("../../../utilities/default-config");
28
27
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
29
28
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
29
  var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy = /*#__PURE__*/function (_FcrUIScreenShareStra) {
@@ -70,11 +69,11 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
70
69
  key: "startScreenCapture",
71
70
  value: function () {
72
71
  var _startScreenCapture = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
73
- var sourceId, captureType, excludeWindows, screenTrack;
72
+ var sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, screenTrack;
74
73
  return _regenerator["default"].wrap(function (_context) {
75
74
  while (1) switch (_context.prev = _context.next) {
76
75
  case 0:
77
- sourceId = _ref.sourceId, captureType = _ref.captureType, excludeWindows = _ref.excludeWindows;
76
+ sourceId = _ref.sourceId, captureType = _ref.captureType, excludeWindows = _ref.excludeWindows, dimensions = _ref.dimensions, frameRate = _ref.frameRate, bitrate = _ref.bitrate;
78
77
  if (sourceId) {
79
78
  _context.next = 1;
80
79
  break;
@@ -83,7 +82,7 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
83
82
  case 1:
84
83
  screenTrack = this._mediaControl.getScreenTrack(sourceId);
85
84
  _context.next = 2;
86
- return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows);
85
+ return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows, dimensions, frameRate, bitrate);
87
86
  case 2:
88
87
  case "end":
89
88
  return _context.stop();
@@ -162,11 +161,11 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
162
161
  key: "replaceScreenCaptureSource",
163
162
  value: function () {
164
163
  var _replaceScreenCaptureSource = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref2) {
165
- var sourceId, captureType, excludeWindows, screenTrack;
164
+ var sourceId, captureType, excludeWindows, dimensions, frameRate, bitrate, screenTrack;
166
165
  return _regenerator["default"].wrap(function (_context3) {
167
166
  while (1) switch (_context3.prev = _context3.next) {
168
167
  case 0:
169
- sourceId = _ref2.sourceId, captureType = _ref2.captureType, excludeWindows = _ref2.excludeWindows;
168
+ sourceId = _ref2.sourceId, captureType = _ref2.captureType, excludeWindows = _ref2.excludeWindows, dimensions = _ref2.dimensions, frameRate = _ref2.frameRate, bitrate = _ref2.bitrate;
170
169
  if (sourceId) {
171
170
  _context3.next = 1;
172
171
  break;
@@ -184,7 +183,7 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
184
183
  case 2:
185
184
  screenTrack = this._mediaControl.getScreenTrack(sourceId);
186
185
  _context3.next = 3;
187
- return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows);
186
+ return this._startTrackAndWaitUntilSuccess(screenTrack, captureType, excludeWindows, dimensions, frameRate, bitrate);
188
187
  case 3:
189
188
  case "end":
190
189
  return _context3.stop();
@@ -202,12 +201,18 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
202
201
  var _startTrackAndWaitUntilSuccess2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(screenTrack, captureType) {
203
202
  var _this2 = this;
204
203
  var excludeWindows,
204
+ dimensions,
205
+ frameRate,
206
+ bitrate,
205
207
  p,
206
208
  _args4 = arguments;
207
209
  return _regenerator["default"].wrap(function (_context4) {
208
210
  while (1) switch (_context4.prev = _context4.next) {
209
211
  case 0:
210
212
  excludeWindows = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : [];
213
+ dimensions = _args4.length > 3 ? _args4[3] : undefined;
214
+ frameRate = _args4.length > 4 ? _args4[4] : undefined;
215
+ bitrate = _args4.length > 5 ? _args4[5] : undefined;
211
216
  this._screenTrack = screenTrack;
212
217
  p = new Promise(function (resolve, reject) {
213
218
  var waitObserver = {
@@ -229,9 +234,9 @@ var FcrUIElectronScreenShareStrategy = exports.FcrUIElectronScreenShareStrategy
229
234
  screenTrack.addObserver(this._screenTrackObserver);
230
235
  screenTrack.setCaptureParams({
231
236
  withAudio: true,
232
- dimensions: _defaultConfig.screenCaptureHighStreamEncoderConfig.dimensions,
233
- frameRate: _defaultConfig.screenCaptureHighStreamEncoderConfig.frameRate,
234
- bitrate: _defaultConfig.screenCaptureHighStreamEncoderConfig.bitrate
237
+ dimensions: dimensions,
238
+ frameRate: frameRate,
239
+ bitrate: bitrate
235
240
  });
236
241
  screenTrack.start(captureType, excludeWindows);
237
242
  _context4.next = 1;
@@ -28,6 +28,12 @@ export interface FcrUIScreenCaptureStartParams {
28
28
  sourceId: string;
29
29
  captureType: FcrScreenCaptureType;
30
30
  excludeWindows?: string[];
31
+ dimensions: {
32
+ width: number;
33
+ height: number;
34
+ };
35
+ frameRate: number;
36
+ bitrate: number;
31
37
  }
32
38
  export interface FcrUIScreenLoopbackCaptureStartParams {
33
39
  }
@@ -1,5 +1,6 @@
1
1
  import { FcrUIManagedObject, FcrUIObjectManager } from '../../object-manager';
2
- import { FcrScreenStreamCreateConfig, FcrSize } from 'fcr-core/lib/room-control/stream-control/type';
2
+ import { FcrScreenStreamCreateConfig } from 'fcr-core/lib/room-control/stream-control/type';
3
+ import { FcrVideoEncoderConfig } from 'fcr-core/lib/type';
3
4
  import { FcrUIScreenStreamUpdateParams } from './type';
4
5
  export declare class FcrUIScreenStreamSync implements FcrUIManagedObject {
5
6
  protected logger: import("agora-foundation/lib/logger").Logger;
@@ -10,7 +11,7 @@ export declare class FcrUIScreenStreamSync implements FcrUIManagedObject {
10
11
  constructor(objectManager: FcrUIObjectManager);
11
12
  release(): void;
12
13
  checkIfMyScreenShareStreamExists(): string | null;
13
- startScreenStream(createConfig: FcrScreenStreamCreateConfig, size: FcrSize): Promise<void>;
14
+ startScreenStream(createConfig: FcrScreenStreamCreateConfig, encoderConfig: FcrVideoEncoderConfig): Promise<void>;
14
15
  stopScreenStream(): Promise<void>;
15
16
  updateStream({ videoSourceId, audioPublishPrivilege, videoPublishPrivilege, }: FcrUIScreenStreamUpdateParams): Promise<void>;
16
17
  isLocalScreenStreamCreated(): boolean;
@@ -64,12 +64,13 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
64
64
  }, {
65
65
  key: "startScreenStream",
66
66
  value: function () {
67
- var _startScreenStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(createConfig, size) {
68
- var _t;
67
+ var _startScreenStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(createConfig, encoderConfig) {
68
+ var streamId, screenStreamId, _t;
69
69
  return _regenerator["default"].wrap(function (_context) {
70
70
  while (1) switch (_context.prev = _context.next) {
71
71
  case 0:
72
- if (!this._myCurrentScreenShareStreamId) {
72
+ streamId = this._myCurrentScreenShareStreamId;
73
+ if (!streamId) {
73
74
  _context.next = 1;
74
75
  break;
75
76
  }
@@ -77,8 +78,10 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
77
78
  case 1:
78
79
  _context.prev = 1;
79
80
  _context.next = 2;
80
- return this._sharingControl.startScreenSharing(createConfig, size);
81
+ return this._sharingControl.startScreenSharing(createConfig, encoderConfig.dimensions);
81
82
  case 2:
83
+ screenStreamId = _context.sent;
84
+ this._streamControl.setVideoEncoderConfig(screenStreamId, encoderConfig, _type.FcrVideoStreamType.HIGH_STREAM);
82
85
  _context.next = 4;
83
86
  break;
84
87
  case 3:
@@ -112,7 +115,7 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
112
115
  return _context2.abrupt("return");
113
116
  case 1:
114
117
  if (!true) {
115
- _context2.next = 8;
118
+ _context2.next = 9;
116
119
  break;
117
120
  }
118
121
  if (!this._released) {
@@ -125,34 +128,41 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
125
128
  _context2.next = 3;
126
129
  return this._sharingControl.stop();
127
130
  case 3:
128
- return _context2.abrupt("continue", 8);
131
+ return _context2.abrupt("continue", 9);
129
132
  case 4:
130
133
  _context2.prev = 4;
131
134
  _t2 = _context2["catch"](2);
135
+ if (!(_t2 instanceof _type.FcrError && _t2.code === 720404300)) {
136
+ _context2.next = 5;
137
+ break;
138
+ }
139
+ this.logger.error("the screen share stream does not exist,");
140
+ return _context2.abrupt("continue", 9);
141
+ case 5:
132
142
  this.logger.error("failed to stop screen share stream, error: ".concat(_t2, ", retry in 1000ms"), _t2);
133
- _context2.next = 5;
143
+ _context2.next = 6;
134
144
  return new Promise(function (resolve) {
135
145
  return setTimeout(resolve, 1000);
136
146
  });
137
- case 5:
138
- _context2.prev = 5;
147
+ case 6:
148
+ _context2.prev = 6;
139
149
  if (this._myCurrentScreenShareStreamId) {
140
- _context2.next = 6;
150
+ _context2.next = 7;
141
151
  break;
142
152
  }
143
- return _context2.abrupt("continue", 8);
144
- case 6:
145
- return _context2.finish(5);
153
+ return _context2.abrupt("continue", 9);
146
154
  case 7:
155
+ return _context2.finish(6);
156
+ case 8:
147
157
  _context2.next = 1;
148
158
  break;
149
- case 8:
150
- this._myCurrentScreenShareStreamId = null;
151
159
  case 9:
160
+ this._myCurrentScreenShareStreamId = null;
161
+ case 10:
152
162
  case "end":
153
163
  return _context2.stop();
154
164
  }
155
- }, _callee2, this, [[2, 4, 5, 7]]);
165
+ }, _callee2, this, [[2, 4, 6, 8]]);
156
166
  }));
157
167
  function stopScreenStream() {
158
168
  return _stopScreenStream.apply(this, arguments);
@@ -15,22 +15,24 @@ export declare enum FcrUIScreenShareErrorCode {
15
15
  * 无法开始屏幕采集
16
16
  */
17
17
  CANNOT_START_SCREEN_CAPTURE = 4,
18
- /**
19
- * 无法开始声卡采集
20
- */
21
- CANNOT_START_LOOPBACK_CAPTURE = 5,
22
18
  /**
23
19
  * 无发流权限
24
20
  */
25
- NO_PUBLISH_PRIVILIGE = 6,
21
+ NO_PUBLISH_PRIVILIGE = 5,
26
22
  /**
27
23
  * 无屏幕采集权限
28
24
  */
29
- NO_SCREEN_RECORDING_PERMISSION = 7,
25
+ NO_SCREEN_RECORDING_PERMISSION = 6,
30
26
  /**
31
27
  * 网络未连接
32
28
  */
33
- NETWORK_DISCONNECTED = 8
29
+ NETWORK_DISCONNECTED = 7
30
+ }
31
+ export declare enum FcrUIAudioShareErrorCode {
32
+ /**
33
+ * 无法更新音频流
34
+ */
35
+ CANNOT_UPDATE_STREAM = 0
34
36
  }
35
37
  export declare enum FcrUIScreenShareStopReason {
36
38
  /**