[alsa-devel] RFC: PCM extra attributes

Jaroslav Kysela perex at perex.cz
Fri Jun 19 10:47:30 CEST 2009

On Fri, 19 Jun 2009, Takashi Iwai wrote:

> Hi,
> this is yet another topic I'm (currently) working on -- the addition
> of PCM ioctls to get/set some extra attributes.  Basically, it adds
> two simple ioctls for getting/setting extra attributes to the PCM
> substream.  The attribute has a sort of TLV form,
>  /* PCM extra attributes */
>  struct snd_pcm_attr {
>  	unsigned int type;	/* SNDRC_PCM_TYPE_ATTR_XXX */
>  	unsigned int len;	/* GET R: the max elements in value array
>  				 *     W: the actually written # elements
>  				 * SET R/W: # elements to store
>  				 */
>  	unsigned int value[0];	/* value(s) to read / write */
>  };
> And corresponding two ioctls
>  #define SNDRV_PCM_IOCTL_GET_ATTR	_IOWR('A', 0x14, struct snd_pcm_attr)
>  #define SNDRV_PCM_IOCTL_SET_ATTR	_IOWR('A', 0x15, struct snd_pcm_attr)

I would prefer to implement similar TLV implementation as for the control 
API. The amount of information for reading (get) will be small, so 
filtering in this direction is not necessary. Also, common parts of 
implementation (future merging of more TLVs to compounds) can be shared.


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

More information about the Alsa-devel mailing list