浅析alsa声卡驱动snd_pcm_hw_param_mask函数
来源:互联网 发布:渡边麻友ins事件 知乎 编辑:程序博客网 时间:2024/05/21 13:54
static int snd_pcm_hw_param_mask(struct snd_pcm_substream *pcm,
struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var,
const struct snd_mask *val)
{
int changed = _snd_pcm_hw_param_mask(params, var, val);
if (changed < 0)
return changed;
if (params->rmask) {
// 如果添加了新的mask->bits[]位,
// 那么params->rmask相应var位将被置位,进而提示是该var引发了此次改变,
// 执行如下函数,进一步执行回掉处理函数,让
// 新的bit参数对audio系统生效[luther.gliethttp]
int err = snd_pcm_hw_refine(pcm, params); 《浅析alsa声卡驱动snd_pcm_hw_refine函数》
if (err < 0)
return err;
}
return 0;
}
static int _snd_pcm_hw_param_mask(struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var,
const struct snd_mask *val)
{
int changed;
changed = snd_mask_refine(hw_param_mask(params, var), val); // 进行交集计算
if (changed) {
params->cmask |= 1 << var;
params->rmask |= 1 << var; // 标识var发生改变
}
return changed;
}
struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var,
const struct snd_mask *val)
{
int changed = _snd_pcm_hw_param_mask(params, var, val);
if (changed < 0)
return changed;
if (params->rmask) {
// 如果添加了新的mask->bits[]位,
// 那么params->rmask相应var位将被置位,进而提示是该var引发了此次改变,
// 执行如下函数,进一步执行回掉处理函数,让
// 新的bit参数对audio系统生效[luther.gliethttp]
int err = snd_pcm_hw_refine(pcm, params); 《浅析alsa声卡驱动snd_pcm_hw_refine函数》
if (err < 0)
return err;
}
return 0;
}
static int _snd_pcm_hw_param_mask(struct snd_pcm_hw_params *params,
snd_pcm_hw_param_t var,
const struct snd_mask *val)
{
int changed;
changed = snd_mask_refine(hw_param_mask(params, var), val); // 进行交集计算
if (changed) {
params->cmask |= 1 << var;
params->rmask |= 1 << var; // 标识var发生改变
}
return changed;
}
0 0
- 浅析alsa声卡驱动snd_pcm_hw_param_mask函数
- Linux ALSA声卡驱动
- alsa声卡驱动移植
- Linux ALSA声卡驱动
- 浅析alsa声卡驱动snd_pcm_start函数-将音频数据真实的发送到外部音频接口硬件
- alsa ubuntu声卡驱动重新安装
- ALSA驱动声卡流程详解
- alsa声卡驱动分析总结
- alsa声卡驱动分析总结
- alsa声卡驱动分析总结
- Android ALSA 声卡驱动学习
- ALSA声卡驱动创建过程
- Linux ALSA声卡驱动之一
- Linux ALSA声卡驱动:ALSA架构简介
- ALSA声卡笔记1---ALSA驱动框架
- Linux ALSA声卡驱动:ALSA架构简介
- 浅析alsa声卡驱动snd_interval结构体openmin,openmax和integer含义
- 用ALSA驱动声卡流程详解
- javabean servlet jsp
- 后置代码
- 今天发现这里不错
- 关于ld: file is universal (二 slices) but does not contain a(n) armv7s slice
- 关于C语言中内嵌汇编指令的一个小细节
- 浅析alsa声卡驱动snd_pcm_hw_param_mask函数
- S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析 (By liukun321 咕唧咕唧)
- ML二:python批量修改文件名-测试KDTree
- 详解STL中next_permutation()函数实现
- 数学相关简单习题练习
- primary key与unique的区别
- 杭电1238
- 写给那些让我糊里糊涂的HTTP、TCP、UDP、Socket
- 一位Erlang程序员的自白