--- ./Makefile Tue Jun 15 13:39:06 1999 +++ ../mpg123-0.59r/./Makefile Sat Aug 4 10:35:08 2001 @@ -418,8 +418,7 @@ CFLAGS='-DREAL_IS_FLOAT -O3 -D_HPUX_SOURCE -DHPUX' \ mpg123-make sgi: - $(MAKE) CC=cc LDFLAGS= \ - OBJECTS='decode.o dct64.o audio_sgi.o' AUDIO_LIB=-laudio \ + $(MAKE) OBJECTS='decode.o dct64.o audio_sgi.o' AUDIO_LIB=-laudio \ CFLAGS='-O2 -DSGI -DREAL_IS_FLOAT -DUSE_MMAP' \ mpg123-make --- ./audio_sgi.c Fri May 28 03:21:44 1999 +++ ../mpg123-0.59r/./audio_sgi.c Sat Aug 4 10:35:28 2001 @@ -109,7 +109,7 @@ return 1; } - params[0].param = AL_OUTPUT_RATE; + params[0].param = AL_RATE; params[0].value.ll = alDoubleToFixed(ai->rate); if (alSetParams(dev, params,1) < 0) @@ -152,10 +152,14 @@ int audio_play_samples(struct audio_info_struct *ai,unsigned char *buf,int len) { - if(ai->format == AUDIO_FORMAT_SIGNED_8) - alWriteFrames(ai->port, buf, len>>1); - else - alWriteFrames(ai->port, buf, len>>2); + int fc = len; + + if (ai->format != AUDIO_FORMAT_SIGNED_8) + fc >>= 1; + if (ai->channels == 2) + fc >>= 1; + + alWriteFrames(ai->port, buf, fc); return len; }