summaryrefslogtreecommitdiffstats
path: root/Alc/backends/alsa.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2012-02-14 11:44:57 -0800
committerChris Robinson <[email protected]>2012-02-14 11:44:57 -0800
commit1140b3ae837437966c9d2474fca8aa17d8193aa5 (patch)
tree6006870627cde536874d1b4aa9fe487655296534 /Alc/backends/alsa.c
parent5e1d1a52bae6d22565bdfe7042da29e61197d36c (diff)
Support signed and unsigned 32-bit int output
Diffstat (limited to 'Alc/backends/alsa.c')
-rw-r--r--Alc/backends/alsa.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/Alc/backends/alsa.c b/Alc/backends/alsa.c
index 4bca3845..ffc3519a 100644
--- a/Alc/backends/alsa.c
+++ b/Alc/backends/alsa.c
@@ -657,6 +657,12 @@ static ALCboolean alsa_reset_playback(ALCdevice *device)
case DevFmtUShort:
format = SND_PCM_FORMAT_U16;
break;
+ case DevFmtInt:
+ format = SND_PCM_FORMAT_S32;
+ break;
+ case DevFmtUInt:
+ format = SND_PCM_FORMAT_U32;
+ break;
case DevFmtFloat:
format = SND_PCM_FORMAT_FLOAT;
break;
@@ -692,6 +698,8 @@ static ALCboolean alsa_reset_playback(ALCdevice *device)
enum DevFmtType fmttype;
} formatlist[] = {
{ SND_PCM_FORMAT_FLOAT, DevFmtFloat },
+ { SND_PCM_FORMAT_S32, DevFmtInt },
+ { SND_PCM_FORMAT_U32, DevFmtUInt },
{ SND_PCM_FORMAT_S16, DevFmtShort },
{ SND_PCM_FORMAT_U16, DevFmtUShort },
{ SND_PCM_FORMAT_S8, DevFmtByte },
@@ -908,6 +916,12 @@ static ALCenum alsa_open_capture(ALCdevice *pDevice, const ALCchar *deviceName)
case DevFmtUShort:
format = SND_PCM_FORMAT_U16;
break;
+ case DevFmtInt:
+ format = SND_PCM_FORMAT_S32;
+ break;
+ case DevFmtUInt:
+ format = SND_PCM_FORMAT_U32;
+ break;
case DevFmtFloat:
format = SND_PCM_FORMAT_FLOAT;
break;