fix(electron-screensharing): simplify the proccess (#13967)

* fix(electron-screensharing): simplify the proccess
This commit is contained in:
Gabriel Borlea
2023-10-20 19:55:06 +03:00
committed by GitHub
parent bae77f21f8
commit 97e5f00dae
10 changed files with 66 additions and 216 deletions

View File

@@ -91,8 +91,7 @@ const commands = {
toggleTileView: 'toggle-tile-view',
toggleVirtualBackgroundDialog: 'toggle-virtual-background',
toggleVideo: 'toggle-video',
toggleWhiteboard: 'toggle-whiteboard',
_requestDesktopSourcesResult: '_request-desktop-sources-result'
toggleWhiteboard: 'toggle-whiteboard'
};
/**
@@ -160,7 +159,10 @@ const events = {
'suspend-detected': 'suspendDetected',
'tile-view-changed': 'tileViewChanged',
'toolbar-button-clicked': 'toolbarButtonClicked',
'whiteboard-status-changed': 'whiteboardStatusChanged',
'whiteboard-status-changed': 'whiteboardStatusChanged'
};
const requests = {
'_request-desktop-sources': '_requestDesktopSources'
};
@@ -689,6 +691,18 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
return false;
});
this._transport.on('request', (request, callback) => {
const requestName = requests[request.name];
const data = {
...request,
name: requestName
};
if (requestName) {
this.emit(requestName, data, callback);
}
});
}
/**
@@ -1260,6 +1274,17 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
});
}
/**
* Returns the state of availability electron share screen via external api.
*
* @returns {Promise}
*/
_isNewElectronScreensharingSupported() {
return this._transport.sendRequest({
name: '_new_electron_screensharing_supported'
});
}
/**
* Pins a participant's video on to the stage view.
*
@@ -1313,17 +1338,6 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
}
}
/**
* Send request to request desktop sources.
*
* @returns {Promise} - Result.
*/
_requestDesktopSources() {
return this._transport.sendRequest({
name: '_request-desktop-sources'
});
}
/**
* Passes an event along to the local conference participant to establish
* or update a direct peer connection. This is currently used for developing