amazon-chime-sdk / com.amazonaws.services.chime.sdk.meetings.audiovideo.video / VideoSink

# VideoSink

`interface VideoSink`

A VideoSink consumes video frames, typically from a VideoSource. It may process, fork, or render these frames. Typically connected via VideoSource.addVideoSink and disconnected via VideoSource.removeVideoSink

### Functions

#### onVideoFrameReceived | Receive a video frame from some upstream source. The VideoSink may render, store, process, and forward the frame, among other applications. `abstract fun onVideoFrameReceived(frame: VideoFrame): Unit`

### Inheritors

#### BackgroundBlurVideoFrameProcessor | BackgroundBlurVideoFrameProcessor Draws frames to RGBA, converts to CPU, identifies the foreground person and blurs the background of a video frame. `class BackgroundBlurVideoFrameProcessor : VideoSource, VideoSink`
#### BackgroundReplacementVideoFrameProcessor | BackgroundReplacementVideoFrameProcessor Draws frames to RGBA, converts to CPU, identifies the foreground person and replaces the background of a video frame. `class BackgroundReplacementVideoFrameProcessor : VideoSource, VideoSink`
#### DefaultCameraCaptureSource | DefaultCameraCaptureSource will configure a reasonably standard capture stream which will use the Surface provided by the capture source provided by a SurfaceTextureCaptureSourceFactory `class DefaultCameraCaptureSource : CameraCaptureSource, VideoSink`
#### DefaultScreenCaptureSource | DefaultScreenCaptureSource uses MediaProjection to create a VirtualDisplay to capture the device screen. It will render the captured frames to a Surface provided by a SurfaceTextureCaptureSourceFactory. `class DefaultScreenCaptureSource : VideoCaptureSource, VideoSink`
#### VideoRenderView | VideoRenderView is the type of VideoSink used by the VideoTileController `interface VideoRenderView : VideoSink`
#### VideoTile | VideoTile is a tile that binds video render view to display the frame into the view. `interface VideoTile : VideoSink`