Lines Matching defs:pcm
2 * \file pcm/pcm_hooks.c
40 snd_pcm_t *pcm;
58 static int hook_add_dlobj(snd_pcm_t *pcm, void *dlobj)
60 snd_pcm_hooks_t *h = pcm->private_data;
79 static int snd_pcm_hooks_close(snd_pcm_t *pcm)
81 snd_pcm_hooks_t *h = pcm->private_data;
105 err = snd_pcm_generic_close(pcm);
111 static int snd_pcm_hooks_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
113 snd_pcm_hooks_t *h = pcm->private_data;
115 int err = snd_pcm_generic_hw_params(pcm, params);
127 static int snd_pcm_hooks_hw_free(snd_pcm_t *pcm)
129 snd_pcm_hooks_t *h = pcm->private_data;
131 int err = snd_pcm_generic_hw_free(pcm);
143 static void snd_pcm_hooks_dump(snd_pcm_t *pcm, snd_output_t *out)
145 snd_pcm_hooks_t *h = pcm->private_data;
147 if (pcm->setup) {
149 snd_pcm_dump_setup(pcm, out);
218 snd_pcm_t *pcm;
232 err = snd_pcm_new(&pcm, SND_PCM_TYPE_HOOKS, name, slave->stream, slave->mode);
237 pcm->ops = &snd_pcm_hooks_ops;
238 pcm->fast_ops = &snd_pcm_hooks_fast_ops;
239 pcm->private_data = h;
240 pcm->poll_fd = slave->poll_fd;
241 pcm->poll_events = slave->poll_events;
242 pcm->mmap_shadow = 1;
243 pcm->tstamp_type = slave->tstamp_type;
244 snd_pcm_link_hw_ptr(pcm, slave);
245 snd_pcm_link_appl_ptr(pcm, slave);
246 *pcmp = pcm;
281 pcm.NAME {
286 pcm STR # Slave PCM name
288 pcm { } # Slave PCM definition
321 are set to the given values when this pcm is accessed. Since these controls
325 when the pcm is closed. The <code>lock</code> means that the control is
326 locked during this pcm is opened, and cannot be changed by others.
341 static int snd_pcm_hook_add_conf(snd_pcm_t *pcm, snd_config_t *root, snd_config_t *conf)
349 int (*install_func)(snd_pcm_t *pcm, snd_config_t *args) = NULL;
451 err = install_func(pcm, args);
454 err = install_func(pcm, args);
457 err = hook_add_dlobj(pcm, h);
563 return hook->pcm;
591 * \param pcm PCM handle
600 int snd_pcm_hook_add(snd_pcm_hook_t **hookp, snd_pcm_t *pcm,
607 assert(snd_pcm_type(pcm) == SND_PCM_TYPE_HOOKS);
611 h->pcm = pcm;
614 hooks = pcm->private_data;
662 * \param pcm PCM handle
666 int _snd_pcm_hook_ctl_elems_install(snd_pcm_t *pcm, snd_config_t *conf)
679 err = snd_pcm_info(pcm, &info);
693 err = snd_config_imake_pointer(&pcm_conf, "pcm_handle", pcm);
699 err = snd_pcm_hook_add(&h_hw_params, pcm, SND_PCM_HOOK_TYPE_HW_PARAMS,
703 err = snd_pcm_hook_add(&h_hw_free, pcm, SND_PCM_HOOK_TYPE_HW_FREE,
707 err = snd_pcm_hook_add(&h_close, pcm, SND_PCM_HOOK_TYPE_CLOSE,