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.
- package/lib/base.js +2 -2
- package/lib/electron/bootstrap-sdk.js +6 -6
- package/lib/electron/exit-codes.js +11 -11
- package/lib/electron/hang-detection/manager.js +4 -4
- package/lib/electron/ipc-protocol.js +12 -12
- package/lib/electron/process-manager/event-manager.js +30 -30
- package/lib/electron/process-manager/index.js +88 -88
- package/lib/electron/process-manager/state-manager.js +57 -57
- package/lib/electron/process-manager/types.js +16 -16
- package/lib/electron/sdk-helper.js +3 -3
- package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
- package/lib/electron/window-proxy/main-process-handler.js +14 -14
- package/lib/fragments/annotation/style.css +9 -9
- package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
- package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
- package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
- package/lib/fragments/annotation/toolbar/style.css +55 -55
- package/lib/fragments/whiteboard/cursor.css +77 -77
- package/lib/fragments/whiteboard/store.js +1 -1
- package/lib/fragments/whiteboard/style.css +4 -4
- package/lib/global.css +62 -62
- package/lib/global.d.ts +27 -27
- package/lib/modules/action-bar/components/chat/index.css +88 -88
- package/lib/modules/action-bar/components/more/index.css +114 -114
- package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
- package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
- package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
- package/lib/modules/action-bar/components/participants/index.css +21 -21
- package/lib/modules/action-bar/components/record/index.css +39 -39
- package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
- package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
- package/lib/modules/action-bar/index.css +358 -358
- package/lib/modules/action-bar/main-scene/view.js +3 -3
- package/lib/modules/audio-stream/index.js +3 -3
- package/lib/modules/caption/draggable-container/index.css +10 -10
- package/lib/modules/caption/draggable-container/index.js +34 -12
- package/lib/modules/caption/store.d.ts +1 -4
- package/lib/modules/caption/store.js +10 -18
- package/lib/modules/caption/view.css +158 -158
- package/lib/modules/caption/view.js +16 -27
- package/lib/modules/chat/components/chat-bar/index.css +89 -89
- package/lib/modules/chat/components/chat-select/index.css +185 -185
- package/lib/modules/chat/index.css +124 -124
- package/lib/modules/chat/store.d.ts +1 -0
- package/lib/modules/chat/store.js +2 -2
- package/lib/modules/components/apps/app-item/index.css +49 -49
- package/lib/modules/components/apps/index.css +9 -9
- package/lib/modules/components/caption-menu/index.css +58 -58
- package/lib/modules/components/caption-menu/index.d.ts +2 -0
- package/lib/modules/components/caption-menu/index.js +13 -10
- package/lib/modules/components/caption-menu/participants-privilege-control-options.js +5 -19
- package/lib/modules/components/caption-menu/steps/index.css +73 -73
- package/lib/modules/components/caption-menu/translation-setting-options.js +31 -24
- package/lib/modules/components/control-bar/components/loading/index.css +76 -76
- package/lib/modules/components/control-bar/components/progress/style.css +51 -51
- package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
- package/lib/modules/components/control-bar/index.css +99 -99
- package/lib/modules/components/device-control/index.css +177 -177
- package/lib/modules/components/leave-meeting/components/index.css +151 -151
- package/lib/modules/components/leave-meeting/style.css +9 -9
- package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
- package/lib/modules/components/member-window/index.css +502 -502
- package/lib/modules/components/security-menu/index.css +42 -42
- package/lib/modules/components/tab-frame/index.css +40 -40
- package/lib/modules/components/toolbar/components/item/style.css +94 -94
- package/lib/modules/components/toolbar/components/panel/style.css +86 -86
- package/lib/modules/components/toolbar/style.css +85 -85
- package/lib/modules/connection-gateway/components/computer/index.css +12 -12
- package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
- package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
- package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
- package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
- package/lib/modules/connection-gateway/components/phone/index.css +49 -49
- package/lib/modules/connection-gateway/index.css +6 -6
- package/lib/modules/control-bar/components/carmera/index.js +7 -39
- package/lib/modules/control-bar/components/cloud-recording-buttons.js +18 -33
- package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
- package/lib/modules/control-bar/components/microphone/index.js +3 -43
- package/lib/modules/control-bar/components/more-actions/index.css +103 -103
- package/lib/modules/control-bar/components/share-audio/index.css +90 -90
- package/lib/modules/control-bar/components/share-audio/index.d.ts +2 -0
- package/lib/modules/control-bar/components/share-audio/index.js +4 -10
- package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
- package/lib/modules/control-bar/hooks.d.ts +1 -0
- package/lib/modules/control-bar/hooks.js +140 -1
- package/lib/modules/control-bar/index.css +340 -340
- package/lib/modules/control-bar/index.js +4 -4
- package/lib/modules/control-bar/store.d.ts +3 -4
- package/lib/modules/control-bar/store.js +37 -30
- package/lib/modules/control-bar/type.d.ts +3 -0
- package/lib/modules/control-bar/view.js +40 -57
- package/lib/modules/device-pretest/index.css +123 -123
- package/lib/modules/dialog/components/confirm/index.css +24 -24
- package/lib/modules/dialog/components/confirm/index.js +0 -1
- package/lib/modules/dialog/components/dialog-container/index.css +112 -112
- package/lib/modules/dialog/components/dialog-container/index.js +1 -0
- package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
- package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
- package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
- package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
- package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
- package/lib/modules/dialog/dialogs/widget/index.js +4 -4
- package/lib/modules/dialog/index.css +56 -56
- package/lib/modules/event-toast/index.css +25 -25
- package/lib/modules/event-toast/index.js +7 -1
- package/lib/modules/interpreter/action/add-btn/index.css +4 -4
- package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
- package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
- package/lib/modules/interpreter/dialog-content/index.css +33 -33
- package/lib/modules/interpreter/footer/index.css +11 -11
- package/lib/modules/interpreter/index.css +4 -4
- package/lib/modules/interpreter/interpreter-list/index.css +8 -8
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
- package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
- package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
- package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
- package/lib/modules/invite/components/voip-invite.css +26 -26
- package/lib/modules/invite/index.css +331 -331
- package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
- package/lib/modules/layout/components/index.css +653 -653
- package/lib/modules/layout/index.css +59 -59
- package/lib/modules/layout/store.base.d.ts +1 -1
- package/lib/modules/layout/store.base.js +5 -5
- package/lib/modules/layout/store.electron.d.ts +0 -1
- package/lib/modules/layout/store.electron.js +37 -133
- package/lib/modules/layout/type.js +5 -5
- package/lib/modules/notification/index.css +77 -77
- package/lib/modules/notification/interpreter-status/index.css +76 -76
- package/lib/modules/participant/components/confirm-input/index.css +4 -4
- package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
- package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
- package/lib/modules/participant/index.css +102 -102
- package/lib/modules/participant/store.base.js +183 -185
- package/lib/modules/pc-audio-connect/index.css +12 -12
- package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
- package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
- package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
- package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
- package/lib/modules/phone-audio-connect/index.css +56 -56
- package/lib/modules/secondary-window/store.js +8 -10
- package/lib/modules/setting/audio-settings/index.css +195 -195
- package/lib/modules/setting/audio-whiteList/audio-device-adaptation.d.ts +28 -0
- package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +43 -7
- package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.d.ts +3 -14
- package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +51 -30
- package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
- package/lib/modules/setting/general-settings/index.css +41 -41
- package/lib/modules/setting/index.css +112 -112
- package/lib/modules/setting/index.js +4 -2
- package/lib/modules/setting/minutes-settings/index.css +65 -65
- package/lib/modules/setting/state/index.css +207 -207
- package/lib/modules/setting/storage-settings/index.css +91 -91
- package/lib/modules/setting/store.base.d.ts +5 -3
- package/lib/modules/setting/store.base.js +64 -43
- package/lib/modules/setting/store.electron.d.ts +1 -1
- package/lib/modules/setting/store.electron.js +3 -7
- package/lib/modules/setting/translate-settings/index.css +47 -47
- package/lib/modules/setting/video-settings/index.css +357 -357
- package/lib/modules/setting/view.js +3 -2
- package/lib/modules/share-screen/components/control-bar/index.css +75 -75
- package/lib/modules/share-screen/components/selection/index.css +73 -73
- package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
- package/lib/modules/share-screen/index.js +10 -10
- package/lib/modules/share-screen/store.base.js +2 -2
- package/lib/modules/share-screen/store.electron.js +51 -23
- package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
- package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
- package/lib/modules/state-bar/index.css +706 -706
- package/lib/modules/state-bar/main-scene/store.base.js +2 -2
- package/lib/modules/state-bar/meeting-detail.css +137 -137
- package/lib/modules/state-bar/meeting-network-state.css +150 -150
- package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
- package/lib/modules/subtitles-history/components/list-item.js +4 -7
- package/lib/modules/subtitles-history/components/settings/index.css +5 -5
- package/lib/modules/subtitles-history/index.css +129 -129
- package/lib/modules/subtitles-history/store.base.d.ts +3 -1
- package/lib/modules/subtitles-history/store.base.js +11 -1
- package/lib/modules/video-window/components/members/index.css +51 -51
- package/lib/modules/video-window/components/speaking/index.css +86 -86
- package/lib/modules/video-window/components/topControl/index.css +35 -35
- package/lib/modules/video-window/index.css +21 -21
- package/lib/modules/video-window/popover-watcher.js +3 -3
- package/lib/modules/video-window/store.js +10 -10
- package/lib/modules/waiting-room-layout/index.css +96 -96
- package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
- package/lib/modules/whiteboard/components/loading/index.css +76 -76
- package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
- package/lib/modules/whiteboard/components/pagination/index.css +228 -228
- package/lib/modules/whiteboard/components/progress/style.css +51 -51
- package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
- package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
- package/lib/modules/whiteboard/style.css +140 -140
- package/lib/modules/widget/index.css +9 -9
- package/lib/object-manager.js +8 -8
- package/lib/plugins/module-dev-plugin.js +11 -11
- package/lib/providers/ability-provider.js +17 -17
- package/lib/providers/board-share/struct.js +6 -6
- package/lib/providers/dialog/provider.base.js +2 -2
- package/lib/providers/dialog/type.js +3 -3
- package/lib/providers/multi-display-provider.js +4 -4
- package/lib/providers/privilege-provider.js +7 -7
- package/lib/providers/screen-share/provider.base.d.ts +2 -13
- package/lib/providers/screen-share/provider.base.js +28 -35
- package/lib/providers/screen-share/provider.electron.d.ts +0 -5
- package/lib/providers/screen-share/provider.electron.js +31 -18
- package/lib/providers/screen-share/stream-state-sync.js +18 -18
- package/lib/providers/screen-share/struct.js +24 -24
- package/lib/providers/screen-share/type.d.ts +0 -16
- package/lib/providers/stt-provider/stt-provider.d.ts +3 -4
- package/lib/providers/stt-provider/stt-provider.js +145 -146
- package/lib/providers/stt-provider/type.d.ts +2 -10
- package/lib/providers/stt-provider/type.js +3 -3
- package/lib/providers/window/main-window.js +2 -2
- package/lib/providers/window/provider.js +5 -5
- package/lib/providers/window/renderer-window.js +2 -2
- package/lib/schema.js +26 -26
- package/lib/shared-data/meeting-time.js +8 -8
- package/lib/shared-data/setting.js +3 -3
- package/lib/translations/enUS.d.ts +12 -1
- package/lib/translations/enUS.js +22 -19
- package/lib/translations/zhCN.d.ts +12 -1
- package/lib/translations/zhCN.js +20 -17
- package/lib/type.js +21 -21
- package/lib/ui-scene-switch.js +2 -2
- package/lib/utilities/constant.js +6 -6
- package/lib/utilities/renderer.js +8 -8
- package/lib/utilities/shared-storage.js +2 -2
- package/lib/utilities/tools.js +14 -14
- package/package.json +78 -79
- package/public/assets/fcr_chat_reddot.svg +5 -5
- package/public/assets/fcr_grid_big.svg +3 -3
- package/public/assets/fcr_leave2.svg +58 -58
- package/public/assets/fcr_listontop_big.svg +3 -3
- package/public/assets/step-gradient.svg +10 -10
- package/public/fragment.html +10 -10
- package/public/index.html +183 -183
- 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();
|
|
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
|
-
|
|
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.
|
|
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
|
|
274
|
+
case 13:
|
|
261
275
|
if (!this._isSharingWithAudio) {
|
|
262
|
-
_context3.next =
|
|
276
|
+
_context3.next = 14;
|
|
263
277
|
break;
|
|
264
278
|
}
|
|
265
|
-
_context3.next =
|
|
279
|
+
_context3.next = 14;
|
|
266
280
|
return this.strategy.startLoopbackCapture({});
|
|
267
|
-
case
|
|
281
|
+
case 14:
|
|
268
282
|
case "end":
|
|
269
283
|
return _context3.stop();
|
|
270
284
|
}
|
|
271
|
-
}, _callee3, this, [[5, 7], [8,
|
|
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"], [
|
|
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<[
|
|
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;
|