diff --git a/conference.js b/conference.js index 4c6ebccf8..dde5d8f1a 100644 --- a/conference.js +++ b/conference.js @@ -1359,7 +1359,13 @@ export default { }, /** - * Toggles between screensharing and camera video. + * Toggles between screen sharing and camera video if the toggle parameter + * is not specified and starts the procedure for obtaining new screen + * sharing/video track otherwise. + * + * @param {boolean} [toggle] - If true - new screen sharing track will be + * obtained. If false - new video track will be obtain. If not specified - + * toggles between screen sharing and camera video. * @param {Object} [options] - Screen sharing options that will be passed to * createLocalTracks. * @param {Array} [options.desktopSharingSources] - Array with the @@ -1367,7 +1373,7 @@ export default { * 'window', etc.). * @return {Promise.} */ - toggleScreenSharing(options = {}) { + toggleScreenSharing(toggle = !this._untoggleScreenSharing, options = {}) { if (this.videoSwitchInProgress) { return Promise.reject('Switch in progress.'); } @@ -1382,7 +1388,7 @@ export default { return Promise.reject('No screensharing in audio only mode'); } - if (!this._untoggleScreenSharing) { + if (toggle) { return this._switchToScreenSharing(options); } else { return this._untoggleScreenSharing();