summaryrefslogtreecommitdiffstats
path: root/libao2/ao_alsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'libao2/ao_alsa.c')
-rw-r--r--libao2/ao_alsa.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c
index 4c3629b8c9..d71600e183 100644
--- a/libao2/ao_alsa.c
+++ b/libao2/ao_alsa.c
@@ -378,13 +378,13 @@ static int init(int rate_hz, int channels, int format, int flags)
case AF_FORMAT_U16_BE:
alsa_format = SND_PCM_FORMAT_U16_BE;
break;
-#ifndef WORDS_BIGENDIAN
+#if !HAVE_BIGENDIAN
case AF_FORMAT_AC3:
#endif
case AF_FORMAT_S16_LE:
alsa_format = SND_PCM_FORMAT_S16_LE;
break;
-#ifdef WORDS_BIGENDIAN
+#if HAVE_BIGENDIAN
case AF_FORMAT_AC3:
#endif
case AF_FORMAT_S16_BE:
@@ -402,6 +402,18 @@ static int init(int rate_hz, int channels, int format, int flags)
case AF_FORMAT_S32_BE:
alsa_format = SND_PCM_FORMAT_S32_BE;
break;
+ case AF_FORMAT_U24_LE:
+ alsa_format = SND_PCM_FORMAT_U24_3LE;
+ break;
+ case AF_FORMAT_U24_BE:
+ alsa_format = SND_PCM_FORMAT_U24_3BE;
+ break;
+ case AF_FORMAT_S24_LE:
+ alsa_format = SND_PCM_FORMAT_S24_3LE;
+ break;
+ case AF_FORMAT_S24_BE:
+ alsa_format = SND_PCM_FORMAT_S24_3BE;
+ break;
case AF_FORMAT_FLOAT_LE:
alsa_format = SND_PCM_FORMAT_FLOAT_LE;
break;