{"size": 20107, "ext": "js", "max_stars_repo_path": "sample-app/library/vonage-video-effects.js", "max_stars_repo_name": "nexmo-se/video-api-effects", "max_stars_repo_stars_event_min_datetime": "2022-01-05T09:56:45.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-01T20:37:02.000Z", "max_issues_repo_path": "sample-app/library/vonage-video-effects.js", "max_issues_repo_name": "nexmo-se/video-api-effects", "max_issues_repo_issues_event_min_datetime": "2021-11-22T19:50:39.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-29T15:37:02.000Z", "max_forks_repo_path": "sample-app/library/vonage-video-effects.js", "max_forks_repo_name": "nexmo-se/video-api-effects", "max_forks_repo_forks_event_min_datetime": "2021-11-11T17:29:45.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-24T07:27:43.000Z"}
{"max_stars_count": 2, "max_issues_count": 3, "max_forks_count": 2, "avg_line_length": 10053.5, "max_line_length": 20058, "alphanum_fraction": 0.7742079873}
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VideoEffects=e():t.VideoEffects=e()}(self,(function(){return(()=>{var t={43:function(t,e,i){var n,a;!function(o,s){"use strict";n=function(){var t=function(){},e="undefined",i=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function a(t,e){var i=t[e];if("function"==typeof i.bind)return i.bind(t);try{return Function.prototype.bind.call(i,t)}catch(e){return function(){return Function.prototype.apply.apply(i,[t,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(n){return"debug"===n&&(n="log"),typeof console!==e&&("trace"===n&&i?o:void 0!==console[n]?a(console,n):void 0!==console.log?a(console,"log"):t)}function r(e,i){for(var a=0;a<n.length;a++){var o=n[a];this[o]=a<e?t:this.methodFactory(o,e,i)}this.log=this.debug}function u(t,i,n){return function(){typeof console!==e&&(r.call(this,i,n),this[t].apply(this,arguments))}}function d(t,e,i){return s(t)||u.apply(this,arguments)}function l(t,i,a){var o,s=this;i=null==i?"WARN":i;var u="loglevel";function l(t){var i=(n[t]||"silent").toUpperCase();if(typeof window!==e&&u){try{return void(window.localStorage[u]=i)}catch(t){}try{window.document.cookie=encodeURIComponent(u)+"="+i+";"}catch(t){}}}function c(){var t;if(typeof window!==e&&u){try{t=window.localStorage[u]}catch(t){}if(typeof t===e)try{var i=window.document.cookie,n=i.indexOf(encodeURIComponent(u)+"=");-1!==n&&(t=/^([^;]+)/.exec(i.slice(n))[1])}catch(t){}return void 0===s.levels[t]&&(t=void 0),t}}function f(){if(typeof window!==e&&u){try{return void window.localStorage.removeItem(u)}catch(t){}try{window.document.cookie=encodeURIComponent(u)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}"string"==typeof t?u+=":"+t:"symbol"==typeof t&&(u=void 0),s.name=t,s.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},s.methodFactory=a||d,s.getLevel=function(){return o},s.setLevel=function(i,n){if("string"==typeof i&&void 0!==s.levels[i.toUpperCase()]&&(i=s.levels[i.toUpperCase()]),!("number"==typeof i&&i>=0&&i<=s.levels.SILENT))throw"log.setLevel() called with invalid level: "+i;if(o=i,!1!==n&&l(i),r.call(s,i,t),typeof console===e&&i<s.levels.SILENT)return"No console available for logging"},s.setDefaultLevel=function(t){i=t,c()||s.setLevel(t,!1)},s.resetLevel=function(){s.setLevel(i,!1),f()},s.enableAll=function(t){s.setLevel(s.levels.TRACE,t)},s.disableAll=function(t){s.setLevel(s.levels.SILENT,t)};var h=c();null==h&&(h=i),s.setLevel(h,!1)}var c=new l,f={};c.getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=f[t];return e||(e=f[t]=new l(t,c.getLevel(),c.methodFactory)),e};var h=typeof window!==e?window.log:void 0;return c.noConflict=function(){return typeof window!==e&&window.log===c&&(window.log=h),c},c.getLoggers=function(){return f},c.default=c,c},void 0===(a="function"==typeof n?n.call(e,i,e,t):n)||(t.exports=a)}()},64:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MODEL_WASM_INFERENCE_DIMENSIONS=e.TFLITE_MODELS_SEG_LITE=e.TFLITE_SIMD_LOADER_NAME=e.TFLITE_LOADER_NAME=e.MODEL_NAME=e.PERSON_PROBABILITY_THRESHOLD=e.HISTORY_COUNT=e.MASK_BLUR_RADIUS=e.DEBOUNCE=e.OUTPUT_FRAMES_PER_SECOND=e.BLUR_FILTER_RADIUS=void 0,e.BLUR_FILTER_RADIUS=15,e.OUTPUT_FRAMES_PER_SECOND=30,e.DEBOUNCE=2,e.MASK_BLUR_RADIUS=5,e.HISTORY_COUNT=5,e.PERSON_PROBABILITY_THRESHOLD=.4,e.MODEL_NAME="selfie_segmentation_landscape.tflite",e.TFLITE_LOADER_NAME="tflite.js",e.TFLITE_SIMD_LOADER_NAME="tflite-simd.js",e.TFLITE_MODELS_SEG_LITE={model96:"segm_lite_v681.tflite",model144:"segm_full_v679.tflite"},e.MODEL_WASM_INFERENCE_DIMENSIONS={model96:{height:96,width:160},model144:{height:144,width:256}}},707:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BackgroundEffectProcessor=void 0;const n=i(43),a=i(557),o=i(64),s=i(372),r=i(611);var u;!function(t){t[t.PAUSED=0]="PAUSED",t[t.EFFECT_APPLIED=1]="EFFECT_APPLIED",t[t.INPUT_FORWARDING=2]="INPUT_FORWARDING"}(u||(u={}));e.BackgroundEffectProcessor=class{constructor(t){if(this._effectEnabled=!1,this._outputState=u.PAUSED,this._useWasm="boolean"!=typeof t.useWasm||t.useWasm,this._outputFramesPerSecond="number"==typeof t.frameRate?t.frameRate:o.OUTPUT_FRAMES_PER_SECOND,"string"!=typeof t.assetsPath)throw new Error("assetsPath parameter is missing");let e=t.assetsPath;"/"!==(null==e?void 0:e[e.length-1])&&(e+="/"),this._assetsPath=e,this._inputVideoElement=document.createElement("video"),this._outputCanvasElement=document.createElement("canvas"),this._outputCanvasCtx=this._outputCanvasElement.getContext("2d"),this._maskFrameTimerWorker=new Worker(a.timerWorkerScript,{name:"BackgroundEffectWorker"}),this._maskFrameTimerWorker.onmessage=t=>{t.data.id===a.TIMEOUT_TICK&&this.renderFrame()}}get paused(){return this._outputState===u.PAUSED}pauseStreamProcessing(t){this.setOutputState(t?u.PAUSED:this.effectEnabled?u.EFFECT_APPLIED:u.INPUT_FORWARDING)}get effectEnabled(){return this._effectEnabled}enableEffect(t){this.effectEnabled!==t&&(this._effectEnabled=t,n.default.debug("effectEnabled changed to",t),this._outputState!==u.PAUSED&&this.setOutputState(t?u.EFFECT_APPLIED:u.INPUT_FORWARDING))}async loadEffect(t){if(!this._tflite){n.default.debug("[loadEffect] loading tflite");const t=this._useWasm?o.TFLITE_MODELS_SEG_LITE.model144:o.TFLITE_MODELS_SEG_LITE.model96;this._segmentationMaskDimensions=this._useWasm?o.MODEL_WASM_INFERENCE_DIMENSIONS.model144:o.MODEL_WASM_INFERENCE_DIMENSIONS.model96,this._tflite=await(0,s.loadTFLite)(this._assetsPath+o.TFLITE_SIMD_LOADER_NAME,this._assetsPath+t)}n.default.debug("[loadEffect] effect: ",t.constructor.name),this._effect=t,this._effect.init(this._tflite,this._segmentationMaskDimensions,this._inputVideoElement,this._outputCanvasCtx)}setOutputState(t){t!==this._outputState&&(n.default.debug("[outputState] changed from",u[this._outputState],"to",u[t]),this._outputState=t,this.applyOutputState())}applyOutputState(){this.stopEffectProcessing(),this._inputForwardEffect&&(this._inputForwardEffect.stopDirectForwardingInputToOutput(),this._inputForwardEffect=null),this._outputState===u.EFFECT_APPLIED&&(n.default.debug("[applyOutputState] triggerEffectProcessing for background effect"),this.triggerEffectProcessing()),this._outputState===u.INPUT_FORWARDING&&((0,r.supportsDirectForwarding)()?(n.default.debug("[applyOutputState] forwardInputToOutput"),this._inputForwardEffect=new r.VideoTrackToCanvas(this._inputVideoTrack,this._outputCanvasCtx),this._inputForwardEffect.startDirectForwardingInputToOutput()):(n.default.debug("[applyOutputState] triggerEffectProcessing for input forwarding"),this.triggerEffectProcessing()))}triggerEffectProcessing(){this._maskFrameTimerWorker.postMessage({id:a.SET_TIMEOUT,timeMs:1e3/this._outputFramesPerSecond})}stopEffectProcessing(){this._maskFrameTimerWorker.postMessage({id:a.CLEAR_TIMEOUT})}get inputStream(){return this._inputStream}setInputStream(t){var e,i,a,o;if(n.default.debug("[inputStream] setting input stream",t),!(null===(e=null==t?void 0:t.getVideoTracks)||void 0===e?void 0:e.call(t)[0]))throw n.default.warn("[inputStream] - Media Stream is null or doesn't contain any video tracks"),new Error(`Invalid input stream is missing a video track: ${t}`);this.disconnectInputVideoElement(),this._inputForwardEffect&&(this._inputForwardEffect.stopDirectForwardingInputToOutput(),this._inputForwardEffect=null),this._inputStream=t,this._inputVideoTrack=t.getVideoTracks()[0];const{width:s,height:r}=null!==(o=null===(a=(i=this._inputVideoTrack).getSettings)||void 0===a?void 0:a.call(i))&&void 0!==o?o:this._inputVideoTrack.getConstraints();n.default.debug("[inputStream] video track settings",this._inputVideoTrack.getSettings()),n.default.debug("[inputStream] height :",r),n.default.debug("[inputStream] width :",s),this._outputCanvasElement.width=Number(s),this._outputCanvasElement.height=Number(r),this._inputVideoElement.width=Number(s),this._inputVideoElement.height=Number(r),this._inputVideoElement.autoplay=!0,this._inputVideoElement.srcObject=t,this._inputVideoElement.onloadeddata=()=>{n.default.debug("[_inputVideoElement.onloadeddata] done"),this.applyOutputState()},n.default.debug("[inputStream] this._inputVideoElement.width :",this._inputVideoElement.width),n.default.debug("[inputStream] this._inputVideoElement.height :",this._inputVideoElement.height),n.default.debug("[inputStream] this._outputCanvasElement.width :",this._outputCanvasElement.width),n.default.debug("[inputStream] this._outputCanvasElement.height :",this._outputCanvasElement.height)}get outputStream(){return this._outputCanvasElement.captureStream(Number(this._outputFramesPerSecond))}renderFrame(){var t;this._outputState===u.EFFECT_APPLIED?(null===(t=this._effect)||void 0===t||t.applyEffect(),this.triggerEffectProcessing()):this._outputState!==u.INPUT_FORWARDING||this._inputForwardEffect||(this._outputCanvasCtx.globalCompositeOperation="copy",this._outputCanvasCtx.filter="none",this._outputCanvasCtx.drawImage(this._inputVideoElement,0,0),this.triggerEffectProcessing())}disconnectInputVideoElement(){this._inputVideoElement.pause(),this._inputVideoElement.srcObject=null,this._inputVideoTrack&&this._inputVideoTrack.stop()}destroy(){n.default.debug("destroy"),this.pauseStreamProcessing(!0),this._maskFrameTimerWorker.terminate(),this.disconnectInputVideoElement()}}},372:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.loadTFLite=void 0;const n=i(43);async function a(t){let e;await async function(t){return new Promise(((e,i)=>{const n=document.createElement("script");n.onload=()=>e(),n.onerror=i,document.head.append(n),n.src=t}))}(t);try{e=await window.createTFLiteSIMDModule()}catch(t){n.default.warn("SIMD not supported. You may experience poor quality of background replacement.")}return e}e.loadTFLite=async function(t,e){const[i,o]=await Promise.all([a(t),fetch(e)]);if(n.default.debug("ModelResponse",o),!i)throw n.default.error("[BackgroundEffect] - Tflite module not supported or available"),new Error("[BackgroundEffect] - Tflite module not supported or available");const s=await o.arrayBuffer(),r=i._getModelBufferMemoryOffset();return i.HEAPU8.set(new Uint8Array(s),r),i._loadModel(s.byteLength),i}},557:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.timerWorkerScript=e.TIMEOUT_TICK=e.CLEAR_TIMEOUT=e.SET_TIMEOUT=void 0,e.SET_TIMEOUT=1,e.CLEAR_TIMEOUT=2,e.TIMEOUT_TICK=3;const i=`\n     let timer;\n \n     onmessage = function(request) {\n         switch (request.data.id) {\n         case ${e.SET_TIMEOUT}: {\n             timer = setTimeout(() => {\n                 postMessage({ id: ${e.TIMEOUT_TICK} });\n             }, request.data.timeMs);\n             break;\n         }\n         case ${e.CLEAR_TIMEOUT}: {\n             if (timer) {\n                 clearTimeout(timer);\n             }\n             break;\n         }\n         }\n     };\n `;e.timerWorkerScript=URL.createObjectURL(new Blob([i],{type:"application/javascript"}))},611:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VideoTrackToCanvas=e.supportsDirectForwarding=void 0;const n=i(43);function a(){return!!window.MediaStreamTrackProcessor}e.supportsDirectForwarding=a;e.VideoTrackToCanvas=class{constructor(t,e){this.enabled=!1,this.inputVideoTrack=t,this.outputCanvasCtx=e}startDirectForwardingInputToOutput(){if(this.enabled=!0,!a())throw new Error("Your browser doesn't support the MediaStreamTrackProcessor API yet");n.default.debug("forwardInputToOutput");const t=new MediaStreamTrackProcessor({track:this.inputVideoTrack}).readable.getReader();this.writeFramesToOutput(t)}stopDirectForwardingInputToOutput(){this.enabled=!1}async writeFramesToOutput(t){try{const{done:e,value:i}=await t.read();if(e)return;if(!this.enabled)return void i.close();null!=this.outputCanvasCtx&&(this.outputCanvasCtx.canvas.width===i.displayWidth&&this.outputCanvasCtx.canvas.height===i.displayHeight||(this.outputCanvasCtx.canvas.width=i.displayWidth,this.outputCanvasCtx.canvas.height=i.displayHeight),this.outputCanvasCtx.filter="none",this.outputCanvasCtx.globalCompositeOperation="copy",this.outputCanvasCtx.drawImage(i,0,0),i.close()),this.writeFramesToOutput(t)}catch(t){n.default.error("Error reading video stream: "+t,t)}}}},217:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BackgroundBlurEffect=void 0;const n=i(636),a=i(64),o=i(43);class s extends n.BackgroundEffect{constructor(t){super(t),this.blurFilterRadius=null==t?void 0:t.blurFilterRadius}get blurFilterRadius(){return this._blurFilterRadius}set blurFilterRadius(t){t||(o.default.warn(`Valid blur filter radius not found. Using ${a.BLUR_FILTER_RADIUS} as default.`),t=a.BLUR_FILTER_RADIUS),this._blurFilterRadius=t}drawBackground(t,e){e.filter=`blur(${this._blurFilterRadius}px)`,e.drawImage(t,0,0)}}e.BackgroundBlurEffect=s},636:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BackgroundEffect=void 0;const n=i(43),a=i(64);e.BackgroundEffect=class{constructor(t){n.default.setLevel("DEBUG"),this.maskBlurRadius=null==t?void 0:t.maskBlurRadius,this._segmentationMaskCanvas=document.createElement("canvas"),this._segmentationMaskCtx=this._segmentationMaskCanvas.getContext("2d"),n.default.debug("[BackgroundEffect] this._segmentationMaskCanvas.width :",this._segmentationMaskCanvas.width),n.default.debug("[BackgroundEffect] this._segmentationMaskCanvas.height :",this._segmentationMaskCanvas.height)}init(t,e,i,a){this._tflite=t,this._inputVideoElement=i,this._outputCanvasCtx=a,this._segmentationMask=new ImageData(e.width,e.height),this._segmentationMaskCanvas.width=this._segmentationMask.width,this._segmentationMaskCanvas.height=this._segmentationMask.height,n.default.debug("[BackgroundEffect.init] this._inputVideoElement.width :",this._inputVideoElement.width),n.default.debug("[BackgroundEffect.init] this._inputVideoElement.height :",this._inputVideoElement.height),n.default.debug("[BackgroundEffect.init] this._segmentationMask.width :",this._segmentationMask.width),n.default.debug("[BackgroundEffect.init] this._segmentationMask.height :",this._segmentationMask.height)}get maskBlurRadius(){return this._maskBlurRadius}set maskBlurRadius(t){("number"!=typeof t||t<0)&&(n.default.warn(`Valid mask blur radius not found. Using ${a.MASK_BLUR_RADIUS} as default.`),t=a.MASK_BLUR_RADIUS),this._maskBlurRadius=t}applyEffect(){if(!this._tflite)throw new Error("Effect has to be initialized before it can be applied");this.resizeSource(),this.runInference(),this.runPostProcessing()}resizeSource(){this._segmentationMaskCtx.drawImage(this._inputVideoElement,0,0,this._inputVideoElement.width,this._inputVideoElement.height,0,0,this._segmentationMask.width,this._segmentationMask.height);const t=this._segmentationMaskCtx.getImageData(0,0,this._segmentationMask.width,this._segmentationMask.height),e=this._tflite._getInputMemoryOffset()/4,i=this._segmentationMask.width*this._segmentationMask.height;for(let n=0;n<i;n++)this._tflite.HEAPF32[e+3*n]=t.data[4*n]/255,this._tflite.HEAPF32[e+3*n+1]=t.data[4*n+1]/255,this._tflite.HEAPF32[e+3*n+2]=t.data[4*n+2]/255}runInference(){this._tflite._runInference();const t=this._segmentationMask.width*this._segmentationMask.height,e=this._tflite._getOutputMemoryOffset()/4;for(let i=0;i<t;i++){const t=this._tflite.HEAPF32[e+2*i],n=this._tflite.HEAPF32[e+2*i+1],a=Math.max(t,n),o=Math.exp(t-a),s=Math.exp(n-a);this._segmentationMask.data[4*i+3]=255*s/(o+s)}this._segmentationMaskCtx.putImageData(this._segmentationMask,0,0)}runPostProcessing(){this._outputCanvasCtx&&(this._outputCanvasCtx.filter=`blur(${this._maskBlurRadius}px)`,this._outputCanvasCtx.globalCompositeOperation="copy",this._outputCanvasCtx.drawImage(this._segmentationMaskCanvas,0,0,this._segmentationMask.width,this._segmentationMask.height,0,0,this._inputVideoElement.width,this._inputVideoElement.height),this._outputCanvasCtx.globalCompositeOperation="source-in",this._outputCanvasCtx.filter="none",this._outputCanvasCtx.drawImage(this._inputVideoElement,0,0),this._outputCanvasCtx.globalCompositeOperation="destination-over",this.drawBackground(this._inputVideoElement,this._outputCanvasCtx))}}},382:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VirtualBackgroundEffect=void 0;const n=i(636),a=i(890),o=i(43);class s extends n.BackgroundEffect{constructor(t){var e;super(t),this.backgroundImage=null===(e=t.virtualBackground)||void 0===e?void 0:e.backgroundImage,this.fitType=t.fitType||a.ImageFit.Fill}get backgroundImage(){return this._backgroundImage}set backgroundImage(t){if(!t||!t.complete||!t.naturalHeight)throw new Error("Invalid image. Make sure that the image is an HTMLImageElement and has been successfully loaded");this._backgroundImage=t}get fitType(){return this._fitType}set fitType(t){Object.keys(a.ImageFit).includes(t)||(o.default.warn(`Valid fitType not found. Using '${a.ImageFit.Fill}' as default.`),t=a.ImageFit.Fill),this._fitType=t}drawBackground(t,e){const i=this._backgroundImage,n=i.naturalWidth,s=i.naturalHeight,r=e.canvas.width,u=e.canvas.height;if(o.default.debug("img width",n),o.default.debug("img height",s),o.default.debug("canvas - w",r),o.default.debug("canvas- h",u),this._fitType===a.ImageFit.Fill)e.drawImage(i,0,0,n,s,0,0,r,u);else if(this._fitType===a.ImageFit.None)e.drawImage(i,0,0,n,s);else if(this._fitType===a.ImageFit.Contain){const{x:t,y:o,w:d,h:l}=this.getFitPosition(n,s,r,u,a.ImageFit.Contain);e.drawImage(i,0,0,n,s,t,o,d,l)}else if(this._fitType===a.ImageFit.Cover){const{x:t,y:o,w:d,h:l}=this.getFitPosition(n,s,r,u,a.ImageFit.Cover);e.drawImage(i,0,0,n,s,t,o,d,l)}}getFitPosition(t,e,i,n,o){let s=i/t,r=i,u=s*e;(o===a.ImageFit.Contain&&u>n||o===a.ImageFit.Cover&&n>u)&&(s=n/u,r*=s,u=n);return{x:(i-r)/2,y:(n-u)/2,w:r,h:u}}}e.VirtualBackgroundEffect=s},890:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImageFit=void 0,function(t){t.Contain="Contain",t.Cover="Cover",t.Fill="Fill",t.None="None"}(e.ImageFit||(e.ImageFit={}))},225:(t,e)=>{"use strict";function i(){return!!window.OffscreenCanvas&&!/Mobi/i.test(window.navigator.userAgent)&&!!window.chrome}Object.defineProperty(e,"__esModule",{value:!0}),e.isSupported=e.isBrowserSupported=void 0,e.isBrowserSupported=i,e.isSupported=i()}},e={};function i(n){var a=e[n];if(void 0!==a)return a.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,i),o.exports}var n={};return(()=>{"use strict";var t=n;Object.defineProperty(t,"__esModule",{value:!0}),t.VirtualBackgroundEffectOptions=t.VirtualBackgroundEffect=t.BackgroundBlurEffectOptions=t.BackgroundBlurEffect=t.BackgroundEffectProcessor=t.isSupported=void 0;const e=i(43),a=i(217);Object.defineProperty(t,"BackgroundBlurEffect",{enumerable:!0,get:function(){return a.BackgroundBlurEffect}}),Object.defineProperty(t,"BackgroundBlurEffectOptions",{enumerable:!0,get:function(){return a.BackgroundBlurEffectOptions}});const o=i(382);Object.defineProperty(t,"VirtualBackgroundEffect",{enumerable:!0,get:function(){return o.VirtualBackgroundEffect}}),Object.defineProperty(t,"VirtualBackgroundEffectOptions",{enumerable:!0,get:function(){return o.VirtualBackgroundEffectOptions}});const s=i(225);Object.defineProperty(t,"isSupported",{enumerable:!0,get:function(){return s.isSupported}});const r=i(707);Object.defineProperty(t,"BackgroundEffectProcessor",{enumerable:!0,get:function(){return r.BackgroundEffectProcessor}}),window.OT=window.OT||{},e.default.setLevel("WARN"),window.OT.VideoEffects={isSupported:s.isSupported,BackgroundEffectProcessor:r.BackgroundEffectProcessor,BackgroundBlurEffect:a.BackgroundBlurEffect,VirtualBackgroundEffect:o.VirtualBackgroundEffect}})(),n})()}));
//# sourceMappingURL=vonage-video-effects.js.map