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
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple
分享
微博
QQ
微信
回复
3天前
相关问题
查询当前应用最大内存可用量。
654浏览 • 1回复 待解决
undefined symbol napi_create_threadsafe_function
4472浏览 • 1回复 待解决
HarmonyOS NAPI调用HAR模块失败
532浏览 • 1回复 待解决
HarmonyOS 创建相机预览失败
596浏览 • 1回复 待解决
HarmonyOS 创建window失败,返回1300002
67浏览 • 1回复 待解决
native创建socket会失败
1777浏览 • 1回复 待解决
DataAbilityHelper.creator()创建实例失败
3952浏览 • 1回复 待解决