diff options
-rw-r--r-- | DOCS/SOLARIS | 11 | ||||
-rw-r--r-- | mixer.c | 40 | ||||
-rw-r--r-- | vcd_read.h | 2 |
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 @@ -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; |