pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/audio/mpg123 added support for "old" (i.e. pre-6.X) IR...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8aa404e52f6e
branches:  trunk
changeset: 491719:8aa404e52f6e
user:      schwarz <schwarz%pkgsrc.org@localhost>
date:      Mon Mar 28 19:52:21 2005 +0000

description:
added support for "old" (i.e. pre-6.X) IRIX audio libraries.
(approved by recht and jschauma)

diffstat:

 audio/mpg123/distinfo         |    3 +-
 audio/mpg123/patches/patch-au |  157 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 159 insertions(+), 1 deletions(-)

diffs (175 lines):

diff -r d96954b5ba1d -r 8aa404e52f6e audio/mpg123/distinfo
--- a/audio/mpg123/distinfo     Mon Mar 28 19:48:45 2005 +0000
+++ b/audio/mpg123/distinfo     Mon Mar 28 19:52:21 2005 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.22 2005/02/23 20:39:49 agc Exp $
+$NetBSD: distinfo,v 1.23 2005/03/28 19:52:21 schwarz Exp $
 
 SHA1 (mpg123/mpg123-0.59r.tar.gz) = c32fe242f4506d218bd19a51a4034da9fdc79493
 RMD160 (mpg123/mpg123-0.59r.tar.gz) = 17d47ca04fdcac5e2d71f95ccbd23b61b5ed8b3c
@@ -26,3 +26,4 @@
 SHA1 (patch-ar) = e81771bf72da97d898f9320fb6c529e5a1151050
 SHA1 (patch-as) = 8765b22c556cdc217f6270f3a5e70b40b36b9229
 SHA1 (patch-at) = 9a64a62f7d1d115e3d36dbb0f08762d4b0eb1e2b
+SHA1 (patch-au) = 02c480cbb6ff8ab904be93eaf319b43f4f02d588
diff -r d96954b5ba1d -r 8aa404e52f6e audio/mpg123/patches/patch-au
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/audio/mpg123/patches/patch-au     Mon Mar 28 19:52:21 2005 +0000
@@ -0,0 +1,157 @@
+$NetBSD: patch-au,v 1.1 2005/03/28 19:52:21 schwarz Exp $
+
+--- audio_sgi.c.orig   2005-03-07 13:54:23.000000000 +0100
++++ audio_sgi.c        2005-03-07 13:54:27.000000000 +0100
+@@ -6,20 +6,48 @@
+ 
+ #include "mpg123.h"
+ 
++#ifdef AL_RESOURCE /* as a test whether we use the "new" IRIX
++                      audio libraries */
++#define NEW_IRIX_AUDIO
++#define HAVE_ALGETERRORSTRING
++#else
++#define alClosePort(x) ALcloseport(x)
++#define alFreeConfig(x) ALfreeconfig(x)
++#define alGetFilled(x) ALgetfilled(x)
++#define alSetChannels(x,y) ALsetchannels(x,y)
++#define alSetQueueSize(x,y) ALsetqueuesize(x,y)
++#define alSetSampFmt(x,y) ALsetsampfmt(x,y)
++#define alSetWidth(x,y) ALsetwidth(x,y)
++#define alNewConfig() ALnewconfig()
++#define alOpenPort(x,y,z) ALopenport(x,y,z)
++#endif
+ 
+ /* Analog output constant */
+ static const char analog_output_res_name[] = ".AnalogOut";
+ 
++/* Routine to print a message to stderr; uses alGetErrorString(oserror)
++   if available */
++
++void errormessage(const char *message)
++{
++#ifdef HAVE_ALGETERRORSTRING
++ fprintf(stderr,"%s : %s\n",message,alGetErrorString(oserror()));
++#else
++ fprintf(stderr,"%s error\n",message);
++#endif
++}
+ 
+ int audio_open(struct audio_info_struct *ai)
+ {
++#ifdef NEW_IRIX_AUDIO
+   int dev = AL_DEFAULT_OUTPUT;
++#endif
+ 
+   ai->config = alNewConfig();
+ 
+   /* Test for correct completion */
+   if (ai->config == 0) {
+-    fprintf(stderr,"audio_open : %s\n",alGetErrorString(oserror()));
++    errormessage("audio_open");
+     exit(-1);
+   }
+   
+@@ -33,6 +61,8 @@
+   alSetSampFmt(ai->config,AL_SAMPFMT_TWOSCOMP);
+   alSetQueueSize(ai->config, 131069);
+ 
++#ifdef NEW_IRIX_AUDIO
++
+   /* Setup output device to specified module. If there is no module
+      specified in ai structure, use the default four output */
+   if ((ai->device) != NULL) {
+@@ -61,15 +91,16 @@
+   /* Set the device */
+   if (alSetDevice(ai->config,dev) < 0)
+     {
+-      fprintf(stderr,"audio_open : %s\n",alGetErrorString(oserror()));
++      errormessage("audio_open");
+       exit(-1);
+     }
+   
++#endif /* NEW_IRIX_AUDIO */
++
+   /* Open the audio port */
+   ai->port = alOpenPort("mpg123-VSC", "w", ai->config);
+   if(ai->port == NULL) {
+-    fprintf(stderr, "Unable to open audio channel: %s\n",
+-          alGetErrorString(oserror()));
++    errormessage("Unable to open audio channel");
+     exit(-1);
+   }
+   
+@@ -99,22 +130,30 @@
+ 
+ int audio_set_rate(struct audio_info_struct *ai)
+ {
++#ifdef NEW_IRIX_AUDIO
+   int dev = alGetDevice(ai->config);
+   ALpv params[1];
++#else
++  int dev;
++  long params[2] = {AL_OUTPUT_RATE, AL_RATE_44100};
++  params[1] = ai->rate; 
++  dev=ALsetparams(AL_DEFAULT_DEVICE, params, 2);
++#endif
+   
+   /* Make sure the device is OK */
+   if (dev < 0)
+     {
+-      fprintf(stderr,"audio_set_rate : %s\n",alGetErrorString(oserror()));
++      errormessage("audio_set_rate");
+       return 1;      
+     }
+ 
++#ifdef NEW_IRIX_AUDIO
+   params[0].param = AL_OUTPUT_RATE;
+   params[0].value.ll = alDoubleToFixed(ai->rate);
+   
+   if (alSetParams(dev, params,1) < 0)
+-    fprintf(stderr,"audio_set_rate : %s\n",alGetErrorString(oserror()));
+-  
++    errormessage("audio_set_rate");
++#endif
+   return 0;
+ }
+ 
+@@ -128,7 +167,7 @@
+     ret = alSetChannels(ai->config, AL_MONO);
+ 
+   if (ret < 0)
+-    fprintf(stderr,"audio_set_channels : %s\n",alGetErrorString(oserror()));
++    errormessage("audio_set_channels");
+   
+   return 0;
+ }
+@@ -136,10 +175,10 @@
+ int audio_set_format(struct audio_info_struct *ai)
+ {
+   if (alSetSampFmt(ai->config,AL_SAMPFMT_TWOSCOMP) < 0)
+-    fprintf(stderr,"audio_set_format : %s\n",alGetErrorString(oserror()));
++    errormessage("audio_set_format");
+   
+   if (alSetWidth(ai->config,AL_SAMPLE_16) < 0)
+-    fprintf(stderr,"audio_set_format : %s\n",alGetErrorString(oserror()));
++    errormessage("audio_set_format");
+   
+   return 0;
+ }
+@@ -153,9 +192,17 @@
+ int audio_play_samples(struct audio_info_struct *ai,unsigned char *buf,int len)
+ {
+   if(ai->format == AUDIO_FORMAT_SIGNED_8)
++#ifdef NEW_IRIX_AUDIO
+     alWriteFrames(ai->port, buf, len>>1);
++#else
++    ALwritesamps(ai->port, buf, len);
++#endif
+   else
++#ifdef NEW_IRIX_AUDIO
+     alWriteFrames(ai->port, buf, len>>2);
++#else
++    ALwritesamps(ai->port, buf, len>>1);
++#endif
+ 
+   return len;
+ }



Home | Main Index | Thread Index | Old Index