Lines Matching refs:ext
209 extplug_priv_t *ext = pcm->private_data;
216 err = extplug_hw_refine(params, ext->params);
226 extplug_priv_t *ext = pcm->private_data;
231 extplug_hw_refine(sparams, ext->sparams);
262 extplug_priv_t *ext = pcm->private_data;
263 unsigned int links = get_links(ext->sparams);
272 extplug_priv_t *ext = pcm->private_data;
273 unsigned int links = get_links(ext->params);
295 extplug_priv_t *ext = pcm->private_data;
296 snd_pcm_t *slave = ext->plug.gen.slave;
304 ext->data->slave_format = slave->format;
305 ext->data->slave_subformat = slave->subformat;
306 ext->data->slave_channels = slave->channels;
307 ext->data->rate = slave->rate;
308 INTERNAL(snd_pcm_hw_params_get_format)(params, &ext->data->format);
309 INTERNAL(snd_pcm_hw_params_get_subformat)(params, &ext->data->subformat);
310 INTERNAL(snd_pcm_hw_params_get_channels)(params, &ext->data->channels);
312 if (ext->data->callback->hw_params) {
313 err = ext->data->callback->hw_params(ext->data, params);
325 extplug_priv_t *ext = pcm->private_data;
327 snd_pcm_hw_free(ext->plug.gen.slave);
328 if (ext->data->callback->hw_free)
329 return ext->data->callback->hw_free(ext->data);
345 extplug_priv_t *ext = pcm->private_data;
349 size = ext->data->callback->transfer(ext->data, slave_areas, slave_offset,
367 extplug_priv_t *ext = pcm->private_data;
371 size = ext->data->callback->transfer(ext->data, areas, offset,
382 extplug_priv_t *ext = pcm->private_data;
383 return ext->data->callback->init(ext->data);
391 extplug_priv_t *ext = pcm->private_data;
393 if (ext->data->callback->dump)
394 ext->data->callback->dump(ext->data, out);
396 if (ext->data->name)
397 snd_output_printf(out, "%s\n", ext->data->name);
406 snd_pcm_dump(ext->plug.gen.slave, out);
409 static void clear_ext_params(extplug_priv_t *ext)
413 snd_ext_parm_clear(&ext->params[i]);
414 snd_ext_parm_clear(&ext->sparams[i]);
420 extplug_priv_t *ext = pcm->private_data;
422 snd_pcm_close(ext->plug.gen.slave);
423 clear_ext_params(ext);
424 if (ext->data->callback->close)
425 ext->data->callback->close(ext->data);
426 free(ext);
432 extplug_priv_t *ext = pcm->private_data;
434 if (ext->data->version >= 0x010002 &&
435 ext->data->callback->query_chmaps)
436 return ext->data->callback->query_chmaps(ext->data);
442 extplug_priv_t *ext = pcm->private_data;
444 if (ext->data->version >= 0x010002 &&
445 ext->data->callback->get_chmap)
446 return ext->data->callback->get_chmap(ext->data);
452 extplug_priv_t *ext = pcm->private_data;
454 if (ext->data->version >= 0x010002 &&
455 ext->data->callback->set_chmap)
456 return ext->data->callback->set_chmap(ext->data, map);
523 snd_pcm_extplug_t ext;
563 myplug->ext.version = SND_PCM_EXTPLUG_VERSION;
564 myplug->ext.name = "My Own Plugin";
565 myplug->ext.callback = &my_own_callback;
566 myplug->ext.private_data = myplug;
569 err = snd_pcm_extplug_create(&myplug->ext, name, root, conf, stream, mode);
575 *pcmp = myplug->ext.pcm;
653 snd_pcm_extplug_set_param_link(ext, SND_PCM_EXTPLUG_HW_FORMAT, 1) and
654 snd_pcm_extplug_set_param_link(ext, SND_PCM_EXTPLUG_HW_CHANNELS, 1) should be
680 extplug_priv_t *ext;
706 ext = calloc(1, sizeof(*ext));
707 if (! ext)
710 ext->data = extplug;
713 snd_pcm_plugin_init(&ext->plug);
714 ext->plug.read = snd_pcm_extplug_read_areas;
715 ext->plug.write = snd_pcm_extplug_write_areas;
716 ext->plug.undo_read = snd_pcm_plugin_undo_read_generic;
717 ext->plug.undo_write = snd_pcm_plugin_undo_write_generic;
718 ext->plug.gen.slave = spcm;
719 ext->plug.gen.close_slave = 1;
721 ext->plug.init = snd_pcm_extplug_init;
725 free(ext);
732 pcm->private_data = ext;
736 snd_pcm_set_hw_ptr(pcm, &ext->plug.hw_ptr, -1, 0);
737 snd_pcm_set_appl_ptr(pcm, &ext->plug.appl_ptr, -1, 0);
764 extplug_priv_t *ext = extplug->pcm->private_data;
765 clear_ext_params(ext);
782 extplug_priv_t *ext = extplug->pcm->private_data;
787 return snd_ext_parm_set_list(&ext->sparams[type], num_list, list);
804 extplug_priv_t *ext = extplug->pcm->private_data;
813 return snd_ext_parm_set_minmax(&ext->sparams[type], min, max);
830 extplug_priv_t *ext = extplug->pcm->private_data;
835 return snd_ext_parm_set_list(&ext->params[type], num_list, list);
852 extplug_priv_t *ext = extplug->pcm->private_data;
861 return snd_ext_parm_set_minmax(&ext->params[type], min, max);
877 extplug_priv_t *ext = extplug->pcm->private_data;
883 ext->params[type].keep_link = keep_link ? 1 : 0;
884 ext->sparams[type].keep_link = keep_link ? 1 : 0;