Mercurial > audlegacy-plugins
diff src/OSS4/audio.c @ 2354:6b854a93649c
introduced experimental support for 24bit and 32bit audio output
author | Cristi Magherusan <majeru@atheme.org> |
---|---|
date | Mon, 04 Feb 2008 15:54:01 +0200 |
parents | 98fa8fe789a4 |
children | bd3a24b39058 |
line wrap: on
line diff
--- a/src/OSS4/audio.c Mon Feb 04 01:06:03 2008 -0600 +++ b/src/OSS4/audio.c Mon Feb 04 15:54:01 2008 +0200 @@ -149,9 +149,64 @@ #else format = AFMT_S16_LE; #endif + break; +#if 0 /* OSS currently doesn't support AFMT_U24_* */ + case FMT_U24_LE: + format = AFMT_U24_LE; + break; + case FMT_U24_BE: + format = AFMT_U24_BE; + break; + case FMT_U24_NE: +#if (G_BYTE_ORDER == G_BIG_ENDIAN) + format = AFMT_U24_BE; +#else + format = AFMT_U24_LE; +#endif + break; +#endif + case FMT_S24_LE: + format = AFMT_S24_LE; + break; + case FMT_S24_BE: + format = AFMT_S24_BE; + break; + case FMT_S24_NE: +#if (G_BYTE_ORDER == G_BIG_ENDIAN) + format = AFMT_S24_BE; +#else + format = AFMT_S24_LE; +#endif + break; +#if 0 /* OSS currently doesn't support AFMT_U32_* */ + case FMT_U32_LE: + format = AFMT_U32_LE; + break; + case FMT_U32_BE: + format = AFMT_U32_BE; + break; + case FMT_U32_NE: +#if (G_BYTE_ORDER == G_BIG_ENDIAN) + format = AFMT_U32_BE; +#else + format = AFMT_U32_LE; +#endif + break; +#endif + case FMT_S32_LE: + format = AFMT_S32_LE; + break; + case FMT_S32_BE: + format = AFMT_S32_BE; + break; + case FMT_S32_NE: +#if (G_BYTE_ORDER == G_BIG_ENDIAN) + format = AFMT_S32_BE; +#else + format = AFMT_S32_LE; +#endif break; } - return format; }