snd_ctl_callbacks_t

Control callback functions

Synopsis:

typedef struct snd_ctl_callbacks {
    void *private_data; /* should be used by an application */
    void (*rebuild) (void *private_data);
    void (*xswitch) (void *private_data, int cmd,
                     int iface, snd_switch_list_item_t *item);
    void *reserved[29]; /* reserved for future use - must be NULL!!! */
} snd_ctl_callbacks_t;

Description:

Use the snd_ctl_callbacks_t structure to define the callback functions that you need to handle control events. Pass a pointer to an instance of this structure to snd_ctl_read() .

The members of the snd_ctl_callbacks_t structure include:

  • private_data, a pointer to arbitrary data that you want to pass to the callbacks
  • pointers to the callbacks, which are described below.
Make sure that you zero-fill any members that you aren't interested in. You can zero-fill the entire snd_ctl_callbacks_t structure if you aren't interested in tracking any of these events.

rebuild callback

The rebuild callback is called whenever the control device is rebuilt. Its only argument is the private_data that you specified in this structure.

xswitch callback

The xswitch callback is called whenever a switch changes. Its arguments are:

private_data
A pointer to the arbitrary data that you specified in this structure.
cmd
One of:
  • SND_CTL_READ_SWITCH_VALUE
  • SND_CTL_READ_SWITCH_CHANGE
  • SND_CTL_READ_SWITCH_ADD
  • SND_CTL_READ_SWITCH_REMOVE
iface
The device interface the switch is natively associated with. The possible values are (from <sys/asound.h>):
  • SND_CTL_IFACE_CONTROL
  • SND_CTL_IFACE_MIXER
  • SND_CTL_IFACE_PCM_PLAYBACK
  • SND_CTL_IFACE_PCM_CAPTURE
item
A pointer to a snd_switch_list_item_t structure that identifies the specific switch that's been changed. This structure has only a name member.

Classification:

QNX Neutrino