diff --git a/NEWS b/NEWS index cc68740688eb8d8dc5acc8e836c12388e992f034..af7315360dd5ff23f9a6a13b1d2196548404839e 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,7 @@ ver 0.16.5 (2010/??/??) * configure.ac - disable assertions in the non-debugging build - show solaris plugin result correctly + - add option --enable-solaris-output * pcm_format: fix 32-to-24 bit conversion (the "silence" bug) * input: - rewind: reduce heap usage diff --git a/configure.ac b/configure.ac index e87cf114b58fe0cbf0423cf1538ff827242a18a9..50e8d8c7ae43119a4f93d7ebca5881003b37c725 100644 --- a/configure.ac +++ b/configure.ac @@ -324,6 +324,11 @@ AC_ARG_ENABLE(sndfile, [enable sndfile support]),, enable_sndfile=auto) +AC_ARG_ENABLE(solaris_output, + AS_HELP_STRING([--enable-solaris-output], + [enables the Solaris /dev/audio output]),, + [enable_solaris_output=auto]) + AC_ARG_ENABLE(sqlite, AS_HELP_STRING([--enable-sqlite], [enable support for the SQLite database]),, @@ -1370,16 +1375,22 @@ fi AM_CONDITIONAL(HAVE_SHOUT, test x$enable_shout = xyes) dnl --------------------------------- Solaris --------------------------------- -case "$host_os" in + +if test x$enable_solaris_output = xauto; then + case "$host_os" in solaris*) - AC_DEFINE(ENABLE_SOLARIS_OUTPUT, 1, [Define to enable Solaris /dev/audio support]) enable_solaris_output=yes ;; *) enable_solaris_output=no ;; -esac + esac +fi + +if test x$enable_solaris_output = xyes; then + AC_DEFINE(ENABLE_SOLARIS_OUTPUT, 1, [Define to enable Solaris /dev/audio support]) +fi AM_CONDITIONAL(ENABLE_SOLARIS_OUTPUT, test x$enable_solaris_output = xyes) diff --git a/src/output/solaris_output_plugin.c b/src/output/solaris_output_plugin.c index 22c5838058d2088588cde285e5b0def44f4ab4a8..6f6f507b31ff422bbf828cd853a0c72073b93472 100644 --- a/src/output/solaris_output_plugin.c +++ b/src/output/solaris_output_plugin.c @@ -23,7 +23,6 @@ #include <glib.h> -#include <sys/audio.h> #include <sys/stropts.h> #include <sys/types.h> #include <sys/stat.h> @@ -31,6 +30,25 @@ #include <fcntl.h> #include <errno.h> +#ifdef __sun +#include <sys/audio.h> +#else + +/* some fake declarations that allow build this plugin on systems + other than Solaris, just to see if it compiles */ + +#define AUDIO_GETINFO 0 +#define AUDIO_SETINFO 0 +#define AUDIO_ENCODING_LINEAR 0 + +struct audio_info { + struct { + unsigned sample_rate, channels, precision, encoding; + } play; +}; + +#endif + #undef G_LOG_DOMAIN #define G_LOG_DOMAIN "solaris_output"