_snd_pcm_empty_open和snd_pcm_open_named_slave ==> snd_pcm_open_conf(pcmp, name, root, conf, stream, mode); ==> open_func = snd_dlobj_cache_lookup(open_name);将获得lib库中_snd_pcm_empty_open函数 所以open_func将等于_snd_pcm_empty_open _snd_pcm_empty_open _snd_pcm_asym_open _...
snd_pcm_open 函数原型如下 int snd_pcm_open(snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode) { snd_config_t *top; int err; assert(pcmp && name); if (_snd_is_ucm_device(name)) { name = uc_mgr_alibcfg_by_device(&top, name); if (name == NULL) ...
linux alsa-lib snd_pcm_open函数源码分析(六) snd_config_update_ref函数的目的是更新配置树,第一次调用时,实际上主要是解析并加载配置文件。 函数的原型已经在上一篇中介绍过, snd_config_update_ref主要是调用了snd_config_update_r函数,本篇我们会详细分析此函数。 1.snd_config_update_r 函数原型如下...