feat(build,virtual-background) don't use an external bundle for the effect

The majority of the code is in the WASM file and models, this is just a few KB.
It's so little, in fact, that the performance hint for the main bundle didn't
have to be adjusted.
This commit is contained in:
Saúl Ibarra Corretgé 2021-03-12 16:50:57 +01:00 committed by Saúl Ibarra Corretgé
parent 31ace267ce
commit 22b6d32174
5 changed files with 7 additions and 40 deletions

View File

@ -51,8 +51,6 @@ deploy-appbundle:
$(OUTPUT_DIR)/analytics-ga.js \
$(BUILD_DIR)/analytics-ga.min.js \
$(BUILD_DIR)/analytics-ga.min.map \
$(BUILD_DIR)/virtual-background-effect.min.js \
$(BUILD_DIR)/virtual-background-effect.min.map \
$(BUILD_DIR)/rnnoise-processor.min.js \
$(BUILD_DIR)/rnnoise-processor.min.map \
$(BUILD_DIR)/close3.min.js \

View File

@ -1,7 +1,7 @@
// @flow
import { createScreenshotCaptureEffect } from '../../stream-effects/screenshot-capture';
import { getBackgroundEffect } from '../../virtual-background';
import { createVirtualBackgroundEffect } from '../../stream-effects/virtual-background';
import logger from './logger';
@ -13,9 +13,10 @@ import logger from './logger';
*/
export default function loadEffects(store: Object): Promise<any> {
const state = store.getState();
const virtualBackground = state['features/virtual-background'];
const backgroundPromise = state['features/virtual-background'].backgroundEffectEnabled
? getBackgroundEffect()
const backgroundPromise = virtualBackground.backgroundEffectEnabled
? createVirtualBackgroundEffect(virtualBackground)
.catch(error => {
logger.error('Failed to obtain the background effect instance with error: ', error);

View File

@ -1,9 +1,9 @@
// @flow
import { getLocalVideoTrack } from '../../features/base/tracks';
import { getLocalVideoTrack } from '../base/tracks';
import { createVirtualBackgroundEffect } from '../stream-effects/virtual-background';
import { BACKGROUND_ENABLED, SET_VIRTUAL_BACKGROUND } from './actionTypes';
import { getBackgroundEffect } from './functions';
import logger from './logger';
/**
@ -21,7 +21,7 @@ export function toggleBackgroundEffect(enabled: boolean) {
try {
if (enabled) {
await jitsiTrack.setEffect(await getBackgroundEffect(virtualBackground));
await jitsiTrack.setEffect(await createVirtualBackgroundEffect(virtualBackground));
dispatch(backgroundEnabled(true));
} else {
await jitsiTrack.setEffect(undefined);

View File

@ -1,27 +1,8 @@
// @flow
import { getJitsiMeetGlobalNS, loadScript } from '../base/util';
let filterSupport;
/**
* Returns promise that resolves with the blur effect instance.
*
* @param {Object} virtualBackground - The virtual object that contains the background image source and
* the isVirtualBackground flag that indicates if virtual image is activated .
* @returns {Promise<JitsiStreamBackgroundEffect>} - Resolves with the background effect instance.
*/
export function getBackgroundEffect(virtualBackground: Object) {
const ns = getJitsiMeetGlobalNS();
if (ns.effects && ns.effects.createVirtualBackgroundEffect) {
return ns.effects.createVirtualBackgroundEffect(virtualBackground);
}
return loadScript('libs/virtual-background-effect.min.js').then(() =>
ns.effects.createVirtualBackgroundEffect(virtualBackground));
}
/**
* Checks context filter support.
*

View File

@ -247,19 +247,6 @@ module.exports = [
// and sourceMapFilename parameters which target libs without .min in dev
// mode. Thus we change these modules to have the same filename in both
// prod and dev mode.
Object.assign({}, config, {
entry: {
'virtual-background-effect': './react/features/stream-effects/virtual-background/index.js'
},
output: Object.assign({}, config.output, {
library: [ 'JitsiMeetJS', 'app', 'effects' ],
libraryTarget: 'window',
filename: '[name].min.js',
sourceMapFilename: '[name].min.map'
}),
performance: getPerformanceHints(1 * 1024 * 1024)
}),
Object.assign({}, config, {
entry: {
'rnnoise-processor': './react/features/stream-effects/rnnoise/index.js'