Page 1 of 1
Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-23 8:06
by shaw...
代码如下,在RK_MPI_AI_GetFrame中返回值为0xA00A800D,查阅手册发现是RK_ERR_AI_NOBUF,这是什么情况
Code: Select all
void*sendDataThread(void*ptr) {
TEST_AI_CTX_S*params= reinterpret_cast<TEST_AI_CTX_S*>(ptr);
RK_S32result=0;
RK_S32s32MilliSec=10;
AUDIO_FRAME_Sframe;
if (params->dstFilePath) {
AUDIO_SAVE_FILE_INFO_Ssave;
save.bCfg=RK_TRUE;
save.u32FileSize=1024;
snprintf(save.aFilePath, sizeof(save.aFilePath), "%s", params->dstFilePath);
snprintf(save.aFileName, sizeof(save.aFileName), "%s", "cap_out.pcm");
RK_MPI_AI_SaveFile(params->s32DevId, params->s32ChnIndex, &save);
//printf("save_file\r\n");
}
while (!gAiExit) {
result=RK_MPI_AI_GetFrame(params->s32DevId, params->s32ChnIndex, &frame, RK_NULL, s32MilliSec);
printf("result=%x\r\n",result);
if (result==0) {
void*data=RK_MPI_MB_Handle2VirAddr(frame.pMbBlk);
RK_U32len=RK_MPI_MB_GetSize(frame.pMbBlk);
RK_LOGV("data = %p, len = %d", data, len);
RK_MPI_AI_ReleaseFrame(params->s32DevId, params->s32ChnIndex, &frame, RK_NULL);
}
}
returnRK_NULL;
}
Re: Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-23 9:54
by Eng38
你好,是否修改过 RK_BOOTARGS_CMA_SIZE 的大小,请尝试增大后再进行测试:
Re: Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-23 13:19
by shaw...
这个文件的路径是在哪里呢
Re: Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-24 1:13
by Eng38
SDK/project/cfg/BoardConfig_IPC目录下,根据版型修改对应的配置文件,重新选择版型进行编译
Re: Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-24 3:53
by shaw...
您好,按您说的改了空间大小,现在不会报之前那个错误了,十分感谢。但是会segment fault,看了一下可能的原因:
这是使用pdf里提供的采集指令:
rockit default level 4, can use export rt_log_level=x, x=0,1,2,3,4,5,6 change
(null) 00:11:27-130 {read_log_level :093} text is all=4
(null) 00:11:27-136 {read_log_level :095} module is all, log_level is 4
cmpi 00:11:27-145 {sys_runtime_librar:081} Failed to open /dev/mpi/valloc,please check insmod success or fail
(null) 00:11:27-151 {monitor_log_level :144} #Start [ 278.152437] vsys dev open 1monitor_log_leve3
l thread, arg:(nil)
cmpi 00:11:27-170 {main :1295} start running loop count = 0
RKAiChn 00:11:27-174 {setAedAttr :789} pstAedConfig = (nil), set mAedEnable = false
RKAiChn 00:11:27-183 {setBcdAttr :852} pstBcdConfig = (nil), set mBcdEnable = false
RKAiChn 00:11:27-193 {setBuzAttr :915} pstBuzConfig = (nil), set mBuzEnable = false
RKAiChn 00:11:27-203 {setGbsAttr :979} pstGbsConfig = (nil), set mGbsEnable = false
RKAiChn 00:11:27-213 {setVqeAttr :1045} pstVqeConfig = (nil), set mVqeEnable = false
RKAiChn 00:11:27-223 {prepareGraph :221} check enabled - vqe:0 aed:0 bcd:0 buz:0 gbs:0
RTFlowGraph 00:11:27-238 {setMaxInputStreamQ:287} ai: Illegal operation, no input port exists.
RKAiChn 00:11:27-356 {setVqeEnable :1019} not support veq algo
cmpi 00:11:27-359 {commandThread :829} test info : mute = 0, volume = 100
cmpi 00:11:27-365 {saveFile :708} create file(/tmp/cap_out.pcm) succeed
里面有一句open 1monitor_log_leve3
以下是我用的C语言来做的音频输入:
rockit default level 4, can use export rt_log_level=x, x=0,1,2,3,4,5,6 change
(null) 00:13:21-729 {read_log_level :093} text is all=4
(null) 00:13:21-736 {read_log_level :095} module is all, log_level is 4
cmpi 00:13:21-744 {sys_runtime_librar:081} Failed to open /dev/mpi/valloc,please check insmod success or fail
(null) 00:13:21-748 {monitor_log_level :144} #Start monitor_log_leve[ 687.162541] vsys dev opeln thread, arg:13(nil)
cmpi 00:13:21-771 {main :684} start running loop count = 0
RKAiChn 00:13:21-773 {setAedAttr :789} pstAedConfig = (nil), set mAedEnable = false
RKAiChn 00:13:21-783 {setBcdAttr :852} pstBcdConfig = (nil), set mBcdEnable = false
RKAiChn 00:13:21-793 {setBuzAttr :915} pstBuzConfig = (nil), set mBuzEnable = false
RKAiChn 00:13:21-803 {setGbsAttr :979} pstGbsConfig = (nil), set mGbsEnable = false
RKAiChn 00:13:21-813 {setVqeAttr :1045} pstVqeConfig = (nil), set mVqeEnable = false
RKAiChn 00:13:21-823 {prepareGraph :221} check enabled - vqe:0 aed:0 bcd:0 buz:0 gbs:0
RTFlowGraph 00:13:21-837 {setMaxInputStreamQ:287} ai: Illegal operation, no input port exists.
RKAiChn 00:13:21-956 {setVqeEnable :1019} not support veq algo
check_point_1
cmpi 00:13:21-960 {saveFile :708} create file(/tmp/cap_out.pcm) succeed
Segmentation fault (core dumped)
里面有一句vsys dev opeln ,想问一下这两种有什么区别,可能导致下面segment fault的问题吗
Re: Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-24 6:45
by Eng38
您好,{monitor_log_level :144} 后的提示不同,可能是输出先后顺序不同导致,录制的音频正常即可。导致段错误的原因可能有多种,建议在代码中增加一些调试信息或使用gdb调试工具,帮助确认每一步操作是否成功。
Re: Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-24 14:17
by shaw...
今天晚上又试了一下又开始报RK_ERR_AI_NOBUF了,重新装系统也无法解决,请问一下这个问题还可能由其他原因造成吗
Re: Luckfox Pico RV1103 RV1106 6音频输入时提示音频输入缓存不足是什么情况
Posted: 2024-05-25 2:41
by Eng38
根据手册,RK_ERR_AI_NOBUF 是由于音频输入缓存不足导致,请继续增大 RK_BOOTARGS_CMA_SIZE,注意确保正确烧录镜像,或先烧录网盘提供的镜像进行测试。