Merge pull request #1815 from jitsi/fix_audio_only_off
fix(AudioOnly+web): crash when untoggle audio only
This commit is contained in:
@@ -9,7 +9,7 @@ import {
|
||||
setCameraFacingMode,
|
||||
setVideoMuted
|
||||
} from './actions';
|
||||
import { CAMERA_FACING_MODE } from './constants';
|
||||
import { CAMERA_FACING_MODE, MEDIA_TYPE } from './constants';
|
||||
|
||||
/**
|
||||
* Middleware that captures CONFERENCE_LEFT action and restores initial state
|
||||
@@ -70,6 +70,15 @@ function _syncTrackMutedState(store, track) {
|
||||
// fired before track gets to state.
|
||||
if (track.muted !== muted) {
|
||||
track.muted = muted;
|
||||
setTrackMuted(track.jitsiTrack, muted);
|
||||
setTrackMuted(track.jitsiTrack, muted)
|
||||
.catch(error => {
|
||||
console.error(`setTrackMuted(${muted}) failed`, error);
|
||||
const setMuted
|
||||
= track.mediaType === MEDIA_TYPE.AUDIO
|
||||
? setAudioMuted : setVideoMuted;
|
||||
|
||||
// Failed to sync muted state - dispatch rollback action
|
||||
store.dispatch(setMuted(!muted));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,9 +174,5 @@ export function setTrackMuted(track, muted) {
|
||||
|
||||
const f = muted ? 'mute' : 'unmute';
|
||||
|
||||
return track[f]()
|
||||
.catch(err => {
|
||||
console.warn(`Track ${f} was rejected:`, err);
|
||||
throw err;
|
||||
});
|
||||
return track[f]();
|
||||
}
|
||||
|
||||
@@ -160,7 +160,19 @@ function _getLocalTrack(store, mediaType: MEDIA_TYPE) {
|
||||
function _setMuted(store, action, mediaType: MEDIA_TYPE) {
|
||||
const localTrack = _getLocalTrack(store, mediaType);
|
||||
|
||||
localTrack && setTrackMuted(localTrack.jitsiTrack, action.muted);
|
||||
if (localTrack) {
|
||||
setTrackMuted(localTrack.jitsiTrack, action.muted)
|
||||
.catch(error => {
|
||||
console.error(`setTrackMuted(${action.muted}) failed`, error);
|
||||
|
||||
const setMuted
|
||||
= mediaType === MEDIA_TYPE.AUDIO
|
||||
? setAudioMuted : setVideoMuted;
|
||||
|
||||
// Failed to modify muted state - dispatch rollback action
|
||||
store.dispatch(setMuted(!action.muted));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user