AImageReader_BufferRemovedListener

AHardwareBuffer 移除事件的监听器,使用 AImageReader_setBufferRemovedListener 将监听器对象注册到 AImageReader。

摘要

公共属性

context
void *
可选的应用上下文,作为回调的第一个参数传递。
onBufferRemoved
当旧的 AHardwareBuffer 即将从图像读取器中移除时,会调用此回调。

公共属性

context

声明于 media/NdkImageReader.h
void * AImageReader_BufferRemovedListener::context

可选的应用上下文,作为回调的第一个参数传递。

onBufferRemoved

声明于 media/NdkImageReader.h
AImageReader_BufferRemovedCallback AImageReader_BufferRemovedListener::onBufferRemoved

当旧的 AHardwareBuffer 即将从图像读取器中移除时,会调用此回调。

请注意,除非用户通过调用 AHardwareBuffer_acquire 或从中创建外部图形对象(如 EglImage)来持有从 AImage_getHardwareBuffer 返回的 AHardwareBuffer 的额外引用,否则注册此回调是可选的。

如果注册了回调,AImageReader 将保留其对 AHardwareBuffer 的最后一个引用,直到此回调返回。用户可以使用此回调来获取通知,得知自己成为缓冲区的最后所有者。用户可以自行决定是 1) 立即释放对缓冲区的全部引用;还是 2) 继续使用缓冲区并在将来释放它。请注意,如果使用选项 2,则此 API 的用户有责任通过调用 AHardwareBuffer_release 正确地解除分配缓冲区。

另请参阅: AHardwareBuffer_release 另请参阅: AImage_getHardwareBuffer