Current configuration of a PCM channel
Synopsis:
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;
Description:
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).
When asynchronous sample rate conversion (ASRC) is
enabled, this value can shrink or grow while the audio stream
is active. When ASRC is disabled, this value is the same as
maximum_frag_size.
- 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. When asynchronous sample rate conversion (ASRC)
is enabled, frag_size can shrink or grow while the audio stream
is active and this value represents the maximum fragment size.
When ASRC is disabled, max_frag_size is equal to the value of frag_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.
Classification:
QNX Neutrino