• alsa pcm设备之設置软件相关参数


    软件相关的参数:
    snd_pcm_sw_params_t设置的参数可以修改在任何时候包括运行中的状态.
    Transfer align:
    读写传输可以与此示例计数对齐,通常此值设置为1(无对齐).
    Start threshold:
    Start threshold参数用来表示stream启动的开始点,对于playback方向,加入samples样本数存在ring buffer等于或大于start threshold参数并且stream并没有运行,pcm设备将会自动开始运行,对于capture方向,假如应用程序从ringbuffer读取的samples数等于或大于样本数,capture方向的stream会自动运行.假如你想通过调用snd_pcm_start函数去开始stream,可以将值设置大于ringbuffer大小,并且使用MAXINT这个值也不是一个坏注意.
    Stop threshold:
    相似的,stop threshold参数被用来自动停止运行的stream,当可使用的samples数超过一定的界限;对于playback方向,表示ringbuffer里面没有样本数的了,超过stop threshold参数,会自动停止运行的stream;对于capture捕获方向,表示ringbufer已经堆满samples超过一定Stop threshold,会自动停止capture数据.
    Silence threshold:
    对于playback方向,在当前应用程序指针之前用来填充一定参数静音的数据,常常用来有可能出现overrun的情况下(比如依赖于网络I/O相关的);如果app程序想管理相关的数据,可以使用snd_pcm_rewind函数忽视掉stream之前的samples.
    Mini available count of samples:
    这个参数用来控制唤醒点,如果可使用的样本数大于或等于这个值,stream将会唤醒.
    Timestamp mode:
    这个模式表示时间戳模式是否激活,目前只有SND_PCM_TSTAMP和SND_PCM_TSTAMP_MMAP模式,mmp模式意味着每个period time会产生timestamp.对应的ringbufer位置可以通过snd_pcm_htimestamp函数获得.

  • 相关阅读:
    【excel密码】为什么工作表不能移动、复制了?
    Aws配置钉钉告警实现
    TypeScript(二)语法细节
    【MySQL】数据类型
    ORA-00333
    机器学习复习(待更新)
    java毕业设计电商项目mybatis+源码+调试部署+系统+数据库+lw
    腾讯云轻量应用服务器性能差吗?为什么便宜?
    Postgresql实验系列(2)批量获取事务ID
    QtCreator开发环境的安装和配置
  • 原文地址:https://blog.csdn.net/M_1308347688/article/details/133671498