diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/output/oss_plugin.c | 9 |
2 files changed, 10 insertions, 0 deletions
@@ -5,6 +5,7 @@ ver 0.16.2 (2011/??/??) * output: - httpd: fix uninitialized variable - oss: AFMT_S24_PACKED is little-endian + - oss: disable 24 bit playback on FreeBSD ver 0.16.1 (2011/01/09) diff --git a/src/output/oss_plugin.c b/src/output/oss_plugin.c index 26d674e33..9261b423c 100644 --- a/src/output/oss_plugin.c +++ b/src/output/oss_plugin.c @@ -41,6 +41,15 @@ # include <sys/soundcard.h> #endif /* !(defined(__OpenBSD__) || defined(__NetBSD__) */ +/* We got bug reports from FreeBSD users who said that the two 24 bit + formats generate white noise on FreeBSD, but 32 bit works. This is + a workaround until we know what exactly is expected by the kernel + audio drivers. */ +#ifndef __linux__ +#undef AFMT_S24_PACKED +#undef AFMT_S24_NE +#endif + struct oss_data { int fd; const char *device; |