mirror of https://github.com/jitsi/jitsi-meet
parent
dffe2316d4
commit
99f61ca2cd
@ -0,0 +1,35 @@ |
||||
import { JitsiTrackEvents } from '../base/lib-jitsi-meet'; |
||||
import { MiddlewareRegistry } from '../base/redux'; |
||||
import { getLocalVideoTrack } from '../base/tracks'; |
||||
|
||||
import { toggleBackgroundEffect } from './actions'; |
||||
|
||||
/** |
||||
* Middleware which intercepts the desktop video type on |
||||
* virtual background. If the user stops the screen share |
||||
* then the default virtual background is set to 'none' option |
||||
* |
||||
* @param {Store} store - The redux store. |
||||
* @returns {Function} |
||||
*/ |
||||
MiddlewareRegistry.register(store => next => action => { |
||||
const { dispatch, getState } = store; |
||||
const virtualSource = getState()['features/virtual-background'].virtualSource; |
||||
const currentLocalTrack = getLocalVideoTrack(getState()['features/base/tracks']); |
||||
|
||||
if (virtualSource?.videoType === 'desktop') { |
||||
const noneOptions = { |
||||
enabled: false, |
||||
backgroundType: 'none', |
||||
selectedThumbnail: 'none', |
||||
backgroundEffectEnabled: false |
||||
}; |
||||
|
||||
virtualSource |
||||
&& virtualSource.on(JitsiTrackEvents.LOCAL_TRACK_STOPPED, () => { |
||||
dispatch(toggleBackgroundEffect(noneOptions, currentLocalTrack.jitsiTrack)); |
||||
}); |
||||
} |
||||
|
||||
return next(action); |
||||
}); |
Loading…
Reference in new issue