SND_PCM_FORMAT_S16_LE,
SND_PCM_FORMAT_S16_BE,
SND_PCM_FORMAT_FLOAT_LE,
+ SND_PCM_FORMAT_S24_3LE,
+ SND_PCM_FORMAT_S24_3BE,
SND_PCM_FORMAT_S32_LE,
SND_PCM_FORMAT_S32_BE,
-1
case SND_PCM_FORMAT_FLOAT_LE:
*samp_f++ = res.f;
break;
+ case SND_PCM_FORMAT_S24_3LE:
+ res.i >>= 8;
+ *samp8++ = LE_INT(res.i);
+ *samp8++ = LE_INT(res.i) >> 8;
+ *samp8++ = LE_INT(res.i) >> 16;
+ break;
+ case SND_PCM_FORMAT_S24_3BE:
+ res.i >>= 8;
+ *samp8++ = BE_INT(res.i);
+ *samp8++ = BE_INT(res.i) >> 8;
+ *samp8++ = BE_INT(res.i) >> 16;
+ break;
case SND_PCM_FORMAT_S32_LE:
*samp32++ = LE_INT(res.i);
break;