gpt4 book ai didi

android - SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS 是什么意思?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:52 25 4
gpt4 key购买 nike

我正在尝试使用 onPreviewFrame() 回调显示经过过滤的相机预览。

问题是当我删除这一行时: mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

为了隐藏预览,应用程序崩溃了。日志内容如下: 08-19 15:57:51.042: 错误/CameraService(59): registerBuffers 失败,状态为 -38

这是什么意思?这在任何地方都有记录吗?

我正在使用来自 SDK APIDemos 的 CameraPreview:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html

最佳答案

SURFACE_TYPE_PUSH_BUFFERS 为 SurfaceView 生成多个缓冲区。组件在操作系统代码深处锁定(填充数据)和推送(显示数据)这些缓冲区。特别是 OpenMax(相机硬件设备接口(interface))正在使用“图形缓冲区”=“推送缓冲区”来填充数据和显示数据。具体来说,相机硬件可以直接填充推送缓冲区,图形硬件可以直接显示推送缓冲区(它们共享这些缓冲区)。结论:操作系统强制您创建带有推送缓冲区的 SurfaceView。然后它可以使用相机设备的缓冲区。

关于android - SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3525287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com