diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx index f179c495848c20fd473f1ef7778210c74b1d7007..3fda4b0edd23600916ba4edbbbaf46e86ce47dbb 100755 --- a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx @@ -58,8 +58,9 @@ export default lockContextContainer(withModalMounter(withTracker(({ mountModal, const { status } = Service.getBreakoutAudioTransferStatus(); if (status === AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.RETURNING) { - Service.setBreakoutAudioTransferStatus(null, - AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.DISCONNECTED); + Service.setBreakoutAudioTransferStatus({ + status: AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.DISCONNECTED, + }); Service.recoverMicState(); } diff --git a/bigbluebutton-html5/imports/ui/components/audio/service.js b/bigbluebutton-html5/imports/ui/components/audio/service.js index 5bc9b9a97768037c2e53e6afd660de20a4b9cd45..d3b905fd7c06b02d6549af8e18b9492ada5dedf4 100755 --- a/bigbluebutton-html5/imports/ui/components/audio/service.js +++ b/bigbluebutton-html5/imports/ui/components/audio/service.js @@ -126,9 +126,8 @@ export default { constraints => AudioManager.updateAudioConstraints(constraints), recoverMicState, isReconnecting: () => AudioManager.isReconnecting, - setBreakoutAudioTransferStatus: - (breakoutId, status) => AudioManager - .setBreakoutAudioTransferStatus(breakoutId, status), + setBreakoutAudioTransferStatus: status => AudioManager + .setBreakoutAudioTransferStatus(status), getBreakoutAudioTransferStatus: () => AudioManager .getBreakoutAudioTransferStatus(), }; diff --git a/bigbluebutton-html5/imports/ui/components/breakout-room/component.jsx b/bigbluebutton-html5/imports/ui/components/breakout-room/component.jsx index c77e05d39832b6a2e5db63f1d11fe73cef3879f0..78d0166f429b8c098447785b6a93cbf5e0bc8da1 100644 --- a/bigbluebutton-html5/imports/ui/components/breakout-room/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/breakout-room/component.jsx @@ -127,8 +127,10 @@ class BreakoutRoom extends PureComponent { if (joinedAudioOnly && (!isMicrophoneUser || isReconnecting)) { this.clearJoinedAudioOnly(); - setBreakoutAudioTransferStatus('', - AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.DISCONNECTED); + setBreakoutAudioTransferStatus({ + breakoutMeetingId: '', + status: AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.DISCONNECTED, + }); } } @@ -201,8 +203,10 @@ class BreakoutRoom extends PureComponent { const disable = waiting && requestedBreakoutId !== breakoutId; const audioAction = joinedAudioOnly || isInBreakoutAudioTransfer ? () => { - setBreakoutAudioTransferStatus(breakoutId, - AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.RETURNING); + setBreakoutAudioTransferStatus({ + breakoutMeetingId: breakoutId, + status: AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.RETURNING, + }); this.returnBackToMeeeting(breakoutId); return logger.debug({ logCode: 'breakoutroom_return_main_audio', @@ -210,8 +214,10 @@ class BreakoutRoom extends PureComponent { }, 'Returning to main audio (breakout room audio closed)'); } : () => { - setBreakoutAudioTransferStatus(breakoutId, - AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.CONNECTED); + setBreakoutAudioTransferStatus({ + breakoutMeetingId: breakoutId, + status: AudioManager.BREAKOUT_AUDIO_TRANSFER_STATES.CONNECTED, + }); this.transferUserToBreakoutRoom(breakoutId); return logger.debug({ logCode: 'breakoutroom_join_audio_from_main_room', diff --git a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js index 91042209a7a5340311fd67193fe5907cd4ca3ee5..fc9232fe7497aa0fdf48e9f0a08a56b994b87d74 100755 --- a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js +++ b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js @@ -547,22 +547,25 @@ class AudioManager { /** * Sets the current status for breakout audio transfer - * @param {String} breakoutMeetingId The id of the current breakout + * @param {Object} newStatus The status Object to be set for * audio transfer. - * @param {String} status The status to be set for - * audio transfer. Valid values - * are 'connected', 'disconnected' - * and 'returning' + * @param {string} newStatus.breakoutMeetingId The meeting id of the current + * breakout audio transfer. + * @param {string} newStatus.status The status of the current audio + * transfer. Valid values are + * 'connected', 'disconnected' and + * 'returning'. */ - setBreakoutAudioTransferStatus(breakoutMeetingId, status) { - const data = this._breakoutAudioTransferStatus; + setBreakoutAudioTransferStatus(newStatus) { + const currentStatus = this._breakoutAudioTransferStatus; + const { breakoutMeetingId, status } = newStatus; if (typeof breakoutMeetingId === 'string') { - data.breakoutMeetingId = breakoutMeetingId; + currentStatus.breakoutMeetingId = breakoutMeetingId; } if (typeof status === 'string') { - data.status = status; + currentStatus.status = status; } }