2010-09-20, 06:04
gnif Wrote:Hrmm, I have a card that reports the same thing, 24bit max, but alsa can open in 32... perhaps alsa is expecting S24 packed into S32.... I will investigate.
Actually, I think you're spot-on. See here: http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html
PCM formats
The full list of formats present the snd_pcm_format_t type. The 24-bit linear samples uses 32-bit physical space, but the sample is stored in low three bits. Some hardware does not support processing of full range, thus you may get the significant bits for linear samples via snd_pcm_hw_params_get_sbits() function. The example: ICE1712 chips support 32-bit sample processing, but low byte is ignored (playback) or zero (capture). The function snd_pcm_hw_params_get_sbits() returns 24 in the case.