diff options
author | Chris Robinson <[email protected]> | 2012-02-14 11:44:57 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2012-02-14 11:44:57 -0800 |
commit | 1140b3ae837437966c9d2474fca8aa17d8193aa5 (patch) | |
tree | 6006870627cde536874d1b4aa9fe487655296534 /Alc/backends/sndio.c | |
parent | 5e1d1a52bae6d22565bdfe7042da29e61197d36c (diff) |
Support signed and unsigned 32-bit int output
Diffstat (limited to 'Alc/backends/sndio.c')
-rw-r--r-- | Alc/backends/sndio.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Alc/backends/sndio.c b/Alc/backends/sndio.c index 40632528..af4ba387 100644 --- a/Alc/backends/sndio.c +++ b/Alc/backends/sndio.c @@ -229,6 +229,14 @@ static ALCboolean sndio_reset_playback(ALCdevice *device) par.bits = 16; par.sig = 0; break; + case DevFmtInt: + par.bits = 32; + par.sig = 1; + break; + case DevFmtUInt: + par.bits = 32; + par.sig = 0; + break; } par.le = SIO_LE_NATIVE; @@ -259,6 +267,10 @@ static ALCboolean sndio_reset_playback(ALCdevice *device) device->FmtType = DevFmtShort; else if(par.bits == 16 && par.sig == 0) device->FmtType = DevFmtUShort; + else if(par.bits == 32 && par.sig == 1) + device->FmtType = DevFmtInt; + else if(par.bits == 32 && par.sig == 0) + device->FmtType = DevFmtUInt; else { ERR("Unhandled sample format: %s %u-bit\n", (par.sig?"signed":"unsigned"), par.bits); |