Committed by
GitHub
Add capture options and video processor for screencast tracks (#410)
正在显示
2 个修改的文件
包含
7 行增加
和
1 行删除
| @@ -141,15 +141,19 @@ internal constructor( | @@ -141,15 +141,19 @@ internal constructor( | ||
| 141 | fun createScreencastTrack( | 141 | fun createScreencastTrack( |
| 142 | name: String = "", | 142 | name: String = "", |
| 143 | mediaProjectionPermissionResultData: Intent, | 143 | mediaProjectionPermissionResultData: Intent, |
| 144 | + options: LocalVideoTrackOptions = videoTrackCaptureDefaults.copy(), | ||
| 145 | + videoProcessor: VideoProcessor? = null, | ||
| 144 | ): LocalScreencastVideoTrack { | 146 | ): LocalScreencastVideoTrack { |
| 147 | + val screencastOptions = options.copy(isScreencast = true) | ||
| 145 | return LocalScreencastVideoTrack.createTrack( | 148 | return LocalScreencastVideoTrack.createTrack( |
| 146 | mediaProjectionPermissionResultData, | 149 | mediaProjectionPermissionResultData, |
| 147 | peerConnectionFactory, | 150 | peerConnectionFactory, |
| 148 | context, | 151 | context, |
| 149 | name, | 152 | name, |
| 150 | - LocalVideoTrackOptions(isScreencast = true), | 153 | + screencastOptions, |
| 151 | eglBase, | 154 | eglBase, |
| 152 | screencastVideoTrackFactory, | 155 | screencastVideoTrackFactory, |
| 156 | + videoProcessor, | ||
| 153 | ) | 157 | ) |
| 154 | } | 158 | } |
| 155 | 159 |
| @@ -129,8 +129,10 @@ constructor( | @@ -129,8 +129,10 @@ constructor( | ||
| 129 | options: LocalVideoTrackOptions, | 129 | options: LocalVideoTrackOptions, |
| 130 | rootEglBase: EglBase, | 130 | rootEglBase: EglBase, |
| 131 | screencastVideoTrackFactory: Factory, | 131 | screencastVideoTrackFactory: Factory, |
| 132 | + videoProcessor: VideoProcessor? | ||
| 132 | ): LocalScreencastVideoTrack { | 133 | ): LocalScreencastVideoTrack { |
| 133 | val source = peerConnectionFactory.createVideoSource(options.isScreencast) | 134 | val source = peerConnectionFactory.createVideoSource(options.isScreencast) |
| 135 | + source.setVideoProcessor(videoProcessor) | ||
| 134 | val callback = MediaProjectionCallback() | 136 | val callback = MediaProjectionCallback() |
| 135 | val capturer = createScreenCapturer(mediaProjectionPermissionResultData, callback) | 137 | val capturer = createScreenCapturer(mediaProjectionPermissionResultData, callback) |
| 136 | capturer.initialize( | 138 | capturer.initialize( |
-
请 注册 或 登录 后发表评论