DefaultSurfaceTextureCaptureSource

class DefaultSurfaceTextureCaptureSource(logger: Logger, width: Int, height: Int, val contentHint: VideoContentHint = VideoContentHint.None, eglCoreFactory: EglCoreFactory) : SurfaceTextureCaptureSource

DefaultSurfaceTextureCaptureSource will provide a Surface which it will listen to and convert to VideoFrameTextureBuffer objects

Constructors

Link copied to clipboard
constructor(logger: Logger, width: Int, height: Int, contentHint: VideoContentHint = VideoContentHint.None, eglCoreFactory: EglCoreFactory)

Properties

Link copied to clipboard
open override val contentHint: VideoContentHint

Content hint for downstream processing

Link copied to clipboard
open override var minFps: Int

Setting this to a positive value will lead the source to resend previously captured frames as necessary to approximately maintain the set value.

Link copied to clipboard
open lateinit override var surface: Surface

Surface from which any buffers submitted to will be emitted as a VideoFrame. User must call start to start listening, and stop will likewise stop listening.

Functions

Link copied to clipboard
open override fun addCaptureSourceObserver(observer: CaptureSourceObserver)

Add a capture source observer to receive callbacks from the source on lifecycle events which can be used to trigger UI. This observer is entirely optional.

Link copied to clipboard
open override fun addVideoSink(sink: VideoSink)

Add a video sink which will immediately begin to receive new frames.

Link copied to clipboard
open override fun release()

Deallocate any state or resources held by this object. Not possible to reuse after call. Surface will have been released.

Link copied to clipboard

Remove a capture source observer

Link copied to clipboard
open override fun removeVideoSink(sink: VideoSink)

Remove a video sink which will no longer receive new frames on return

Link copied to clipboard
open override fun setMaxResolution(maxResolution: VideoResolution)

Set max resolution for video capture source DefaultCameraCaptureSource and DefaultScreenCaptureSource call this function to set max resolution for camera and screen capture

Link copied to clipboard
open override fun start()

Start capturing on this source and emitting video frames

Link copied to clipboard
open override fun stop()

Stop capturing on this source and cease emitting video frames