Current configuration of a PCM channel
typedef struct snd_pcm_channel_setup
{
int32_t channel;
int32_t mode;
snd_pcm_format_t format;
snd_pcm_digital_t digital;
union
{
struct
{
int32_t queue_size;
uint8_t reserved[124]; /* must be filled with zeroes */
} stream;
struct
{
int32_t frag_size;
int32_t frags;
int32_t frags_min;
int32_t frags_max;
uint32_t max_frag_size;
uint8_t reserved[124]; /* must be filled with zeroes */
} block;
uint8_t reserved[128]; /* must be filled with zeroes */
} buf;
int16_t msbits_per_sample;
int16_t pad1;
int32_t mixer_device;
snd_mixer_eid_t *mixer_eid;
snd_mixer_gid_t *mixer_gid;
uint8_t mmap_valid:1;
uint8_t mmap_active:1;
int32_t mixer_card;
uint8_t reserved[104]; /* must be filled with zeroes */
} snd_pcm_channel_setup_t;
The snd_pcm_channel_setup_t structure describes the current
configuration of a PCM channel.
The members include:
- channel
- The channel direction; One of SND_PCM_CHANNEL_PLAYBACK or
SND_PCM_CHANNEL_CAPTURE.
- mode
- The channel mode: SND_PCM_MODE_BLOCK.
(SND_PCM_MODE_STREAM is deprecated.)
- format
- The data format; see
snd_pcm_format_t.
Note that the rate member may differ from the requested one.
- digital
- Not currently implemented.
- queue_size
- The real queue size (which may differ from requested one).
- frag_size
- The real fragment size (which may differ from requested one).
- frags
- The number of fragments.
- frags_min
- Capture: the minimum filled fragments to allow wakeup.
Playback: the minimum free fragments to allow wakeup.
- frags_max
- Playback: the maximum filled fragments to allow wakeup.
The value also specifies the maximum number of used fragments plus one.
- max_frag_size
- The maximum fragment size.
- msbits_per_sample
- How many most-significant bits are physically used.
- mixer_device
- Mixer device for this subchannel.
- mixer_eid
- A pointer to the mixer element identification for this subchannel.
- mixer_gid
- A pointer to the mixer group identification for this subchannel; see
snd_mixer_gid_t.
- mmap_valid
- The channel can use mmapped access.
- mmap_active
- The channel is using mmapped transfers.
- mixer_card
- The mixer card.
QNX Neutrino
snd_mixer_gid_t,
snd_pcm_channel_setup(),
snd_pcm_format_t,
snd_pcm_plugin_setup()