amazon-chime-sdk / com.amazonaws.services.chime.sdk.meetings.audiovideo.video.backgroundfilter.backgroundblur / BackgroundBlurVideoFrameProcessor

# BackgroundBlurVideoFrameProcessor

`class BackgroundBlurVideoFrameProcessor : VideoSource, VideoSink`

BackgroundBlurVideoFrameProcessor Draws frames to RGBA, converts to CPU, identifies the foreground person and blurs the background of a video frame.

### Parameters

`logger` - : Logger - Logger to log the data.

`eglCoreFactory` - : EglCoreFactory - Factory to create EglCore objects to hold EGL state.

`context` - : Context - Context to create blur and segmentation processor.

`configurations` - : BackgroundBlurConfiguration - BlurStrength - how much blur to apply to a frame. It specifies blurValue that corresponds to blur radius used in gaussian blur. It accepts a float value from 0 to 25, where higher the number more blurrier the image will be.

### Constructors

#### <init> | BackgroundBlurVideoFrameProcessor Draws frames to RGBA, converts to CPU, identifies the foreground person and blurs the background of a video frame. `BackgroundBlurVideoFrameProcessor(logger: Logger, eglCoreFactory: EglCoreFactory, context: Context, configurations: BackgroundBlurConfiguration?)`

### Properties

#### configurations | : BackgroundBlurConfiguration - BlurStrength - how much blur to apply to a frame. It specifies blurValue that corresponds to blur radius used in gaussian blur. It accepts a float value from 0 to 25, where higher the number more blurrier the image will be. `var configurations: BackgroundBlurConfiguration?`
#### contentHint | Content hint for downstream processing `val contentHint: VideoContentHint`

### Functions

#### addVideoSink | Add a video sink which will immediately begin to receive new frames. `fun addVideoSink(sink: VideoSink): Unit`
#### getBackgroundBlurredBitmap | `fun getBackgroundBlurredBitmap(inputBitmap: Bitmap, frame: VideoFrame): Bitmap?`
#### onVideoFrameReceived | Receive a video frame from some upstream source. The VideoSink may render, store, process, and forward the frame, among other applications. `fun onVideoFrameReceived(frame: VideoFrame): Unit`
#### release | `fun release(): Unit`
#### removeVideoSink | Remove a video sink which will no longer receive new frames on return `fun removeVideoSink(sink: VideoSink): Unit`