HarmonyOS 使用napi_create_buffer_copy创建大内存失败

1、目前liteav的接口使用了ts语言,打算使用ArrayBuffer传递视频帧给客户。取决于分辨率和格式,单个视频帧的内存占用可达10M。

2、尝试使用napi_create_buffer_copy来创建ArrayBuffer对象,在视频帧稍小时是正常的,但如果较大的视频帧,则会失败,日志里找到一行提示:

06-12 13:28:41.996 22951-22951 C03F01/NAPI com.liteav.demo E [(native_api.cpp:2226)(napi_create_buffer_copy)] Creat failed, current size: 5.221939 MiB, limit size: 2.000000 MiB

问题:

1、想知道这个限制的规则是怎样的,是否有文档说明。

2、这里的限制是否能去掉?对比在typescript代码中使用 let buf = new ArrayBuffer(5475600),能够创建成功并正常使用,不明白为何在NAPI接口中使用。

3、如果不能去掉,那将视频帧 从 C++层传递到TS层的最佳实践是怎样的。

HarmonyOS
2024-12-19 15:42:03
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple
分享
微博
QQ
微信
回复
2024-12-19 18:23:21
相关问题
NAPI创建arraybuffer内存释放问题咨询
517浏览 • 1回复 待解决
查询当前应用最大内存可用量。
809浏览 • 1回复 待解决
undefined symbol napi_create_threadsafe_function
4772浏览 • 1回复 待解决
HarmonyOS napi共享内存指导
358浏览 • 1回复 待解决
HarmonyOS Napi Arraybuffer无法创建
388浏览 • 1回复 待解决
HarmonyOS NAPI调用HAR模块失败
1123浏览 • 1回复 待解决
HarmonyOS applink创建失败
205浏览 • 1回复 待解决
HarmonyOS 创建日历失败
433浏览 • 1回复 待解决
HarmonyOS 使用slice处理buffer卡住问题
249浏览 • 1回复 待解决
HarmonyOS 创建相机预览失败
811浏览 • 1回复 待解决