关于音频初始化函数感觉有问题:_audio_dev_init

发布于 2020-10-12 15:49:58

请教个问题,在音频初始化函数:_audio_dev_init 中,有这样的处理

replay->mp = rt_mp_create("adu_mp", RT_AUDIO_REPLAY_MP_BLOCK_COUNT, RT_AUDIO_REPLAY_MP_BLOCK_SIZE);
...
 rt_data_queue_init(&replay->queue, CFG_AUDIO_REPLAY_QUEUE_COUNT, 0, RT_NULL);
...

首先创建一个 memory pool:adu_mp, RT_AUDIO_REPLAY_MP_BLOCK_COUNT宏的值是2, RT_AUDIO_REPLAY_MP_BLOCK_SIZE宏的值是3200, 意思是创建 2个 3200大小的内存。
但是对列初始化中,初始化了4个对列(CFG_AUDIO_REPLAY_QUEUE_COUNT的值为4)。
意思说,如果不pop队列的话,push到队列个数最大是2「queue->put_index」,
所以「queue->put_index」的值永远达不到4,RT_AUDIO_REPLAY_MP_BLOCK_COUNT的值应该为5才对吧?(应该比对列的个数CFG_AUDIO_REPLAY_QUEUE_COUNT大才对)

查看更多

关注者
1
被浏览
125
0 个回答
暂无答案,快来添加答案吧

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览