int(* snd_pcm_ioplug_callback::start)(snd_pcm_ioplug_t *io) |
start the PCM; required
int(* snd_pcm_ioplug_callback::stop)(snd_pcm_ioplug_t *io) |
stop the PCM; required
get the current DMA position; required
snd_pcm_sframes_t(* snd_pcm_ioplug_callback::transfer)(snd_pcm_ioplug_t *io, const snd_pcm_channel_area_t *areas, snd_pcm_uframes_t offset, snd_pcm_uframes_t size) |
transfer the data; optional
int(* snd_pcm_ioplug_callback::close)(snd_pcm_ioplug_t *io) |
close the PCM; optional
int(* snd_pcm_ioplug_callback::hw_params)(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params) |
hw_params; optional
int(* snd_pcm_ioplug_callback::hw_free)(snd_pcm_ioplug_t *io) |
hw_free; optional
int(* snd_pcm_ioplug_callback::sw_params)(snd_pcm_ioplug_t *io, snd_pcm_sw_params_t *params) |
sw_params; optional
int(* snd_pcm_ioplug_callback::prepare)(snd_pcm_ioplug_t *io) |
prepare; optional
int(* snd_pcm_ioplug_callback::drain)(snd_pcm_ioplug_t *io) |
drain; optional
int(* snd_pcm_ioplug_callback::pause)(snd_pcm_ioplug_t *io, int enable) |
toggle pause; optional
int(* snd_pcm_ioplug_callback::resume)(snd_pcm_ioplug_t *io) |
resume; optional
poll descriptors count; optional
int(* snd_pcm_ioplug_callback::poll_descriptors)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int space) |
poll descriptors; optional
int(* snd_pcm_ioplug_callback::poll_revents)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents) |
mangle poll events; optional
void(* snd_pcm_ioplug_callback::dump)(snd_pcm_ioplug_t *io, snd_output_t *out) |
dump; optional
int(* snd_pcm_ioplug_callback::delay)(snd_pcm_ioplug_t *io, snd_pcm_sframes_t *delayp) |
get the delay for the running PCM; optional