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 内容。