24 Jul
2007
24 Jul
'07
9:03 a.m.
dustin@seznam.cz wrote:
What is the difference between SNDRV_PCM_FMTBIT_S24_LE and SNDRV_PCM_FMTBIT_S24_3LE?
The asound.h says S24_LE is stored in lower three bytes of four, whereas S24_3LE is stored in three bytes total.
To use a sample format with 24 bits stored in the upper three bytes of four, use S32_LE. In that case, you have to call "snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24)" in the PCM open callback to tell ALSA that some of the lower bits aren't used.
HTH Clemens