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() {