SDL播放音频的一个程序,请问一下这个函数是想干嘛,看了半天没看懂。。

大大的道道的 2017-06-13 05:08:53
int32_t AudioOut::sdl_getaudiobufferinfo(int32_t *bytes_remain, int32_t *bytes_empty)
{
if(bytes_remain==NULL && bytes_empty==NULL) return RET_SUCCESS;
if(fifo==NULL){
if(bytes_remain!=NULL) *bytes_remain = 0;
if(bytes_empty!=NULL) *bytes_empty = 0;
return RET_SUCCESS;
}

SDL_LockAudio();
int32_t byte_left = av_fifo_size(fifo);
SDL_UnlockAudio();

if(bytes_remain!=NULL){
*bytes_remain = byte_left;
}

if(bytes_empty!=NULL){
//*bytes_empty = 5*src_sample_rate*src_channels*2 - byte_left;
*bytes_empty = 5*dest_sample_rate*dest_channels*2 - byte_left;
}

return RET_SUCCESS;
}

SDL播放音频的一个程序,请问一下这个函数是想干嘛,看了半天没看懂。。
特别是这句话: *bytes_empty = 5*dest_sample_rate*dest_channels*2 - byte_left;
...全文
159 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
rightorwrong 2017-06-27
  • 打赏
  • 举报
回复
计算剩余缓冲区个数吧,结合上下部分函数看看

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧