首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Camera2 API -为什么相同的表面需要指定两次?

Camera2 API -为什么相同的表面需要指定两次?
EN

Stack Overflow用户
提问于 2018-06-11 04:27:16
回答 1查看 559关注 0票数 0

从Camera2 API来看,表面似乎需要指定两次。在createCaptureSession期间完成后,传入曲面列表。稍后,我们再次为预览生成器的addTarget方法指定相同的曲面。如果我们以后要指定目标曲面,为什么我们需要在createCaptureSession调用期间首先指定曲面列表?addTargetcreateCaptureSession没有做的表面到底做了什么?致以问候。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-12 06:15:34

对于捕获会话,需要列出可能要用于请求的所有表面。这样,相机设备就可以配置其硬件处理管道,以便能够按照请求的大小和所请求的目的地提供所有这些输出(例如,向SurfaceView/TextureView预览1080 p,向ImageReaders提供全分辨率JPEG,将4K视频记录缓冲区提供给MediaRecorder,等等)。

然后,每个请求包括这些曲面的子集(或全部)。并不是每个请求通常都希望包含每个配置好的ImageReader;您通常只包含用于快照的完全分辨率的JPEG,并且在积极录制视频时只包含MediaRecorder曲面。

如果这些表面只包含在捕获请求中,那么当它看到一个以前没有使用过的新曲面时,相机管道将不得不动态地重新配置自己。这通常会导致300-600毫秒的暂停,因为相机硬件会刷新其数据并重新配置自己。

因此,为了确保顺利运行,camera2 API要求应用程序预先为当前会话指定所有所需的输出。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50790524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档