DM8168使用ALSA在A8采集音频,每次使用sysfs动态切换HDMI输出制式,snd_pcm_readi耗时特别大(阻塞模式),声音卡顿,平台为DVR_RDK2.8,想问一下,下面的代码执行怎么影响ALSA的采集?
VDIS_CMD_ARG2(gBuff, VDIS_TIMINGS_SETVENC, 0, 3) VDIS_CMD_ARG2(gBuff, VDIS_TIMINGS_SETVENC, 0, 0) VDIS_CMD_ARG2(gBuff, VDIS_CLKSRC_SETVENC,"dclk",3) //Arun
switch(resolution) { case VSYS_STD_1080P_60: VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_1080P_60, 3) VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_1080P_60, 0) break; case VSYS_STD_1080P_50: VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_1080P_50, 3) VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_1080P_50, 0) break; case VSYS_STD_720P_60: VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_720P_60, 3) VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_720P_60, 0) break; case VSYS_STD_XGA_60: VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_XGA_60, 3) VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_XGA_60, 0) break; case VSYS_STD_SXGA_60: VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_SXGA_60, 3) VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_SXGA_60, 0) break; default: printf("\n Resolution not supported for this HDMI|HDCOMP!! \n"); break; }
/* Tie HDMI and HDCOMP from A8 side */ VDIS_CMD_ARG1(gBuff, VDIS_TIMINGS_TIEDVENCS, VDIS_VENC_HDCOMP | VDIS_VENC_HDMI) VDIS_CMD_ARG2(gBuff, VDIS_TIMINGS_SETVENC, 1, 3) VDIS_CMD_ARG2(gBuff, VDIS_TIMINGS_SETVENC, 1, 0)
zhicai wuzhicai:
该问题后面发现,不只是上面的情况,只要应用这边很长时间没有去取音频数据,导致声卡采集数据覆盖,后面再采集的音频数据偶尔会串声道。
还有一个问题,当AAC编码的输入输出队列的buff数比较大的时候,编码出来有杂音,但是把buf数减少,就没有。大家有遇到这样的问题吗?