HarmonyOS 执行OH_NativeBuffer_Map后,一定要执行OH_NativeBuffer_Unmap吗

场景:通过receiver监听摄像头surfaceID得到帧图OH_ImageNative,然后需要OH_ImageNative→OH_NativeBuffer→OH_NativeBuffer_Map(nativeBuffer, &virAddr)。得到virAddr来进行视觉处理。

问题:执行OH_NativeBuffer_Map后,再执行OH_NativeBuffer_Unmap会导致receiver接受3帧后,不再接收帧图。

而去掉OH_NativeBuffer_Unmap后却正常

这是为什么?OH_NativeBuffer_Map后不需要释放吗?

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

OH_NativeBuffer_Unmap函数被调用后,可能会导致OH_NativeBuffer被释放掉,从而导致receiver无法接收到帧图。这种情况下,你需要确保在使用OH_NativeBuffer之后,不要立即调用OH_NativeBuffer_Unmap函数,而是等到receiver接收到帧图后再执行解除映射的操作。

分享
微博
QQ
微信
回复
7天前
相关问题
ArrayBuffer是否一定要传固定长度参数
2046浏览 • 1回复 待解决
HarmonyOS OH_AudioRenderer问题
93浏览 • 1回复 待解决
mysql 初始用户一定是root
4347浏览 • 1回复 待解决
请问鸿蒙和OH支持软总线互相通信
3229浏览 • 0回复 待解决