fcr-ui-scene 3.8.0-alpha → 3.8.1-alpha

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 (237) hide show
  1. package/lib/base.js +2 -2
  2. package/lib/electron/bootstrap-sdk.js +6 -6
  3. package/lib/electron/exit-codes.js +11 -11
  4. package/lib/electron/hang-detection/manager.js +4 -4
  5. package/lib/electron/ipc-protocol.js +12 -12
  6. package/lib/electron/process-manager/event-manager.js +30 -30
  7. package/lib/electron/process-manager/index.js +88 -88
  8. package/lib/electron/process-manager/state-manager.js +57 -57
  9. package/lib/electron/process-manager/types.js +16 -16
  10. package/lib/electron/sdk-helper.js +3 -3
  11. package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
  12. package/lib/electron/window-proxy/main-process-handler.js +14 -14
  13. package/lib/fragments/annotation/style.css +9 -9
  14. package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
  15. package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
  16. package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
  17. package/lib/fragments/annotation/toolbar/style.css +55 -55
  18. package/lib/fragments/whiteboard/cursor.css +77 -77
  19. package/lib/fragments/whiteboard/store.js +1 -1
  20. package/lib/fragments/whiteboard/style.css +4 -4
  21. package/lib/global.css +62 -62
  22. package/lib/global.d.ts +27 -27
  23. package/lib/modules/action-bar/components/chat/index.css +88 -88
  24. package/lib/modules/action-bar/components/more/index.css +114 -114
  25. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
  26. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
  27. package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
  28. package/lib/modules/action-bar/components/participants/index.css +21 -21
  29. package/lib/modules/action-bar/components/record/index.css +39 -39
  30. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
  31. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
  32. package/lib/modules/action-bar/index.css +358 -358
  33. package/lib/modules/action-bar/main-scene/view.js +3 -3
  34. package/lib/modules/audio-stream/index.js +3 -3
  35. package/lib/modules/caption/draggable-container/index.css +10 -10
  36. package/lib/modules/caption/draggable-container/index.js +34 -12
  37. package/lib/modules/caption/store.d.ts +1 -4
  38. package/lib/modules/caption/store.js +10 -18
  39. package/lib/modules/caption/view.css +158 -158
  40. package/lib/modules/caption/view.js +16 -27
  41. package/lib/modules/chat/components/chat-bar/index.css +89 -89
  42. package/lib/modules/chat/components/chat-select/index.css +185 -185
  43. package/lib/modules/chat/index.css +124 -124
  44. package/lib/modules/chat/store.d.ts +1 -0
  45. package/lib/modules/chat/store.js +2 -2
  46. package/lib/modules/components/apps/app-item/index.css +49 -49
  47. package/lib/modules/components/apps/index.css +9 -9
  48. package/lib/modules/components/caption-menu/index.css +58 -58
  49. package/lib/modules/components/caption-menu/index.d.ts +2 -0
  50. package/lib/modules/components/caption-menu/index.js +13 -10
  51. package/lib/modules/components/caption-menu/participants-privilege-control-options.js +5 -19
  52. package/lib/modules/components/caption-menu/steps/index.css +73 -73
  53. package/lib/modules/components/caption-menu/translation-setting-options.js +31 -24
  54. package/lib/modules/components/control-bar/components/loading/index.css +76 -76
  55. package/lib/modules/components/control-bar/components/progress/style.css +51 -51
  56. package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
  57. package/lib/modules/components/control-bar/index.css +99 -99
  58. package/lib/modules/components/device-control/index.css +177 -177
  59. package/lib/modules/components/leave-meeting/components/index.css +151 -151
  60. package/lib/modules/components/leave-meeting/style.css +9 -9
  61. package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
  62. package/lib/modules/components/member-window/index.css +502 -502
  63. package/lib/modules/components/security-menu/index.css +42 -42
  64. package/lib/modules/components/tab-frame/index.css +40 -40
  65. package/lib/modules/components/toolbar/components/item/style.css +94 -94
  66. package/lib/modules/components/toolbar/components/panel/style.css +86 -86
  67. package/lib/modules/components/toolbar/style.css +85 -85
  68. package/lib/modules/connection-gateway/components/computer/index.css +12 -12
  69. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
  70. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
  71. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
  72. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
  73. package/lib/modules/connection-gateway/components/phone/index.css +49 -49
  74. package/lib/modules/connection-gateway/index.css +6 -6
  75. package/lib/modules/control-bar/components/carmera/index.js +7 -39
  76. package/lib/modules/control-bar/components/cloud-recording-buttons.js +18 -33
  77. package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
  78. package/lib/modules/control-bar/components/microphone/index.js +3 -43
  79. package/lib/modules/control-bar/components/more-actions/index.css +103 -103
  80. package/lib/modules/control-bar/components/share-audio/index.css +90 -90
  81. package/lib/modules/control-bar/components/share-audio/index.d.ts +2 -0
  82. package/lib/modules/control-bar/components/share-audio/index.js +4 -10
  83. package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
  84. package/lib/modules/control-bar/hooks.d.ts +1 -0
  85. package/lib/modules/control-bar/hooks.js +140 -1
  86. package/lib/modules/control-bar/index.css +340 -340
  87. package/lib/modules/control-bar/index.js +4 -4
  88. package/lib/modules/control-bar/store.d.ts +3 -4
  89. package/lib/modules/control-bar/store.js +37 -30
  90. package/lib/modules/control-bar/type.d.ts +3 -0
  91. package/lib/modules/control-bar/view.js +40 -57
  92. package/lib/modules/device-pretest/index.css +123 -123
  93. package/lib/modules/dialog/components/confirm/index.css +24 -24
  94. package/lib/modules/dialog/components/confirm/index.js +0 -1
  95. package/lib/modules/dialog/components/dialog-container/index.css +112 -112
  96. package/lib/modules/dialog/components/dialog-container/index.js +1 -0
  97. package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
  98. package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
  99. package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
  100. package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
  101. package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
  102. package/lib/modules/dialog/dialogs/widget/index.js +4 -4
  103. package/lib/modules/dialog/index.css +56 -56
  104. package/lib/modules/event-toast/index.css +25 -25
  105. package/lib/modules/event-toast/index.js +7 -1
  106. package/lib/modules/interpreter/action/add-btn/index.css +4 -4
  107. package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
  108. package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
  109. package/lib/modules/interpreter/dialog-content/index.css +33 -33
  110. package/lib/modules/interpreter/footer/index.css +11 -11
  111. package/lib/modules/interpreter/index.css +4 -4
  112. package/lib/modules/interpreter/interpreter-list/index.css +8 -8
  113. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
  114. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
  115. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
  116. package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
  117. package/lib/modules/invite/components/voip-invite.css +26 -26
  118. package/lib/modules/invite/index.css +331 -331
  119. package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
  120. package/lib/modules/layout/components/index.css +653 -653
  121. package/lib/modules/layout/index.css +59 -59
  122. package/lib/modules/layout/store.base.d.ts +1 -1
  123. package/lib/modules/layout/store.base.js +5 -5
  124. package/lib/modules/layout/store.electron.d.ts +0 -1
  125. package/lib/modules/layout/store.electron.js +37 -133
  126. package/lib/modules/layout/type.js +5 -5
  127. package/lib/modules/notification/index.css +77 -77
  128. package/lib/modules/notification/interpreter-status/index.css +76 -76
  129. package/lib/modules/participant/components/confirm-input/index.css +4 -4
  130. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
  131. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
  132. package/lib/modules/participant/index.css +102 -102
  133. package/lib/modules/participant/store.base.js +183 -185
  134. package/lib/modules/pc-audio-connect/index.css +12 -12
  135. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
  136. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
  137. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
  138. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
  139. package/lib/modules/phone-audio-connect/index.css +56 -56
  140. package/lib/modules/secondary-window/store.js +8 -10
  141. package/lib/modules/setting/audio-settings/index.css +195 -195
  142. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.d.ts +28 -0
  143. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +43 -7
  144. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.d.ts +3 -14
  145. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +51 -30
  146. package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
  147. package/lib/modules/setting/general-settings/index.css +41 -41
  148. package/lib/modules/setting/index.css +112 -112
  149. package/lib/modules/setting/index.js +4 -2
  150. package/lib/modules/setting/minutes-settings/index.css +65 -65
  151. package/lib/modules/setting/state/index.css +207 -207
  152. package/lib/modules/setting/storage-settings/index.css +91 -91
  153. package/lib/modules/setting/store.base.d.ts +5 -3
  154. package/lib/modules/setting/store.base.js +64 -43
  155. package/lib/modules/setting/store.electron.d.ts +1 -1
  156. package/lib/modules/setting/store.electron.js +3 -7
  157. package/lib/modules/setting/translate-settings/index.css +47 -47
  158. package/lib/modules/setting/video-settings/index.css +357 -357
  159. package/lib/modules/setting/view.js +3 -2
  160. package/lib/modules/share-screen/components/control-bar/index.css +75 -75
  161. package/lib/modules/share-screen/components/selection/index.css +73 -73
  162. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
  163. package/lib/modules/share-screen/index.js +10 -10
  164. package/lib/modules/share-screen/store.base.js +2 -2
  165. package/lib/modules/share-screen/store.electron.js +51 -23
  166. package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
  167. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
  168. package/lib/modules/state-bar/index.css +706 -706
  169. package/lib/modules/state-bar/main-scene/store.base.js +2 -2
  170. package/lib/modules/state-bar/meeting-detail.css +137 -137
  171. package/lib/modules/state-bar/meeting-network-state.css +150 -150
  172. package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
  173. package/lib/modules/subtitles-history/components/list-item.js +4 -7
  174. package/lib/modules/subtitles-history/components/settings/index.css +5 -5
  175. package/lib/modules/subtitles-history/index.css +129 -129
  176. package/lib/modules/subtitles-history/store.base.d.ts +3 -1
  177. package/lib/modules/subtitles-history/store.base.js +11 -1
  178. package/lib/modules/video-window/components/members/index.css +51 -51
  179. package/lib/modules/video-window/components/speaking/index.css +86 -86
  180. package/lib/modules/video-window/components/topControl/index.css +35 -35
  181. package/lib/modules/video-window/index.css +21 -21
  182. package/lib/modules/video-window/popover-watcher.js +3 -3
  183. package/lib/modules/video-window/store.js +10 -10
  184. package/lib/modules/waiting-room-layout/index.css +96 -96
  185. package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
  186. package/lib/modules/whiteboard/components/loading/index.css +76 -76
  187. package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
  188. package/lib/modules/whiteboard/components/pagination/index.css +228 -228
  189. package/lib/modules/whiteboard/components/progress/style.css +51 -51
  190. package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
  191. package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
  192. package/lib/modules/whiteboard/style.css +140 -140
  193. package/lib/modules/widget/index.css +9 -9
  194. package/lib/object-manager.js +8 -8
  195. package/lib/plugins/module-dev-plugin.js +11 -11
  196. package/lib/providers/ability-provider.js +17 -17
  197. package/lib/providers/board-share/struct.js +6 -6
  198. package/lib/providers/dialog/provider.base.js +2 -2
  199. package/lib/providers/dialog/type.js +3 -3
  200. package/lib/providers/multi-display-provider.js +4 -4
  201. package/lib/providers/privilege-provider.js +7 -7
  202. package/lib/providers/screen-share/provider.base.d.ts +2 -13
  203. package/lib/providers/screen-share/provider.base.js +28 -35
  204. package/lib/providers/screen-share/provider.electron.d.ts +0 -5
  205. package/lib/providers/screen-share/provider.electron.js +31 -18
  206. package/lib/providers/screen-share/stream-state-sync.js +18 -18
  207. package/lib/providers/screen-share/struct.js +24 -24
  208. package/lib/providers/screen-share/type.d.ts +0 -16
  209. package/lib/providers/stt-provider/stt-provider.d.ts +3 -4
  210. package/lib/providers/stt-provider/stt-provider.js +145 -146
  211. package/lib/providers/stt-provider/type.d.ts +2 -10
  212. package/lib/providers/stt-provider/type.js +3 -3
  213. package/lib/providers/window/main-window.js +2 -2
  214. package/lib/providers/window/provider.js +5 -5
  215. package/lib/providers/window/renderer-window.js +2 -2
  216. package/lib/schema.js +26 -26
  217. package/lib/shared-data/meeting-time.js +8 -8
  218. package/lib/shared-data/setting.js +3 -3
  219. package/lib/translations/enUS.d.ts +12 -1
  220. package/lib/translations/enUS.js +22 -19
  221. package/lib/translations/zhCN.d.ts +12 -1
  222. package/lib/translations/zhCN.js +20 -17
  223. package/lib/type.js +21 -21
  224. package/lib/ui-scene-switch.js +2 -2
  225. package/lib/utilities/constant.js +6 -6
  226. package/lib/utilities/renderer.js +8 -8
  227. package/lib/utilities/shared-storage.js +2 -2
  228. package/lib/utilities/tools.js +14 -14
  229. package/package.json +78 -79
  230. package/public/assets/fcr_chat_reddot.svg +5 -5
  231. package/public/assets/fcr_grid_big.svg +3 -3
  232. package/public/assets/fcr_leave2.svg +58 -58
  233. package/public/assets/fcr_listontop_big.svg +3 -3
  234. package/public/assets/step-gradient.svg +10 -10
  235. package/public/fragment.html +10 -10
  236. package/public/index.html +183 -183
  237. package/public/meeting-manager.js +405 -405
@@ -87,29 +87,29 @@ var _E = /*#__PURE__*/new WeakMap();
87
87
  var _F = /*#__PURE__*/new WeakMap();
88
88
  var _G = /*#__PURE__*/new WeakMap();
89
89
  _ref = (_enableScreenShareAudioDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _disableScreenShareAudioDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _enableSmoothModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _disableSmoothModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _enableStereoAudioModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _disableStereoAudioModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _findSharingUserDecs = [_mobx.action, _mobx.action.bound], "logger");
90
- /**
91
- * startShare
92
- * - callback: share started
93
- * - callback: share error occurred
94
- * - callback error:
95
- * 1. cannot publish
96
- * 2. screen recording permission denied
97
- * 3. error occurred during screen recording
98
- * - remove screen stream, keep screen stream in sync
99
- * stopShare
100
- * - callback: share stopped
101
- * replaceShare
102
- * no callbacks
103
- * Listen to stream events:
104
- * local stream removed
105
- * - callback: share stopped
106
- *
107
- * Error handle:
108
- * 1. error occurred during screen recording
109
- * - remove screen stream
110
- * Track events handle:
111
- * 1. track stopped
112
- * - keep screen stream in sync
90
+ /**
91
+ * startShare
92
+ * - callback: share started
93
+ * - callback: share error occurred
94
+ * - callback error:
95
+ * 1. cannot publish
96
+ * 2. screen recording permission denied
97
+ * 3. error occurred during screen recording
98
+ * - remove screen stream, keep screen stream in sync
99
+ * stopShare
100
+ * - callback: share stopped
101
+ * replaceShare
102
+ * no callbacks
103
+ * Listen to stream events:
104
+ * local stream removed
105
+ * - callback: share stopped
106
+ *
107
+ * Error handle:
108
+ * 1. error occurred during screen recording
109
+ * - remove screen stream
110
+ * Track events handle:
111
+ * 1. track stopped
112
+ * - keep screen stream in sync
113
113
  */
114
114
  var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__PURE__*/function () {
115
115
  function FcrUIScreenShareProviderBase(objectManager) {
@@ -122,11 +122,11 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
122
122
  (0, _defineProperty2["default"])(this, "_isScreenShareStarted", false);
123
123
  (0, _defineProperty2["default"])(this, "_windowList", []);
124
124
  (0, _defineProperty2["default"])(this, "_displayList", []);
125
- (0, _defineProperty2["default"])(this, "_selectionIdAndType", null);
126
125
  (0, _defineProperty2["default"])(this, "_selectionBounds", null);
127
126
  (0, _defineProperty2["default"])(this, "_sharingDisplayBounds", null);
128
127
  (0, _defineProperty2["default"])(this, "_closeByOther", false);
129
128
  (0, _defineProperty2["default"])(this, "_closeOperator", null);
129
+ (0, _defineProperty2["default"])(this, "_abortController", null);
130
130
  _classPrivateFieldInitSpec(this, _A, _init__isLocalUserScreenSharing(this, false));
131
131
  _classPrivateFieldInitSpec(this, _B, _init__isRemoteUserScreenSharing(this, false));
132
132
  _classPrivateFieldInitSpec(this, _C, _init__isSharingWithAudio(this, false));
@@ -246,14 +246,6 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
246
246
  }
247
247
  throw new Error('cannot get selection bounds while no selection made');
248
248
  }
249
- }, {
250
- key: "selectionIdAndType",
251
- get: function get() {
252
- if (this._selectionIdAndType) {
253
- return this._selectionIdAndType;
254
- }
255
- throw new Error('can not get selection id and type while no selection made');
256
- }
257
249
  }, {
258
250
  key: "sharingDisplayBounds",
259
251
  get: function get() {
@@ -313,9 +305,6 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
313
305
  value: function removeObserver(observer) {
314
306
  this.observable.removeObserver(observer);
315
307
  }
316
- }, {
317
- key: "setSelectionIdAndType",
318
- value: function setSelectionIdAndType(idAndType) {}
319
308
  }, {
320
309
  key: "setSelectionBounds",
321
310
  value: function setSelectionBounds(bounds) {}
@@ -457,6 +446,10 @@ var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__P
457
446
  }, {
458
447
  key: "_stopDeviceCapture",
459
448
  value: function _stopDeviceCapture() {
449
+ if (this._abortController) {
450
+ this._abortController.abort();
451
+ this._abortController = null;
452
+ }
460
453
  this.strategy.stopScreenCapture();
461
454
  this.strategy.stopLoopbackCapture();
462
455
  }
@@ -1,4 +1,3 @@
1
- import { FcrScreenCaptureType } from 'fcr-core/lib/type';
2
1
  import { FcrUIObjectManager } from '../../object-manager';
3
2
  import { FcrUIScreenShareProviderBase } from './provider.base';
4
3
  import { FcrUIScreenShareStrategy } from './strategy/type';
@@ -15,10 +14,6 @@ export declare class FcrUIScreenShareProviderImpl extends FcrUIScreenShareProvid
15
14
  replaceShare({ videoSourceId, captureType }: FcrUIScreenShareReplaceParams): Promise<void>;
16
15
  findSharingDisplayBounds(): Electron.Rectangle;
17
16
  createStrategy(): FcrUIScreenShareStrategy;
18
- setSelectionIdAndType(idAndType: {
19
- id: string;
20
- type: FcrScreenCaptureType;
21
- } | null): void;
22
17
  setSelectionBounds(bounds: FcrUI.FcrUIRectangle | null): void;
23
18
  changeSelectionBounds(bounds: FcrUI.FcrUIRectangle, reason: FcrUISelectionBoundsChangeReason): void;
24
19
  private _getExcludeWindows;
@@ -169,7 +169,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
169
169
  key: "startShare",
170
170
  value: function () {
171
171
  var _startShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref) {
172
- var videoSourceId, _ref$captureType, captureType, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, encoderConfig, excludeWindows, dimensions, frameRate, bitrate, _t, _t2;
172
+ var videoSourceId, _ref$captureType, captureType, createConfig, screenTrack, isScreenRecordingGranted, isScreenSharingPermitted, audioSourceId, encoderConfig, aborted, abortController, excludeWindows, dimensions, frameRate, bitrate, _t, _t2;
173
173
  return _regenerator["default"].wrap(function (_context3) {
174
174
  while (1) switch (_context3.prev = _context3.next) {
175
175
  case 0:
@@ -217,7 +217,15 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
217
217
  }
218
218
  this._sharingDisplayBounds = this.findSharingDisplayBounds();
219
219
  this.observable.notifyObservers('onPrepreScreenCapture');
220
- encoderConfig = this._getEncoderConfig(); // create screen stream
220
+ encoderConfig = this._getEncoderConfig();
221
+ aborted = false;
222
+ abortController = new AbortController();
223
+ this._abortController = abortController;
224
+ abortController.signal.addEventListener('abort', function () {
225
+ aborted = true;
226
+ });
227
+
228
+ // create screen stream
221
229
  _context3.prev = 5;
222
230
  _context3.next = 6;
223
231
  return this._screenStreamSync.startScreenStream(createConfig, encoderConfig);
@@ -236,7 +244,13 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
236
244
  case 9:
237
245
  excludeWindows = _context3.sent;
238
246
  dimensions = encoderConfig.dimensions, frameRate = encoderConfig.frameRate, bitrate = encoderConfig.bitrate;
239
- _context3.next = 10;
247
+ if (!aborted) {
248
+ _context3.next = 10;
249
+ break;
250
+ }
251
+ throw new Error(_constant2.ERROR_MESSAGE_ABORTED);
252
+ case 10:
253
+ _context3.next = 11;
240
254
  return this.strategy.startScreenCapture({
241
255
  sourceId: videoSourceId,
242
256
  captureType: captureType,
@@ -245,11 +259,11 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
245
259
  frameRate: frameRate,
246
260
  bitrate: bitrate
247
261
  });
248
- case 10:
249
- _context3.next = 12;
250
- break;
251
262
  case 11:
252
- _context3.prev = 11;
263
+ _context3.next = 13;
264
+ break;
265
+ case 12:
266
+ _context3.prev = 12;
253
267
  _t2 = _context3["catch"](8);
254
268
  if (_t2 instanceof Error && _t2.message === _constant2.ERROR_MESSAGE_ABORTED) {
255
269
  this.observable.notifyObservers('onScreenShareErrorOccurred', _struct.FcrUIScreenShareErrorCode.ABORT_START_SCREEN_CAPTURE);
@@ -257,18 +271,18 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
257
271
  this.observable.notifyObservers('onScreenShareErrorOccurred', _struct.FcrUIScreenShareErrorCode.CANNOT_START_SCREEN_CAPTURE);
258
272
  }
259
273
  throw new Error("cannot start screen capture, error: ".concat(_t2));
260
- case 12:
274
+ case 13:
261
275
  if (!this._isSharingWithAudio) {
262
- _context3.next = 13;
276
+ _context3.next = 14;
263
277
  break;
264
278
  }
265
- _context3.next = 13;
279
+ _context3.next = 14;
266
280
  return this.strategy.startLoopbackCapture({});
267
- case 13:
281
+ case 14:
268
282
  case "end":
269
283
  return _context3.stop();
270
284
  }
271
- }, _callee3, this, [[5, 7], [8, 11]]);
285
+ }, _callee3, this, [[5, 7], [8, 12]]);
272
286
  }));
273
287
  function startShare(_x) {
274
288
  return _startShare.apply(this, arguments);
@@ -282,6 +296,10 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
282
296
  return _regenerator["default"].wrap(function (_context4) {
283
297
  while (1) switch (_context4.prev = _context4.next) {
284
298
  case 0:
299
+ if (this._abortController) {
300
+ this._abortController.abort();
301
+ this._abortController = null;
302
+ }
285
303
  this.strategy.stopScreenCapture();
286
304
  this.strategy.stopLoopbackCapture();
287
305
  _context4.next = 1;
@@ -383,11 +401,6 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
383
401
  value: function createStrategy() {
384
402
  return new _electron.FcrUIElectronScreenShareStrategy(this.objectManager);
385
403
  }
386
- }, {
387
- key: "setSelectionIdAndType",
388
- value: function setSelectionIdAndType(idAndType) {
389
- this._selectionIdAndType = idAndType;
390
- }
391
404
  }, {
392
405
  key: "setSelectionBounds",
393
406
  value: function setSelectionBounds(bounds) {
@@ -474,7 +487,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
474
487
  }]);
475
488
  }(_provider.FcrUIScreenShareProviderBase);
476
489
  _FcrUIScreenShareProviderImpl = FcrUIScreenShareProviderImpl;
477
- var _applyDecs$e = _applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.trace, 2, "getDisplayList"], [_decorator.trace, 2, "getWindowList"], [_decorator.trace, 2, "startShare"], [_decorator.trace, 2, "stopShare"], [_decorator.trace, 2, "replaceShare"], [_decorator.trace, 2, "setSelectionIdAndType"], [[_decorator.trace, _mobx.action], 2, "setSelectionBounds"], [[_decorator.trace, _mobx.action], 2, "changeSelectionBounds"]], [], 0, void 0, _provider.FcrUIScreenShareProviderBase).e;
490
+ var _applyDecs$e = _applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.trace, 2, "getDisplayList"], [_decorator.trace, 2, "getWindowList"], [_decorator.trace, 2, "startShare"], [_decorator.trace, 2, "stopShare"], [_decorator.trace, 2, "replaceShare"], [[_decorator.trace, _mobx.action], 2, "setSelectionBounds"], [[_decorator.trace, _mobx.action], 2, "changeSelectionBounds"]], [], 0, void 0, _provider.FcrUIScreenShareProviderBase).e;
478
491
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
479
492
  _initProto = _applyDecs$e2[0];
480
493
  _applyDecs$e;
@@ -196,24 +196,24 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
196
196
  }
197
197
  this.logger.error("the screen share stream does not exist");
198
198
 
199
- /**
200
- * TODO: 这里加删除 videoWindowData 的逻辑是因为,如果在屏幕共享时主持人结束了房间,在用户点击确认离开房间前,可以看到窗口上显示 “你正在屏幕共享” 的标识。
201
- * TODO: 主持人在结束会议后,在点击确认离开房间前,窗口保留着最后的操作画面应该是正常的情况,那还是否有必要加这段逻辑,或者有更好的处理方式?
202
- *
203
- * 有 3 种场景会调用到 stopScreenStream。
204
- * 1. 用户主动停止屏幕共享
205
- * 2. 用户的屏幕共享被其他人抢占
206
- * 3. 主持人结束房间
207
- *
208
- * 场景 2 的流程:
209
- * 其他人抢占屏幕共享 > 当前共享用户会收到 FcrStreamControl 的 onStreamsRemoved 事件 > 调用 screenTrack.stop() > SourceMnager.stopScreenCapture
210
- * > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
211
- *
212
- * 场景 3 的流程:
213
- * 主持人结束房间 > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
214
- *
215
- * 在主持人结束房间的场景下,服务端已经不存在这条流,所以调用 stop 接口会报流不存在的错,所以这里把流对应的 videoWindowData 删除掉。
216
- *
199
+ /**
200
+ * TODO: 这里加删除 videoWindowData 的逻辑是因为,如果在屏幕共享时主持人结束了房间,在用户点击确认离开房间前,可以看到窗口上显示 “你正在屏幕共享” 的标识。
201
+ * TODO: 主持人在结束会议后,在点击确认离开房间前,窗口保留着最后的操作画面应该是正常的情况,那还是否有必要加这段逻辑,或者有更好的处理方式?
202
+ *
203
+ * 有 3 种场景会调用到 stopScreenStream。
204
+ * 1. 用户主动停止屏幕共享
205
+ * 2. 用户的屏幕共享被其他人抢占
206
+ * 3. 主持人结束房间
207
+ *
208
+ * 场景 2 的流程:
209
+ * 其他人抢占屏幕共享 > 当前共享用户会收到 FcrStreamControl 的 onStreamsRemoved 事件 > 调用 screenTrack.stop() > SourceMnager.stopScreenCapture
210
+ * > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
211
+ *
212
+ * 场景 3 的流程:
213
+ * 主持人结束房间 > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
214
+ *
215
+ * 在主持人结束房间的场景下,服务端已经不存在这条流,所以调用 stop 接口会报流不存在的错,所以这里把流对应的 videoWindowData 删除掉。
216
+ *
217
217
  */
218
218
  screenVideoWindowData = this._videoWindowDataSource.mainList.find(function (stream) {
219
219
  return stream.videoSourceType === _type.FcrVideoSourceType.SCREEN;
@@ -6,61 +6,61 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.FcrUISelectionBoundsChangeReason = exports.FcrUIScreenShareStopReason = exports.FcrUIScreenShareErrorCode = exports.FcrUIAudioShareErrorCode = void 0;
8
8
  var FcrUIScreenShareErrorCode = exports.FcrUIScreenShareErrorCode = /*#__PURE__*/function (FcrUIScreenShareErrorCode) {
9
- /**
10
- * 当前已经在共享了,不能开启共享
9
+ /**
10
+ * 当前已经在共享了,不能开启共享
11
11
  */
12
12
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CONFLICT"] = 1] = "CONFLICT";
13
- /**
14
- * 无法创建视频流
13
+ /**
14
+ * 无法创建视频流
15
15
  */
16
16
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_CREATE_STREAM"] = 2] = "CANNOT_CREATE_STREAM";
17
- /**
18
- * 无法更新视频流
17
+ /**
18
+ * 无法更新视频流
19
19
  */
20
20
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_UPDATE_STREAM"] = 3] = "CANNOT_UPDATE_STREAM";
21
- /**
22
- * 无法开始屏幕采集
21
+ /**
22
+ * 无法开始屏幕采集
23
23
  */
24
24
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_START_SCREEN_CAPTURE"] = 4] = "CANNOT_START_SCREEN_CAPTURE";
25
- /**
26
- * 用户取消了屏幕采集启动
25
+ /**
26
+ * 用户取消了屏幕采集启动
27
27
  */
28
28
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["ABORT_START_SCREEN_CAPTURE"] = 5] = "ABORT_START_SCREEN_CAPTURE";
29
- /**
30
- * 无发流权限
29
+ /**
30
+ * 无发流权限
31
31
  */
32
32
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_PUBLISH_PRIVILIGE"] = 6] = "NO_PUBLISH_PRIVILIGE";
33
- /**
34
- * 无屏幕采集权限
33
+ /**
34
+ * 无屏幕采集权限
35
35
  */
36
36
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_SCREEN_RECORDING_PERMISSION"] = 7] = "NO_SCREEN_RECORDING_PERMISSION";
37
- /**
38
- * 网络未连接
37
+ /**
38
+ * 网络未连接
39
39
  */
40
40
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NETWORK_DISCONNECTED"] = 8] = "NETWORK_DISCONNECTED";
41
41
  return FcrUIScreenShareErrorCode;
42
42
  }({});
43
43
  var FcrUIAudioShareErrorCode = exports.FcrUIAudioShareErrorCode = /*#__PURE__*/function (FcrUIAudioShareErrorCode) {
44
- /**
45
- * 无法更新音频流
44
+ /**
45
+ * 无法更新音频流
46
46
  */
47
47
  FcrUIAudioShareErrorCode[FcrUIAudioShareErrorCode["CANNOT_UPDATE_STREAM"] = 1] = "CANNOT_UPDATE_STREAM";
48
48
  return FcrUIAudioShareErrorCode;
49
49
  }({});
50
50
  var FcrUIScreenShareStopReason = exports.FcrUIScreenShareStopReason = /*#__PURE__*/function (FcrUIScreenShareStopReason) {
51
- /**
52
- * 正常停止
51
+ /**
52
+ * 正常停止
53
53
  */
54
54
  FcrUIScreenShareStopReason[FcrUIScreenShareStopReason["NORMAL_STOP"] = 1] = "NORMAL_STOP";
55
- /**
56
- * 被其他用户停止
55
+ /**
56
+ * 被其他用户停止
57
57
  */
58
58
  FcrUIScreenShareStopReason[FcrUIScreenShareStopReason["STOPPED_BY_OTHER"] = 3] = "STOPPED_BY_OTHER";
59
59
  return FcrUIScreenShareStopReason;
60
60
  }({});
61
61
  var FcrUISelectionBoundsChangeReason = exports.FcrUISelectionBoundsChangeReason = /*#__PURE__*/function (FcrUISelectionBoundsChangeReason) {
62
- /**
63
- * 插拔显示器导致的窗口采集边界变化
62
+ /**
63
+ * 插拔显示器导致的窗口采集边界变化
64
64
  */
65
65
  FcrUISelectionBoundsChangeReason[FcrUISelectionBoundsChangeReason["DISPLAY_CHANGE"] = 1] = "DISPLAY_CHANGE";
66
66
  return FcrUISelectionBoundsChangeReason;
@@ -80,14 +80,6 @@ export interface FcrUIScreenShareProvider {
80
80
  * @returns 当前选中的共享区域的位置和尺寸信息
81
81
  */
82
82
  get selectionBounds(): FcrUI.FcrUIRectangle;
83
- /**
84
- * 获取当前选中的共享源的 id 和 类型
85
- * @returns 选中的共享源的 id 和 类型
86
- */
87
- get selectionIdAndType(): {
88
- id: string;
89
- type: FcrScreenCaptureType;
90
- };
91
83
  /**
92
84
  * 当前共享源所在的窗口边界信息
93
85
  * 例如:
@@ -169,14 +161,6 @@ export interface FcrUIScreenShareProvider {
169
161
  * 获取可共享的窗口列表
170
162
  */
171
163
  getWindowList(): Promise<FcrUIScreenShareWindowInfo[]>;
172
- /**
173
- *设置选中的共享源的 id 和 类型
174
- * @param source
175
- */
176
- setSelectionIdAndType(idAndType: {
177
- id: string;
178
- type: FcrScreenCaptureType;
179
- } | null): void;
180
164
  /**
181
165
  * 设置选中的共享源边界信息
182
166
  * @param source
@@ -22,6 +22,7 @@ export declare class FcrUISttProviderImpl implements FcrUISttProvider, FcrUIMana
22
22
  private _sentenceMap;
23
23
  private _privilegeControl;
24
24
  private _interpreterDataSource;
25
+ private _effectiveTranslateLanguage;
25
26
  private _localUserId;
26
27
  private _privilegeObserver;
27
28
  private _roomControlObserver;
@@ -35,7 +36,6 @@ export declare class FcrUISttProviderImpl implements FcrUISttProvider, FcrUIMana
35
36
  private accessor _translateLanguage;
36
37
  private accessor _transcribingList;
37
38
  private accessor _captionSentence;
38
- private accessor _preCaptionSentence;
39
39
  private accessor _isCaptionOpening;
40
40
  get captionState(): boolean;
41
41
  get transcribingState(): boolean;
@@ -49,7 +49,6 @@ export declare class FcrUISttProviderImpl implements FcrUISttProvider, FcrUIMana
49
49
  get isCaptionOpening(): boolean;
50
50
  get transcribingList(): FcrUISttTranscribingItem[];
51
51
  get captionSentence(): FcrUISttSentence | null;
52
- get preCaptionSentence(): FcrUISttSentence | null;
53
52
  constructor({ sttControl, roomSessionControl, roomControl, localUserId, messageProvider, dialogProvider, sharedSecurityDataSource, privilegeProvider, sharedInterpreterDataSource, }: {
54
53
  sttControl: FcrSttControl;
55
54
  roomSessionControl: FcrRoomSessionControl;
@@ -64,7 +63,7 @@ export declare class FcrUISttProviderImpl implements FcrUISttProvider, FcrUIMana
64
63
  release(): void;
65
64
  requestOpenTranscribing(): Promise<string>;
66
65
  acceptOpenTranscribing(session: FcrRoomSession): Promise<[void, void]>;
67
- rejectOpenTranscribing(session: FcrRoomSession): Promise<[void, string]>;
66
+ rejectOpenTranscribing(session: FcrRoomSession): Promise<[string]>;
68
67
  startCaption(): Promise<void>;
69
68
  stopCaption(isCallbackTriggered?: boolean): Promise<void>;
70
69
  startTranscribing(): Promise<void>;
@@ -72,12 +71,12 @@ export declare class FcrUISttProviderImpl implements FcrUISttProvider, FcrUIMana
72
71
  updateSourceLanguage(language: FcrLanguage): Promise<void>;
73
72
  subscribeTranslateLanguage(language: FcrLanguage | null): Promise<void>;
74
73
  clearCaptionSentence(): void;
75
- clearPreCaptionSentence(): void;
76
74
  allowStartTranscribe(enable: boolean): void;
77
75
  allowStartCaption(enable: boolean): void;
78
76
  allowSetSourceLanguage(enable: boolean): void;
79
77
  addObserver(observer: FcrUISttObserver): void;
80
78
  removeObserver(observer: FcrUISttObserver): void;
79
+ private _updateSourceLanguage;
81
80
  private _getTranslation;
82
81
  private _handleSttEventReceived;
83
82
  private _handleSourceLanguageUpdated;