davidliu
Committed by GitHub

Add capture options and video processor for screencast tracks (#410)

... ... @@ -141,15 +141,19 @@ internal constructor(
fun createScreencastTrack(
name: String = "",
mediaProjectionPermissionResultData: Intent,
options: LocalVideoTrackOptions = videoTrackCaptureDefaults.copy(),
videoProcessor: VideoProcessor? = null,
): LocalScreencastVideoTrack {
val screencastOptions = options.copy(isScreencast = true)
return LocalScreencastVideoTrack.createTrack(
mediaProjectionPermissionResultData,
peerConnectionFactory,
context,
name,
LocalVideoTrackOptions(isScreencast = true),
screencastOptions,
eglBase,
screencastVideoTrackFactory,
videoProcessor,
)
}
... ...
... ... @@ -129,8 +129,10 @@ constructor(
options: LocalVideoTrackOptions,
rootEglBase: EglBase,
screencastVideoTrackFactory: Factory,
videoProcessor: VideoProcessor?
): LocalScreencastVideoTrack {
val source = peerConnectionFactory.createVideoSource(options.isScreencast)
source.setVideoProcessor(videoProcessor)
val callback = MediaProjectionCallback()
val capturer = createScreenCapturer(mediaProjectionPermissionResultData, callback)
capturer.initialize(
... ...