int32_t
类型。createDescriptor()
接收 BufferDescriptorInfo 返回 BufferDescriptor。importBuffer()
接收 raw buffer handle,返回当前进程可使用的 buffer handle。freeBuffer()
释放 importBuffer()
返回的 buffer handle。不再使用时必须调用该函数释放 buffer handle。validateBufferSize()
验证 buffer 是否通过指定 BufferDescriptorInfo 和 stride 可以安全地被访问。<aside>
☝ GraphicBufferMapper::importBuffer()
函数中先调用 importBuffer()
获取 buffer,然后调用 validateBufferSize()
验证是否可访问,如果不能访问,则调用 freeBuffer()
释放 buffer。
</aside>
getTransportSize()
计算 buffer 的传输大小。导入的 buffer handle 是 raw buffer handle 加上进程运行时数据。该函数返回文件描述符和整型数量用于传输,可以省略进程运行时数据。lock()
锁定 buffer,为特定 CPU 使用。lockYCbCr()
锁定 YCbCr buffer。unlock()
解锁 buffer。isSupported()
检查指定 BufferDescriptorInfo 是否支持。flushLockedBuffer()
刷新已锁定 buffer 内容。该函数刷新 CPU 缓存中 buffer,它与 unlock()
类似,但保留 buffer 在 CPU 中映射。Framework 中没有使用该函数。rereadLockedBuffer()
重新读取锁定 buffer 内容。