snd_pcm_channel_params_t
PCM channel parameters
Synopsis:
typedef struct snd_pcm_channel_params { int32_t channel; int32_t mode; snd_pcm_sync_t sync; /* hardware synchronization ID */ snd_pcm_format_t format; snd_pcm_digital_t digital; int32_t start_mode; int32_t stop_mode; int32_t time:1, ust_time:1; uint32_t why_failed; /* SND_PCM_PARAMS_BAD_??? */ union { struct { int32_t queue_size; int32_t fill; int32_t max_fill; uint8_t reserved[124]; /* must be filled with zeroes */ } stream; struct { int32_t frag_size; int32_t frags_min; int32_t frags_max; uint32_t frags_buffered_max; uint8_t reserved[120]; /* must be filled with zeroes */ } block; uint8_t reserved[128]; /* must be filled with zeroes */ } buf; char sw_mixer_subchn_name[32]; uint8_t reserved[96]; /* must be filled with zeroes */ } snd_pcm_channel_params_t;
Description:
The snd_pcm_channel_params_t structure describes the parameters of a PCM capture or playback 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 .
- digital
- Not currently implemented.
- start_mode
- The start mode; one of:
- SND_PCM_START_DATA — start when some data is written (playback) or requested (capture).
- SND_PCM_START_FULL — start when the whole queue is filled (playback only).
- SND_PCM_START_GO — start on the Go command.
- stop_mode
- The stop mode; one of:
- SND_PCM_STOP_STOP — stop when an underrun or overrun occurs.
- SND_PCM_STOP_ERASE — stop and erase the whole buffer when an overrun occurs (capture only).
- SND_PCM_STOP_ROLLOVER — ROLLOVER (i.e. automatically reprepare and continue) when an underrun or overrun occurs.
- time
- If set, the driver offers, in the status structure, the time when the transfer began. The time is in the format used by gettimeofday().
- ust_time
- If set, the driver offers, in the status structure, the time when the transfer began. The time is in UST format.
- sync
- The synchronization group. Not supported; don't use this member.
- queue_size
- The queue size, in bytes, for the stream mode. Not supported; don't use this member.
- fill
- The fill mode (SND_PCM_FILL_* constants). Not supported; don't use this member.
- max_fill
- The number of bytes to be filled ahead with silence. Not supported; don't use this member.
- frag_size
- The size of fragment in bytes.
- frags_min
- Depends on the mode:
- Capture — the minimum filled fragments to allow wakeup (usually one).
- Playback — the minimum free fragments to allow wakeup (usually one).
- frags_max
- For playback, the maximum filled fragments to allow wakeup. This value specifies the total number of fragments that could be written to by an application. This excludes the fragment that's currently playing, so the actual total number of fragments is frags_max + 1.
- frags_buffered_max
- If this is set, io-audio may block the caller after fewer than frags_max fragments have been passed, if it chooses, but won't block the client before frags_buffered_max fragments have been written.
- sw_mixer_subchn_name
- By default, the name of all sw_mixer subchannel groups is PCM Subchannel; you can use this field to assign a different name.
Classification:
QNX Neutrino