9 Oct
2012
9 Oct
'12
11:47 a.m.
On 09.10.2012 11:41, Mike Looijmans wrote:
Sorry for the lack of quoting, but I onle get the digest.
These are wrong:
case SNDRV_PCM_FORMAT_U24_LE: + case
SNDRV_PCM_FORMAT_S24_LE:
These pack a 24-bit sample value in a 32-bit word. The codec will send 32 bits to the McASP, and you should transfer 32 bits to the user, not just 24. Hence, SNDRV_PCM_FORMAT_S24_LE must be treated just like SNDRV_PCM_FORMAT_S32_LE.
I've tested that on a DA850-alike board with several TLV320AIC3256 codecs, treating them as 3-byte samples will reasult in invalid data.
Ok, thanks for reporting this. Would like to send a patch or want me to fix it?
Daniel