comparison src/alsa-ng/alsa-util.c @ 3187:360e92f3211d

alsa-ng: Apparently 24bit values are padded to 32bit, so we need to tell ALSA that. The FMT_*24_* constants are misleading.
author William Pitcock <nenolod@atheme.org>
date Fri, 19 Jun 2009 08:38:14 -0500
parents d3cf6d14c960
children 68bb898b8ae0
comparison
equal deleted inserted replaced
3186:2e988f44b85d 3187:360e92f3211d
19 19
20 #include "alsa-stdinc.h" 20 #include "alsa-stdinc.h"
21 21
22 static alsaplug_format_mapping_t alsaplug_format_conv_tbl[] = { 22 static alsaplug_format_mapping_t alsaplug_format_conv_tbl[] = {
23 {FMT_FLOAT, SND_PCM_FORMAT_FLOAT}, 23 {FMT_FLOAT, SND_PCM_FORMAT_FLOAT},
24 {FMT_S24_LE, SND_PCM_FORMAT_S24_LE}, 24 {FMT_S32_LE, SND_PCM_FORMAT_S32_LE},
25 {FMT_S24_BE, SND_PCM_FORMAT_S24_BE}, 25 {FMT_S32_BE, SND_PCM_FORMAT_S32_BE},
26 {FMT_S24_NE, SND_PCM_FORMAT_S24}, 26 {FMT_S32_NE, SND_PCM_FORMAT_S32},
27 {FMT_U24_LE, SND_PCM_FORMAT_U24_LE}, 27 {FMT_S24_LE, SND_PCM_FORMAT_S24_3LE},
28 {FMT_U24_BE, SND_PCM_FORMAT_U24_BE}, 28 {FMT_S24_BE, SND_PCM_FORMAT_S24_3BE},
29 {FMT_U24_NE, SND_PCM_FORMAT_U24}, 29 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
30 {FMT_S24_NE, SND_PCM_FORMAT_S24_3LE},
31 #else
32 {FMT_S24_NE, SND_PCM_FORMAT_S24_3BE},
33 #endif
34 {FMT_U24_LE, SND_PCM_FORMAT_U24_3LE},
35 {FMT_U24_BE, SND_PCM_FORMAT_U24_3BE},
36 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
37 {FMT_U24_NE, SND_PCM_FORMAT_U24_3LE},
38 #else
39 {FMT_U24_NE, SND_PCM_FORMAT_U24_3BE},
40 #endif
30 {FMT_S16_LE, SND_PCM_FORMAT_S16_LE}, 41 {FMT_S16_LE, SND_PCM_FORMAT_S16_LE},
31 {FMT_S16_BE, SND_PCM_FORMAT_S16_BE}, 42 {FMT_S16_BE, SND_PCM_FORMAT_S16_BE},
32 {FMT_S16_NE, SND_PCM_FORMAT_S16}, 43 {FMT_S16_NE, SND_PCM_FORMAT_S16},
33 {FMT_U16_LE, SND_PCM_FORMAT_U16_LE}, 44 {FMT_U16_LE, SND_PCM_FORMAT_U16_LE},
34 {FMT_U16_BE, SND_PCM_FORMAT_U16_BE}, 45 {FMT_U16_BE, SND_PCM_FORMAT_U16_BE},