Data formats

The QNX Sound Architecture supports a variety of data formats.

The <sys/asound.h> header file defines two sets of constants for the data formats. The two sets are related (and easily converted between) but serve different purposes:

SND_PCM_SFMT_*
A single selection from the set of data formats. For a list of the supported formats, see snd_pcm_get_format_name() in the "Audio Library" chapter.
SND_PCM_FMT_*
A group of (one or more) formats within a single variable. This is useful for specifying the format capabilities of a device, for example.

Generally, the SND_PCM_FMT_* constants are used to convey information about raw potential, and the SND_PCM_SFMT_* constants are used to select and report a specific configuration.

You can build a format from its width and other attributes, by calling snd_pcm_build_linear_format().

You can use these functions to check the characteristics of a format: