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
2024-12-27 17:44:57
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

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

分享
微博
QQ
微信
回复
2024-12-27 19:45:05
相关问题
ArrayBuffer是否一定要传固定长度参数
2353浏览 • 1回复 待解决
HarmonyOS Promise 重复执行,不执行
486浏览 • 1回复 待解决
HarmonyOS OH_AudioRenderer问题
352浏览 • 1回复 待解决