--- pulseaudio-0.9.22/src/pulsecore/socket-server.c-orig	2011-06-09 16:43:59.167250309 -0500
+++ pulseaudio-0.9.22/src/pulsecore/socket-server.c	2011-06-09 16:59:12.482110908 -0500
@@ -45,6 +45,14 @@
 
 #ifdef HAVE_LIBWRAP
 #include <tcpd.h>
+/* Solaris requires that the allow_severity and deny_severity variables be
+ * defined in the client program.
+ */
+#ifdef __sun
+#include <syslog.h>
+int allow_severity = LOG_INFO;
+int deny_severity = LOG_WARNING;
+#endif
 #endif
 
 #include <pulse/xmalloc.h>
--- pulseaudio-0.99.2/src/modules/module-solaris.c-orig	2011-09-15 17:52:00.424449438 -0500
+++ pulseaudio-0.99.2/src/modules/module-solaris.c	2011-09-15 17:54:32.023880146 -0500
@@ -526,7 +526,7 @@ static void source_set_volume(pa_source 
     if (u->fd >= 0) {
         AUDIO_INITINFO(&info);
 
-        info.play.gain = pa_cvolume_max(&s->volume) * AUDIO_MAX_GAIN / PA_VOLUME_NORM;
+        info.play.gain = pa_cvolume_max(&s->real_volume) * AUDIO_MAX_GAIN / PA_VOLUME_NORM;
         assert(info.play.gain <= AUDIO_MAX_GAIN);
 
         if (ioctl(u->fd, AUDIO_SETINFO, &info) < 0) {
@@ -548,7 +548,7 @@ static void source_get_volume(pa_source 
         if (ioctl(u->fd, AUDIO_GETINFO, &info) < 0)
             pa_log("AUDIO_SETINFO: %s", pa_cstrerror(errno));
         else
-            pa_cvolume_set(&s->volume, s->sample_spec.channels, info.play.gain * PA_VOLUME_NORM / AUDIO_MAX_GAIN);
+            pa_cvolume_set(&s->real_volume, s->sample_spec.channels, info.play.gain * PA_VOLUME_NORM / AUDIO_MAX_GAIN);
     }
 }
 