diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-settings/component.jsx b/bigbluebutton-html5/imports/ui/components/audio/audio-settings/component.jsx index db7caeb84b..0897de1399 100644 --- a/bigbluebutton-html5/imports/ui/components/audio/audio-settings/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/audio/audio-settings/component.jsx @@ -98,6 +98,7 @@ class AudioSettings extends React.Component { componentDidMount() { const { inputDeviceId, outputDeviceId } = this.state; + Session.set('inEchoTest', true); this._isMounted = true; // Guarantee initial in/out devices are initialized on all ends this.setInputDevice(inputDeviceId); @@ -107,6 +108,7 @@ class AudioSettings extends React.Component { componentWillUnmount() { const { stream } = this.state; + Session.set('inEchoTest', false); this._mounted = false; if (stream) { diff --git a/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx b/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx index 8706458645..4c006d2d92 100644 --- a/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx @@ -404,10 +404,11 @@ class VideoPlayer extends Component { } getMuted() { - const { mutedByEchoTest, muted } = this.state; - const intPlayer = this.player && this.player.getInternalPlayer(); + const { isPresenter } = this.props; + const { muted } = this.state; + const intPlayer = this?.player?.getInternalPlayer?.(); - return (intPlayer && intPlayer.isMuted && intPlayer.isMuted?.() && !mutedByEchoTest) || muted; + return isPresenter ? intPlayer?.isMuted?.() : muted; } autoPlayBlockDetected() {