diff options
| author | Adam Weinberger <adamw@FreeBSD.org> | 2014-07-28 14:12:36 +0000 |
|---|---|---|
| committer | Adam Weinberger <adamw@FreeBSD.org> | 2014-07-28 14:12:36 +0000 |
| commit | 6df3e23245b2c3793f24e4c42dd330d59419494c (patch) | |
| tree | e86901dd11e5a970cf6211165d2b26dbe637e186 /audio/nspmod/files/patch-aa | |
| parent | lang/squeak: Claimed fix for PowerPC (diff) | |
Rename audio/ patch-xy patches to reflect the files they modify.
Notes
Notes:
svn path=/head/; revision=363157
Diffstat (limited to 'audio/nspmod/files/patch-aa')
| -rw-r--r-- | audio/nspmod/files/patch-aa | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/audio/nspmod/files/patch-aa b/audio/nspmod/files/patch-aa deleted file mode 100644 index f31c4efea135..000000000000 --- a/audio/nspmod/files/patch-aa +++ /dev/null @@ -1,176 +0,0 @@ ---- dacio-linux.c.orig Sun Sep 17 05:51:43 1995 -+++ dacio-linux.c Thu Aug 22 20:42:04 2002 -@@ -3,7 +3,11 @@ - #include <fcntl.h> /*O_WRONLY*/ - #include <sys/ioctl.h> /*(ioctl)*/ - #include <unistd.h> /*(write)*/ -+#if defined(LINUX) || defined(__FreeBSD__) - #include <sys/soundcard.h> /*SNDCTL_XXX*/ -+#else -+#include <machine/soundcard.h> -+#endif - #include <errno.h> /*EINTR*/ - #include "defs.h" /*u8,u16*/ - #include "dacio.h" /*(dacioXXX)*/ -@@ -47,7 +51,7 @@ - static struct { - union { - u8 *p8; -- u16 *p16; -+ i15 *p16; - } p; - u8 *top; - u8 *bot; -@@ -67,11 +71,39 @@ - exit(1); - } - #endif -- tmp = AFMT_U8; -+ switch (dcp->bits) { -+ case 0: -+ case 8: -+ dcp->bits = 8; -+ tmp = AFMT_U8; break; -+ case 16: -+ tmp = AFMT_S16_LE; break; -+ default: -+ fprintf(stderr, "Don't know how to handle %d bit output.\n", dcp->bits); -+ exit(1); -+ break; -+ } -+ - if (ioctl(fd, SNDCTL_DSP_SETFMT, &tmp) < 0) { - perror("dacioConf"); - exit(1); - } -+ -+ switch (tmp) { -+ case AFMT_U8: -+ if (dcp->bits != 8) { -+ fprintf(stderr, "soundcard doesn't support 8bits.\n"); -+ exit(1); -+ } -+ break; -+ case AFMT_S16_LE: -+ if (dcp->bits != 16) { -+ fprintf(stderr, "soundcard doesn't support 16bits.\n"); -+ exit(1); -+ } -+ break; -+ } -+ - /*fprintf(stderr, "fmt = 0x%x\n", tmp);*/ - - if (ioctl(fd, SNDCTL_DSP_STEREO, &dcp->stereo) < 0) { -@@ -90,10 +122,15 @@ - perror("dacioConf"); - exit(1); - } -+ /*fprintf(stderr, "sound buffer size = 0x%x\n", buf.size);*/ -+ tmp = buf.size; -+ while (tmp <= (0.1 * (dcp->speed * (dcp->stereo+1) * (dcp->bits/8)))) -+ tmp += buf.size; -+ buf.size = tmp; - /*fprintf(stderr, "buffer size = 0x%x\n", buf.size);*/ - dci = *dcp; - /*if (buf.top != NULL) free(buf.top);*/ -- buf.top = memPerm(buf.size * sizeof(u8)); -+ buf.top = memPerm(buf.size); - buf.p.p8 = buf.top; - buf.bot = buf.top + buf.size; - } -@@ -115,7 +152,14 @@ - int s; - - if (buf.p.p8 <= buf.top) return; -- for ( ; buf.p.p8 < buf.bot; buf.p.p8++) *buf.p.p8 = 128; -+ switch (dci.bits) { -+ case 8: -+ for ( ; buf.p.p8 < buf.bot; buf.p.p8++) *buf.p.p8 = 128; -+ break; -+ case 16: -+ for ( ; buf.p.p8 < buf.bot; buf.p.p16++) *buf.p.p16 = 0; -+ break; -+ } - RETRY: - s = write(fd, buf.top, buf.size); - if (s < buf.size) { -@@ -179,6 +223,8 @@ - (tmpvar & ~255)? ~tmpvar >> 16 : tmpvar ) /* 16 will be OK */ - /* ~(tmpvar >> 16) makes longer asm */ - #endif -+#define to16bit(x) \ -+ (((x) * gv) >> 12) - - /* stereo */ - static void -@@ -186,14 +232,26 @@ - { - const i31 *inbufp = inbuf.p; - u8 *u8p = buf.p.p8; -+ i15 *s15p = buf.p.p16; - -- for (; n > 0; n--) { -- i31x tmp; -- *u8p++ = to8bit(*inbufp++, tmp); /* L */ -- *u8p++ = to8bit(*inbufp++, tmp); /* R */ -+ switch (dci.bits) { -+ case 8: -+ for (; n > 0; n--) { -+ i31x tmp; -+ *u8p++ = to8bit(*inbufp++, tmp); /* L */ -+ *u8p++ = to8bit(*inbufp++, tmp); /* R */ -+ } -+ buf.p.p8 = u8p; -+ break; -+ case 16: -+ for (; n > 0; n--) { -+ *s15p++ = to16bit(*inbufp++); /* L */ -+ *s15p++ = to16bit(*inbufp++); /* R */ -+ } -+ buf.p.p16 = s15p; -+ break; - } - inbuf.p = inbufp; -- buf.p.p8 = u8p; - } - - /* mono */ -@@ -202,19 +260,31 @@ - { - const i31 *inbufp = inbuf.p; - u8 *u8p = buf.p.p8; -+ i15 *s16p = buf.p.p16; - -- for (; n > 0; n--) { -- i31x tmp; -- *u8p++ = to8bit(*inbufp, tmp); -- inbufp += 2; -+ switch (dci.bits) { -+ case 8: -+ for (; n > 0; n--) { -+ i31x tmp; -+ *u8p++ = to8bit(*inbufp, tmp); -+ inbufp += 2; -+ } -+ buf.p.p8 = u8p; -+ break; -+ case 16: -+ for (; n > 0; n--) { -+ *s16p++ = to16bit(*inbufp); -+ inbufp += 2; -+ } -+ buf.p.p16 = s16p; -+ break; - } - inbuf.p = inbufp; -- buf.p.p8 = u8p; - } - - #define dacioOutHirev(x) \ - if (dci.stereo) dacioOutHirevS(x); else dacioOutHirevM(x) --#define bufRest() (dci.stereo? (buf.bot - buf.p.p8)/2 : buf.bot - buf.p.p8) -+#define bufRest() ((dci.stereo? (buf.bot - buf.p.p8)/2 : buf.bot - buf.p.p8)/(dci.bits/8)) - - void - dacioOut(void) |
