summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/SOLARIS11
-rw-r--r--mixer.c40
-rw-r--r--vcd_read.h2
3 files changed, 40 insertions, 13 deletions
diff --git a/DOCS/SOLARIS b/DOCS/SOLARIS
index 3dd87e9754..d7310813d5 100644
--- a/DOCS/SOLARIS
+++ b/DOCS/SOLARIS
@@ -1,13 +1,16 @@
Notes for Solaris users
=======================
-1. To build the package you will need GNU make (gmake, /opt/sfw/gmake),
-native Solaris make will not work.
+1. It *only* works on Solaris x86. It can't work on SPARC systems due to
+ the use of win32 codecs.
-2. For DVD support you must have the patched libcss installed. Patch:
+2. To build the package you will need GNU make (gmake, /opt/sfw/gmake),
+ native Solaris make will not work.
+
+3. For DVD support you must have the patched libcss installed. Patch:
http://www.tools.de/solaris/mplayer/
-3. Due to two bugs in solaris 8 x86, you cannot reliably play DVDs using a
+4. Due to two bugs in solaris 8 x86, you cannot reliably play DVDs using a
capacity >4GB:
- The sd(7D) driver on solaris 8 x86 driver has bug when accessing a
diff --git a/mixer.c b/mixer.c
index 150c3cc2d4..91a9bcccfa 100644
--- a/mixer.c
+++ b/mixer.c
@@ -6,18 +6,17 @@
#include <unistd.h>
#include "config.h"
+#include "mixer.h"
-#ifdef USE_OSS_AUDIO
-#include <sys/soundcard.h>
-#endif
-#ifdef USE_SUN_AUDIO
-#include <sys/audioio.h>
-#endif
+#if defined(USE_OSS_AUDIO)
-#include "mixer.h"
+/*
+ * Mixer interface using OSS style soundcard commands.
+ */
+
+#include <sys/soundcard.h>
-#if defined(USE_OSS_AUDIO)
char * mixer_device=DEV_MIXER;
int mixer_usemaster=0;
@@ -66,8 +65,16 @@ void mixer_setvolume( float l,float r )
close( fd );
}
}
+
#elif defined(USE_SUN_AUDIO)
+/*
+ * Mixer interface using Sun style soundcard commands.
+ */
+
+#include <sys/audioio.h>
+
+
char * mixer_device="/dev/audioctl";
int mixer_usemaster=0;
@@ -101,6 +108,23 @@ void mixer_setvolume( float l,float r )
close( fd );
}
}
+
+#else
+
+/*
+ * No usable Mixer interface selected.
+ * Just some stub routines.
+ */
+
+char * mixer_device=NULL;
+int mixer_usemaster=0;
+
+void mixer_getvolume( float *l,float *r ){
+ *l = *r = 50.0;
+}
+void mixer_setvolume( float l,float r ){
+}
+
#endif
diff --git a/vcd_read.h b/vcd_read.h
index 8bd0d017c6..34e0475419 100644
--- a/vcd_read.h
+++ b/vcd_read.h
@@ -175,7 +175,7 @@ static int sun_vcd_read(int fd, int *offset)
(error_field << 1);
cdb.cdb_opaque[10] = sub_channel;
- sc.uscsi_cdb = &cdb;
+ sc.uscsi_cdb = (caddr_t)&cdb;
sc.uscsi_cdblen = 12;
sc.uscsi_bufaddr = vcd_buf;
sc.uscsi_buflen = 2336;