2 Jul
2014
2 Jul
'14
4:24 p.m.
At Wed, 02 Jul 2014 16:13:59 +0200, Lars-Peter Clausen wrote:
On 07/02/2014 04:12 PM, Takashi Iwai wrote:
At Wed, 02 Jul 2014 16:10:09 +0200, Lars-Peter Clausen wrote:
On 07/02/2014 03:47 PM, Takashi Iwai wrote: [...]
- /*
* Prepare formats mask for valid/allowed sample types. If the dma does
* not have support for the given physical word size, it needs to be
* masked out so user space can not use the format which produces
* corrupted audio.
* In case the dma driver does not implement the slave_caps the default
* assumption is that it supports 1, 2 and 4 bytes widths.
*/
- for (i = 0; i <= SNDRV_PCM_FORMAT_LAST; i++) {
int bits = snd_pcm_format_physical_width(i);
Better to add a negative value check. Some formats return -EINVAL.
So what should we do with those formats? Not support them?
Yes, these are special formats that can't be handled generically.
Looking through the list in pcm_misc.c there are also some formats where the physical width is not a multiple of 8. We should probably also skip those.
Right, ADPCM and G723 are such ones.
Takashi