struct snd_pcm_ioplug_callback
Overview
Callback table of ioplug Moreā¦
#include <pcm_ioplug.h> struct snd_pcm_ioplug_callback { // fields int(* start)(snd_pcm_ioplug_t *io); int(* stop)(snd_pcm_ioplug_t *io); snd_pcm_sframes_t(* pointer)(snd_pcm_ioplug_t *io); snd_pcm_sframes_t(* transfer)(snd_pcm_ioplug_t *io, const snd_pcm_channel_area_t *areas, snd_pcm_uframes_t offset, snd_pcm_uframes_t size); int(* close)(snd_pcm_ioplug_t *io); int(* hw_params)(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params); int(* hw_free)(snd_pcm_ioplug_t *io); int(* sw_params)(snd_pcm_ioplug_t *io, snd_pcm_sw_params_t *params); int(* prepare)(snd_pcm_ioplug_t *io); int(* drain)(snd_pcm_ioplug_t *io); int(* pause)(snd_pcm_ioplug_t *io, int enable); int(* resume)(snd_pcm_ioplug_t *io); int(* poll_descriptors_count)(snd_pcm_ioplug_t *io); int(* poll_descriptors)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int space); int(* poll_revents)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents); void(* dump)(snd_pcm_ioplug_t *io, snd_output_t *out); int(* delay)(snd_pcm_ioplug_t *io, snd_pcm_sframes_t *delayp); snd_pcm_chmap_query_t**(* query_chmaps)(snd_pcm_ioplug_t *io); snd_pcm_chmap_t*(* get_chmap)(snd_pcm_ioplug_t *io); int(* set_chmap)(snd_pcm_ioplug_t *io, const snd_pcm_chmap_t *map); };
Detailed Documentation
Callback table of ioplug
Fields
int(* start)(snd_pcm_ioplug_t *io)
start the PCM; required, called inside mutex lock
int(* stop)(snd_pcm_ioplug_t *io)
stop the PCM; required, called inside mutex lock
snd_pcm_sframes_t(* pointer)(snd_pcm_ioplug_t *io)
get the current DMA position; required, called inside mutex lock
snd_pcm_sframes_t(* 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, called inside mutex lock
int(* close)(snd_pcm_ioplug_t *io)
close the PCM; optional
int(* hw_params)(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params)
hw_params; optional
int(* hw_free)(snd_pcm_ioplug_t *io)
hw_free; optional
int(* sw_params)(snd_pcm_ioplug_t *io, snd_pcm_sw_params_t *params)
sw_params; optional
int(* prepare)(snd_pcm_ioplug_t *io)
prepare; optional
int(* drain)(snd_pcm_ioplug_t *io)
drain; optional
int(* pause)(snd_pcm_ioplug_t *io, int enable)
toggle pause; optional, called inside mutex lock
int(* resume)(snd_pcm_ioplug_t *io)
resume; optional
int(* poll_descriptors_count)(snd_pcm_ioplug_t *io)
poll descriptors count; optional
int(* poll_descriptors)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int space)
poll descriptors; optional
int(* poll_revents)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents)
mangle poll events; optional
void(* dump)(snd_pcm_ioplug_t *io, snd_output_t *out)
dump; optional
int(* delay)(snd_pcm_ioplug_t *io, snd_pcm_sframes_t *delayp)
get the delay for the running PCM; optional; since v1.0.1
snd_pcm_chmap_query_t**(* query_chmaps)(snd_pcm_ioplug_t *io)
query the channel maps; optional; since v1.0.2
snd_pcm_chmap_t*(* get_chmap)(snd_pcm_ioplug_t *io)
get the channel map; optional; since v1.0.2
int(* set_chmap)(snd_pcm_ioplug_t *io, const snd_pcm_chmap_t *map)
set the channel map; optional; since v1.0.2